Loading ...
Sorry, an error occurred while loading the content.

2201Re: [jslint] Possible bug in reporting 'Bad for in variable'

Expand Messages
  • Jerry
    May 10, 2011
    • 0 Attachment
      --- In jslint_com@yahoogroups.com, Erik Eckhardt <erik@...> wrote:
      >
      > Jerry,
      >
      > I don't have any thoughts on jslint's handling, but I did have a question
      > about your code (which I realize is probably hacked down so my comment may
      > be useless).
      >
      > Is there really a need to use prop in a closure in the saveBasicData
      > function? It seems better to me to make the function take two parameters
      > instead of using the outer-scope-level prop variable.
      >
      > Erik
      >
      > On Tue, May 10, 2011 at 9:17 AM, Jerry <jluke@...> wrote:
      >
      > >
      > >
      > > I saw this posted in a previous message, but the thread ended because the
      > > provided code sample did not reproduce the bug. I was able to produce the
      > > following code sample that reproduces the 'Bad for in variable' problem:
      > > =======================================================
      > > function badForInVar() {
      > > var basicData = { 'Status' : 'NORMAL' , 'Priority' : 'High' },
      > > prop;
      > >
      > > function saveBasicData(value){
      > > var lookup = {};
      > > lookup.displayName = value;
      > > lookup.type = prop;
      > > }
      > > for (prop in basicData) {
      > > if (basicData.hasOwnProperty(prop)) {
      > > saveBasicData(basicData[prop]);
      > > }
      > > }
      > > }
      > > =======================================================
      > > I believe the saveBasicData function declaration between the var
      > > declaration of 'prop' and its usage in the for/in loop is contributing to
      > > JSLint reporting the 'Bad for in variable' error. If I move the
      > > saveBasicData function to follow the for/in loop, I no longer get the error
      > > (but instead get the message: 'saveBasicData' was used before it was
      > > defined).
      > >
      > > I would very much appreciate any help in confirming whether or not this is
      > > a bug in JSLint, I am missing the underlying cause of the error, or a
      > > workaround to appease JSLint.
      > >
      > >
      > >
      >
      >
      > [Non-text portions of this message have been removed]
      >
      Sorry I forgot to mention that the code had been greatly hacked down. I was trying to get the minimal amount of code that would reproduce what I suspect is a problem with jslint reporting the 'Bad for in variable' error. Obviously, the remaining code does not actually do much of anything.
    • Show all 8 messages in this topic