2011-10-11 83 views
0

所有这一切都是一种表达。到底什么会被放到div里面呢?当你有一堆逗号分隔的表达式时,它叫什么?在jquery源码中找到了它,它是如何工作的?

var div = document.createElement("div"), 
    documentElement = document.documentElement, 
    all, 
    a, 
    select, 
    opt, 
    input, 
    tds, 
    events, 
    eventName, 
    i, 
    isSupported; 

回答

3

它只是一个函数范围内的一堆变量的声明。前两个变量也用它们的声明进行初始化。您可以通过使用逗号分隔每个逗号来一次声明/初始化多个变量,就像在这里完成的那样。

在其他用途​​中,逗号字符是javascript中的一个运算符。从MDN逗号运算符评估它的两个操作数(从左到右)并返回第二个操作数的值。

变量div在这里被初始化为空的div标签。它之前没有任何内容,直到后来的代码使用它。在jQuery之后的代码中,将一些内容放入该div中,然后对其执行一系列测试操作以执行功能测试,并查看当前浏览器支持哪些功能。

1

它被称为一系列变量声明。这就像写作:

var div = document.createElement("div"); 
var documentElement = document.documentElement; 
var all; 
var ... 

所以他们是不相关的,其他变量与div无关。

1

到底div究竟放在哪里?

返回值为document.createElement("div")

当你有一堆逗号分隔的表达式时,它叫什么?

逗号只是一个operator。它返回右边,但它的优先级低于=,并注意到左边的值可以捕获该值。

这仅仅是避免了打字var的一种方式,而过,并在...

2

先回答:

var div = document.createElement("div"), 
    documentElement = document.documentElement, 
    all, 
    a, 
    select, 
    opt, 
    input, 
    tds, 
    events, 
    eventName, 
    i, 
    isSupported; 

是一样的:

var div = document.createElement("div"); 
var documentElement = document.documentElement; 
var all; 
var a; 
var select; 
var opt; 
var input; 
var tds; 
var events; 
var eventName; 
var i; 
var isSupported; 
2

这是只是一些变量的定义。在JavaScript中,您可以定义和/或初始化变量,而无需像这样为每个变量写入var-语句。

var x=0, y=1, array=[], var1, var2; 

所以这基本上就是这里发生的事情。

相关问题