Prev: FAQ Entry Proposal: What is (function(){ /*...*/ })() ?
Next: FAQ Topic - What is Ajax? (2010-03-01)
From: lorlarz on 28 Feb 2010 22:36 On Feb 28, 9:09 pm, lorlarz <lorl...(a)gmail.com> wrote: > On Feb 28, 4:03 pm, David Mark <dmark.cins...(a)gmail.com> wrote:> lorlarz wrote: > > > Results of jQuery new production version and last production version > > > on JSLint > > > (http://www.jslint.com/) > > [snip] > > > > > Don't bother running the minified versions through. That won't be > > productive. Use the full versions. > > I commented out a couple of regular expression things JSLint could not > stand and > made what I saw as about a half dozen corrections AND was able to run > all the > non-minimized _WITH_ COMMENTS REMOVED jQuery 1.4.2 through JSLint and > get > a full report. Looks quite benigh (though there were the half dozen > errors and > a couple or regular expressions commented out). Here is the report > AFTER those > changes: Most, _though NOT all_ of the report, look benign AFTER all > that: > > Error: > Problem at line 1 character 20: Expected an identifier and instead saw > 'undefined' (a reserved word). > > (function( window, undefined ) { > > Problem at line 13 character 48: Unescaped '-'. > > quickExpr = /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/, > > Problem at line 33 character 20: 'hasOwnProperty' is a really bad > name. > > hasOwnProperty = Object.prototype.hasOwnProperty, > > Problem at line 145 character 20: Use '===' to compare with 'null'. > > return num == null ? > > Problem at line 261 character 41: Use '!==' to compare with 'null'. > > if ( (options = arguments[ i ]) != null ) { > > Problem at line 356 character 48: Use '===' to compare with 'null'. > > toplevel = window.frameElement == null; > > Problem at line 488 character 20: Use '!==' to compare with 'null'. > > if ( array != null ) { > > Problem at line 489 character 31: Use '===' to compare with 'null'. > > if ( array.length == null || typeof array === "string" || > jQuery.isFunctio... > > Problem at line 536 character 18: Confusing use of '!'. > > if ( !inv !== !callback( elems[ i ], i ) ) { > > Problem at line 536 character 18: Confusing use of '!'. > > if ( !inv !== !callback( elems[ i ], i ) ) { > > Problem at line 550 character 24: Use '!==' to compare with 'null'. > > if ( value != null ) { > > Problem at line 593 character 4: Mixed spaces and tabs. > > []; > > Problem at line 689 character 21: Missing '()' invoking a constructor. > > return (new Date).getTime(); > > Problem at line 753 character 13: 'e' is already defined. > > } catch(e) { > > Problem at line 1270 character 28: Expected an assignment or function > call and instead saw an expression. > > parent.selectedIndex; > > Problem at line 1273 character 43: Expected an assignment or function > call and instead saw an expression. > > parent.parentNode.selectedIndex; > > Problem at line 1362 character 55: 'eventHandle' is already defined. > > eventHandle = elemData.handle, eventHandle; > > Problem at line 1471 character 106: Missing semicolon. > > jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\ > \.)?")... > > Problem at line 1495 character 25: 'j' is already defined. > > for ( var j = pos || 0; j < eventType.length; j++ ) { > > Problem at line 1500 character 34: Use '===' to compare with 'null'.. > > if ( pos == null ) { > > Problem at line 1509 character 30: Use '!==' to compare with 'null'. > > if ( pos != null ) { > > Problem at line 1515 character 48: Use '!==' to compare with 'null'. > > if ( eventType.length === 0 || pos != null && eventType.length === 1 ) > { > > Problem at line 1619 character 26: 'e' is already defined. > > } catch (e) {} > > Problem at line 1633 character 30: Bad assignment. > > event = arguments[0] = jQuery.event.fix( event || window.event ); > > Problem at line 1644 character 20: 'events' is already defined. > > var events = jQuery.data(this, "events"), handlers = > events[ event.type ]; > > Problem at line 1644 character 60: 'handlers' is already defined. > > var events = jQuery.data(this, "events"), handlers = > events[ event.type ]; > > Problem at line 1704 character 26: Use '===' to compare with 'null'.. > > if ( event.pageX == null && event.clientX != null ) { > > Problem at line 1704 character 51: Use '!==' to compare with 'null'. > > if ( event.pageX == null && event.clientX != null ) { > > Problem at line 1955 character 19: Use '!==' to compare with 'null'. > > if ( data != null || val ) { > > Problem at line 2154 character 39: Use '!==' to compare with 'null'. > > while ( (type = types[ i++ ]) != null ) { > > Problem at line 2182 character 18: Don't make functions within a loop. > > }); > > Problem at line 2190 character 6: Missing semicolon. > > } > > Problem at line 2283 character 56: Unescaped '['. > > var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"] > [^'"]*['"]... > > Problem at line 2283 character 81: Unescaped '['. > > var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"] > [^'"]*['"]... > > Problem at line 2347 character 21: 'ret' is already defined. > > var ret = seed ? > > Problem at line 2367 character 26: Use '===' to compare with 'null'.. > > if ( pop == null ) { > > Problem at line 2383 character 23: 'cur' used out of scope. > > Sizzle.error( cur || selector ); > > Problem at line 2390 character 42: Use '!==' to compare with 'null'. > > for ( var i = 0; checkSet[i] != null; i++ ) { > > Problem at line 2396 character 25: 'i' is already defined. > > for ( var i = 0; checkSet[i] != null; i++ ) { > > Problem at line 2396 character 42: Use '!==' to compare with 'null'. > > for ( var i = 0; checkSet[i] != null; i++ ) { > > Problem at line 2443 character 40: 'match' is already defined. > > var type = Expr.order[i], match; > > Problem at line 2452 character 26: Use '!==' to compare with 'null'. > > if ( set != null ) { > > Problem at line 2473 character 64: Use '!==' to compare with 'null'. > > if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && > match[2] ) { > > Problem at line 2498 character 58: Use '!==' to compare with 'null'. > > for ( var i = 0; (item = curLoop[i]) != null; i++ ) { > > Problem at line 2503 character 51: Use '!==' to compare with 'null'. > > if ( inplace && found != null ) { > > Problem at line 2534 character 27: Use '===' to compare with 'null'.. > > if ( anyFound == null ) { > > Problem at line 2554 character 35: Unescaped '-'. > > ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/, > > Problem at line 2555 character 39: Unescaped '-'. > > CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/, > > Problem at line 2556 character 48: Unescaped '-'. > > NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/, > > Problem at line 2557 character 41: Unescaped '-'. > > ATTR: /\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?) > \3|)\s*... > > Problem at line 2558 character 38: Unescaped '-'. > > TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/, > > Problem at line 2559 character 65: Unescaped '-'. > > CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/, > > Problem at line 2560 character 69: Unescaped '-'. > > POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/, > > Problem at line 2561 character 39: Unescaped '-'. > > PSEUDO: /:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\ > (\)]*)... > > Problem at line 2611 character 29: 'i' is already defined. > > for ( var i = 0, l = checkSet.length; i < l; i++ ) { > > Problem at line 2611 character 36: 'l' is already defined. > > for ( var i = 0, l = checkSet.length; i < l; i++ ) { > > Problem at line 2612 character 30: 'elem' is already defined. > > var elem = checkSet[i]; > > Problem at line 2633 character 61: 'nodeCheck' used out of scope. > > checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML); > > Problem at line 2643 character 66: 'nodeCheck' used out of scope. > > checkFn("previousSibling", part, doneName, checkSet, nodeCheck, > isXML); > > Problem at line 2678 character 56: Use '!==' to compare with 'null'. > > for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { > > Problem at line 2758 character 29: Expected an assignment or function > call and instead saw an expression. > > elem.parentNode.selectedIndex; > > Problem at line 2771 character 20: Wrap the /regexp/ literal in parens > to disambiguate the slash operator. > > return /h\d/i.test( elem.nodeName ); > > Problem at line 2801 character 20: Wrap the /regexp/ literal in parens > to disambiguate the slash operator. > > return /input|select|textarea|button/i.test(elem.nodeName); > > Problem at line 2841 character 29: 'i' is already defined. > > for ( var i = 0, l = not.length; i < l; i++ ) { > > Problem at line 2865 character 32: Expected a 'break' statement before > 'case'. > > node = elem; > > Problem at line 2915 character 34: Use '!==' to compare with 'null'. > > elem[ name ] != null ? > > Problem at line 2922 character 27: Use '===' to compare with 'null'.. > > return result == null ? > > Problem at line 2958 character 6: Don't make functions within a loop. > > })); > > Problem at line 2973 character 77: Expected an assignment or function > call and instead saw an expression. > > Array.prototype.slice.call( document.documentElement.childNodes, 0 ) > [0].node... > > Problem at line 2987 character 29: 'i' is already defined. > > for ( var i = 0; array[i]; i++ ) { > > Problem at line 3070 character 34: Missing '()' invoking a > constructor. > > id = "script" + (new Date).getTime(); > > Problem at line 3298 character 11: 'slice' is already defined. > > slice = Array.prototype.slice; > > Problem at line 3303 character 20: Confusing use of '!'. > > return !!qualifier.call( elem, i, elem ) === keep; > > Problem at line 3706 character 49: Use '!==' to compare with 'null'. > > for ( var i = 0, elem; (elem = this[i]) != null; i++ ) { > > Problem at line 3723 character 49: Use '!==' to compare with 'null'. > > for ( var i = 0, elem; (elem = this[i]) != null; i++ ) { > > Problem at line 3891 character 22: 'root' was used before it was > defined. > > function root( elem, cur ) { > > Problem at line 3990 character 50: Use '!==' to compare with 'null'. > > for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { > > Problem at line 4049 character 25: 'i' is already defined. > > for ( var i = 0; ret[i]; i++ ) { > > Problem at line 4070 character 50: Use '!==' to compare with 'null'. > > for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { > > Problem at line 4175 character 13: Function statements cannot be > placed in blocks. Use a function expression or move the statement to > the top of the outer function. > > function getWH() { > > Problem at line 4281 character 24: 'name' is already defined. > > for ( var name in options ) { > > Problem at line 4385 character 24: Use > > read more »... This summarizes (I believe completely) what I commented out or fixed to make JSLint make it all the way through: The following refers to the development version of 1.4.2 which you can download from http://jquery.com : 2649 changed to: var origContext = context || document; // = contents before = contents removed lines 2663 to 2673 commented out 2985 changed to: var nodeCheck = part.toLowerCase(); // = part before = part removed 2995 changed to: var nodeCheck = part.toLowerCase(); // = part before = part removed 3317 changed to Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]* \))/.source) ); // parentheses added on expression after + sign 4167 commented out 4775 commented out 5994 prevOffsetParent = offsetParent; offsetParent = elem.offsetParent; // (comma that was in middle changed to semi-colon) 6035 checkDiv.style.position = "fixed"; checkDiv.style.top = "20px"; // (comma that was in middle changed to semi-colon) 6040 innerDiv.style.overflow = "hidden"; innerDiv.style.position = "relative"; // (comma that was in middle changed to semi-colon)
From: lorlarz on 28 Feb 2010 22:54 On Feb 28, 8:49 pm, "rf" <r...(a)z.invalid> wrote: > "lorlarz" <lorl...(a)gmail.com> wrote in message > > news:20592e13-21c3-4e14-86e4-fb9b3a2c51df(a)z11g2000yqz.googlegroups.com... > On Feb 28, 4:03 pm, David Mark <dmark.cins...(a)gmail.com> wrote: > > > lorlarz wrote: > > I have noticed a trend to. It's not certain but many JS programmers > > seem to > > be meaner than junk yard dog, whether they/it know their/its butt from > > a hole > > in the ground or not. > > Good luck getting your next question answered. I thought the insulting was all in fun. Mark did it. You mean I can't give it back? Did you moice I used the wrong "too" ("to" instead of "too"). I also left the 's' off of dogs. Gee, I must be *** one dumb sob *** . I apologize if I hurt anyone's feelings. I shall try to just except insults without giving any retort (<- good word, check your dictionaries). But, I am a very nice guy compared to the way I often get treated here. So, please forgive any small infraction. I hope people will evaluate what I have found in my last couple of posts. I do very much value all your inputs. They are almost always helpful -- even when some meaness is thrown in. David Mark did help me. Thanks, David
From: lorlarz on 28 Feb 2010 22:56 On Feb 28, 10:52 am, lorlarz <lorl...(a)gmail.com> wrote: > Results of jQuery new production version and last production version > on JSLint > (http://www.jslint.com/) > > 1.4.2 ,new jQuery production version (compared to the last 'production > version', 1.3.2). > The new one seems to have about > 20% more errors _and_, more importantly, seems (to me) to have more > serious errors. > > **I need more opinions.** > > I have a zip on my web site containing: > > jQuery 1.4.2 all on one line, comments left out > jQuery 1.3.2 all on one line, comments left out > The JSLint report on each (clearly labeled). > > This zip is at:http://mynichecomputing.org/JSLintCompare.zip. > Download it an unzip and > take a look. [snip] I have removed that zip file, since the information in the posts below is much better. You no longer need to see that zip.
From: David Mark on 28 Feb 2010 23:45 lorlarz wrote: > On Feb 28, 8:49 pm, "rf" <r...(a)z.invalid> wrote: >> "lorlarz" <lorl...(a)gmail.com> wrote in message >> >> news:20592e13-21c3-4e14-86e4-fb9b3a2c51df(a)z11g2000yqz.googlegroups.com... >> On Feb 28, 4:03 pm, David Mark <dmark.cins...(a)gmail.com> wrote: >> >>> lorlarz wrote: >>> I have noticed a trend to. It's not certain but many JS programmers >>> seem to >>> be meaner than junk yard dog, whether they/it know their/its butt from >>> a hole >>> in the ground or not. >> Good luck getting your next question answered. > > I thought the insulting was all in fun. Mark did it. > You mean I can't give it back? But I wasn't insulting _you_. I referred to a Resig quote. And I am just plain tired of the dumbing down of programming in general. Seems like every time I read a "critique" of my stuff, it is filled with misspelled words, odd slang, irrational conclusions and plenty of juvenile insults to boot. Why aren't these people digging ditches? > Did you moice I used the wrong "too" ("to" instead of "too"). I also > left the 's' off of dogs. Gee, I must be *** one dumb sob *** . You said it, not me. :) > > I apologize if I hurt anyone's feelings. I shall try to just except > insults without giving any retort (<- good word, check your > dictionaries). I think most people here will recognize that word. > > But, I am a very nice guy compared to the way I often get treated > here. Again, I didn't say anything about you. In fact, I applaud you for applying JSLint to jQuery and even questioning the validity of the results. That shows that you are thinking, which is more than I can say for the typical jQuery user (if in fact that is what you are). > So, please forgive any small infraction. Say what you want. It won't bother me. But as RF pointed out, it may make me less likely to help you in the future. > > I hope people will evaluate what I have found in my last couple of > posts. Yes, I saw those. I'll look at them when I have a chance. But basically it indicates what I expected (even after all of these years, the code is still hopelessly amateurish). And I'm not at all surprised that Resig is quick to dismiss the results. That's what he does. That's all he does. And he absolutely will not stop until his project is dead. :) > I do very much value all your inputs. They are almost always helpful > -- > even when some meaness is thrown in. David Mark did help me. > Thanks, David NP. Thanks for asking. It is good to question jQuery. If more people would take the time to do that, perhaps it would fade away. Take bad logic and bad style and authors who clearly won't consider anything but their own delusions and you've got a clear candidate for history's bit bucket.
From: lorlarz on 1 Mar 2010 01:00
On Feb 28, 9:09 pm, lorlarz <lorl...(a)gmail.com> wrote: > On Feb 28, 4:03 pm, David Mark <dmark.cins...(a)gmail.com> wrote:> lorlarz wrote: > > > Results of jQuery new production version and last production version > > > on JSLint > > > (http://www.jslint.com/) > > [snip] > > > > > Don't bother running the minified versions through. That won't be > > productive. Use the full versions. > > I commented out a couple of regular expression things JSLint could not > stand and > made what I saw as about a half dozen corrections AND was able to run > all the > non-minimized _WITH_ COMMENTS REMOVED jQuery 1.4.2 through JSLint and > get > a full report. Looks quite benigh (though there were the half dozen > errors and > a couple or regular expressions commented out). Here is the report > AFTER those > changes: Most, _though NOT all_ of the report, look benign AFTER all > that: > > Error: > Problem at line 1 character 20: Expected an identifier and instead saw > 'undefined' (a reserved word). > > (function( window, undefined ) { > > Problem at line 13 character 48: Unescaped '-'. > > quickExpr = /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/, > > Problem at line 33 character 20: 'hasOwnProperty' is a really bad > name. > > hasOwnProperty = Object.prototype.hasOwnProperty, > > Problem at line 145 character 20: Use '===' to compare with 'null'. > > return num == null ? > > Problem at line 261 character 41: Use '!==' to compare with 'null'. > > if ( (options = arguments[ i ]) != null ) { > > Problem at line 356 character 48: Use '===' to compare with 'null'. > > toplevel = window.frameElement == null; > > Problem at line 488 character 20: Use '!==' to compare with 'null'. > > if ( array != null ) { > > Problem at line 489 character 31: Use '===' to compare with 'null'. > > if ( array.length == null || typeof array === "string" || > jQuery.isFunctio... > > Problem at line 536 character 18: Confusing use of '!'. > > if ( !inv !== !callback( elems[ i ], i ) ) { > > Problem at line 536 character 18: Confusing use of '!'. > > if ( !inv !== !callback( elems[ i ], i ) ) { > > Problem at line 550 character 24: Use '!==' to compare with 'null'. > > if ( value != null ) { > > Problem at line 593 character 4: Mixed spaces and tabs. > > []; > > Problem at line 689 character 21: Missing '()' invoking a constructor. > > return (new Date).getTime(); > > Problem at line 753 character 13: 'e' is already defined. > > } catch(e) { > > Problem at line 1270 character 28: Expected an assignment or function > call and instead saw an expression. > > parent.selectedIndex; > > Problem at line 1273 character 43: Expected an assignment or function > call and instead saw an expression. > > parent.parentNode.selectedIndex; > > Problem at line 1362 character 55: 'eventHandle' is already defined. > > eventHandle = elemData.handle, eventHandle; > > Problem at line 1471 character 106: Missing semicolon. > > jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\ > \.)?")... > > Problem at line 1495 character 25: 'j' is already defined. > > for ( var j = pos || 0; j < eventType.length; j++ ) { > > Problem at line 1500 character 34: Use '===' to compare with 'null'.. > > if ( pos == null ) { > > Problem at line 1509 character 30: Use '!==' to compare with 'null'. > > if ( pos != null ) { > > Problem at line 1515 character 48: Use '!==' to compare with 'null'. > > if ( eventType.length === 0 || pos != null && eventType.length === 1 ) > { > > Problem at line 1619 character 26: 'e' is already defined. > > } catch (e) {} > > Problem at line 1633 character 30: Bad assignment. > > event = arguments[0] = jQuery.event.fix( event || window.event ); > > Problem at line 1644 character 20: 'events' is already defined. > > var events = jQuery.data(this, "events"), handlers = > events[ event.type ]; > > Problem at line 1644 character 60: 'handlers' is already defined. > > var events = jQuery.data(this, "events"), handlers = > events[ event.type ]; > > Problem at line 1704 character 26: Use '===' to compare with 'null'.. > > if ( event.pageX == null && event.clientX != null ) { > > Problem at line 1704 character 51: Use '!==' to compare with 'null'. > > if ( event.pageX == null && event.clientX != null ) { > > Problem at line 1955 character 19: Use '!==' to compare with 'null'. > > if ( data != null || val ) { > > Problem at line 2154 character 39: Use '!==' to compare with 'null'. > > while ( (type = types[ i++ ]) != null ) { > > Problem at line 2182 character 18: Don't make functions within a loop. > > }); > > Problem at line 2190 character 6: Missing semicolon. > > } > > Problem at line 2283 character 56: Unescaped '['. > > var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"] > [^'"]*['"]... > > Problem at line 2283 character 81: Unescaped '['. > > var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"] > [^'"]*['"]... > > Problem at line 2347 character 21: 'ret' is already defined. > > var ret = seed ? > > Problem at line 2367 character 26: Use '===' to compare with 'null'.. > > if ( pop == null ) { > > Problem at line 2383 character 23: 'cur' used out of scope. > > Sizzle.error( cur || selector ); > > Problem at line 2390 character 42: Use '!==' to compare with 'null'. > > for ( var i = 0; checkSet[i] != null; i++ ) { > > Problem at line 2396 character 25: 'i' is already defined. > > for ( var i = 0; checkSet[i] != null; i++ ) { > > Problem at line 2396 character 42: Use '!==' to compare with 'null'. > > for ( var i = 0; checkSet[i] != null; i++ ) { > > Problem at line 2443 character 40: 'match' is already defined. > > var type = Expr.order[i], match; > > Problem at line 2452 character 26: Use '!==' to compare with 'null'. > > if ( set != null ) { > > Problem at line 2473 character 64: Use '!==' to compare with 'null'. > > if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && > match[2] ) { > > Problem at line 2498 character 58: Use '!==' to compare with 'null'. > > for ( var i = 0; (item = curLoop[i]) != null; i++ ) { > > Problem at line 2503 character 51: Use '!==' to compare with 'null'. > > if ( inplace && found != null ) { > > Problem at line 2534 character 27: Use '===' to compare with 'null'.. > > if ( anyFound == null ) { > > Problem at line 2554 character 35: Unescaped '-'. > > ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/, > > Problem at line 2555 character 39: Unescaped '-'. > > CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/, > > Problem at line 2556 character 48: Unescaped '-'. > > NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/, > > Problem at line 2557 character 41: Unescaped '-'. > > ATTR: /\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?) > \3|)\s*... > > Problem at line 2558 character 38: Unescaped '-'. > > TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/, > > Problem at line 2559 character 65: Unescaped '-'. > > CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/, > > Problem at line 2560 character 69: Unescaped '-'. > > POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/, > > Problem at line 2561 character 39: Unescaped '-'. > > PSEUDO: /:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\ > (\)]*)... > > Problem at line 2611 character 29: 'i' is already defined. > > for ( var i = 0, l = checkSet.length; i < l; i++ ) { > > Problem at line 2611 character 36: 'l' is already defined. > > for ( var i = 0, l = checkSet.length; i < l; i++ ) { > > Problem at line 2612 character 30: 'elem' is already defined. > > var elem = checkSet[i]; > > Problem at line 2633 character 61: 'nodeCheck' used out of scope. > > checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML); > > Problem at line 2643 character 66: 'nodeCheck' used out of scope. > > checkFn("previousSibling", part, doneName, checkSet, nodeCheck, > isXML); > > Problem at line 2678 character 56: Use '!==' to compare with 'null'. > > for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { > > Problem at line 2758 character 29: Expected an assignment or function > call and instead saw an expression. > > elem.parentNode.selectedIndex; > > Problem at line 2771 character 20: Wrap the /regexp/ literal in parens > to disambiguate the slash operator. > > return /h\d/i.test( elem.nodeName ); > > Problem at line 2801 character 20: Wrap the /regexp/ literal in parens > to disambiguate the slash operator. > > return /input|select|textarea|button/i.test(elem.nodeName); > > Problem at line 2841 character 29: 'i' is already defined. > > for ( var i = 0, l = not.length; i < l; i++ ) { > > Problem at line 2865 character 32: Expected a 'break' statement before > 'case'. > > node = elem; > > Problem at line 2915 character 34: Use '!==' to compare with 'null'. > > elem[ name ] != null ? > > Problem at line 2922 character 27: Use '===' to compare with 'null'.. > > return result == null ? > > Problem at line 2958 character 6: Don't make functions within a loop. > > })); > > Problem at line 2973 character 77: Expected an assignment or function > call and instead saw an expression. > > Array.prototype.slice.call( document.documentElement.childNodes, 0 ) > [0].node... > > Problem at line 2987 character 29: 'i' is already defined. > > for ( var i = 0; array[i]; i++ ) { > > Problem at line 3070 character 34: Missing '()' invoking a > constructor. > > id = "script" + (new Date).getTime(); > > Problem at line 3298 character 11: 'slice' is already defined. > > slice = Array.prototype.slice; > > Problem at line 3303 character 20: Confusing use of '!'. > > return !!qualifier.call( elem, i, elem ) === keep; > > Problem at line 3706 character 49: Use '!==' to compare with 'null'. > > for ( var i = 0, elem; (elem = this[i]) != null; i++ ) { > > Problem at line 3723 character 49: Use '!==' to compare with 'null'. > > for ( var i = 0, elem; (elem = this[i]) != null; i++ ) { > > Problem at line 3891 character 22: 'root' was used before it was > defined. > > function root( elem, cur ) { > > Problem at line 3990 character 50: Use '!==' to compare with 'null'. > > for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { > > Problem at line 4049 character 25: 'i' is already defined. > > for ( var i = 0; ret[i]; i++ ) { > > Problem at line 4070 character 50: Use '!==' to compare with 'null'. > > for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { > > Problem at line 4175 character 13: Function statements cannot be > placed in blocks. Use a function expression or move the statement to > the top of the outer function. > > function getWH() { > > Problem at line 4281 character 24: 'name' is already defined. > > for ( var name in options ) { > > Problem at line 4385 character 24: Use > > read more »... |