Javascript函数构造

时间:2011-03-12 06:48:40

标签: javascript syntax

这个构造意味着什么?

var digits = [1, 2, 3];

(function fetchData(name){
 //body
})(digits.shift());

3 个答案:

答案 0 :(得分:2)

哪个构造?

我可以解释发生了什么,如果这会有所帮助:

(按执行顺序)

  1. 创建数组并为其指定名称“digits”
  2. “数字”的第一个元素从数组中删除 - 因此数组的长度减少
  3. 被删除的值作为参数传递给函数fetchData()作为变量“name”

答案 1 :(得分:2)

该语法用于防止标识符泄漏到包含的命名空间中。

在该代码之后,如果您尝试调用fetchData(name),您会发现fetchData未定义,这要归功于()包装器。

答案 2 :(得分:1)

声明一个函数并调用它。

单击此http://jsfiddle.net/TC8K6/,您将看到传递给该函数的参数的警报。