2011-05-11 72 views
1

为什么我会在这里放置括号括号true ......这不是一个数组?它做别的事吗?这个JS语法做什么?

$e.trigger("onlyShowIfChange", [true]); 

回答

4

.trigger(EVENTTYPE,extraParameters)

EVENTTYPE:包含一个 JavaScript事件类型字符串,如点击 或提交。

extraParameters: 其他参数传递给 事件处理程序。

第二个参数必须是一个数组

$e.trigger("onlyShowIfChange", [true, false]); 

$e.bind("onlyShowIfChange", function(ev, trueBool, falseBool) { 
    ... 
}); 

这意味着,如果你想额外的参数传递给你有一组参数来传递你的事件绑定功能触发作为第二个参数。

5

是,这使得与一个元件— true数组。

它什么也没有做。

有时,方法调用可能需要一个数组,如果您还没有数组,则可以使用[]方便地包装您的参数。

常见情况是Function.apply method。第二个参数是必要参数

var func = function(a, b) { 
    return a + b; 
}; 

func.apply(null, [1, 3]); // returns 4 
1

它使一个阵列true作为其唯一的价值,但也许你已经发现了这个语法的一些文件和在这种情况下意味着true是可选的。