为什么现代化器不使用var作为ret变量

时间:2011-10-06 13:51:26

标签: javascript modernizr

我正在研究现代化器库的源代码,我想知道他们为什么不在第二行代码中使用关键字var作为变量ret?他们在声明时使用它变量version就在它的正上方,而不是ret。任何人都可以解释为什么他们不会使用关键字var

3 个答案:

答案 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”声明。

更多信息:http://www.w3schools.com/js/js_variables.asp