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

2203Re: Possible bug in reporting 'Bad for in variable'

Expand Messages
  • Douglas Crockford
    May 10, 2011
      --- In jslint_com@yahoogroups.com, "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).


      Thank you. That was very helpful. Please try it now.
    • Show all 8 messages in this topic