我正在研究现代化器库的源代码,我想知道他们为什么不在第二行代码中使用关键字var
作为变量ret
?他们在声明时使用它变量version
就在它的正上方,而不是ret
。任何人都可以解释为什么他们不会使用关键字var
?
答案 0 :(得分:4)
他们执行使用var
关键字。他们只使用一次,让它适用于他们在程序开始时定义的所有变量(这是JS编程的常见模式)。
var version = '2.0.6', // This is a comma, not a semi-colon.
Modernizr = {},
...而且呐喊,虽然这是第二行代码,但它不是你所说的那一行。但原则是一样的。
答案 1 :(得分:0)
ret
定义为var
声明顶部的injectElementWithStyles()
:
// Inject element with style element and some CSS rules
injectElementWithStyles = function( rule, callback, nodes, testnames ) {
var style, ret, node,
div = document.createElement('div');
// ...
// ...
// ...
return !!ret;
}
答案 2 :(得分:-1)
我没有分析整个脚本,但一般情况下,如果希望变量具有全局范围,则跳过“var”声明。