这个JS语法有什么作用?

时间:2011-05-11 15:38:34

标签: javascript jquery arrays

为什么我会在true这里放置括号....这不是一个数组吗?它会做些什么吗?

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

3 个答案:

答案 0 :(得分:5)

是的,这会产生一个包含一个元素的数组 - true

它没有做任何其他事情。

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

常见的情况是Function.apply method。第二个参数是 argArray

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

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

答案 1 :(得分:4)

  

.trigger(eventType,extraParameters)

     

eventType:包含a的字符串   JavaScript事件类型,例如单击   或提交。

     

extraParameters:一个数组   要传递的其他参数   事件处理程序。

第二个参数必须是数组

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

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

这意味着如果要将额外参数传递给事件绑定函数,则必须传入一个参数数组作为第二个参数触发。

答案 2 :(得分:1)

它创建一个以true为唯一值的数组,但可能您在某些文档中找到了这种语法,在这种情况下意味着true是可选的。

相关问题