为什么在javascript函数调用中使用方括号?jQuery的

Tos*_*kan 4 javascript syntax jquery widget

来自: andrew whittakers示例,显示自定义jquery自动完成实现中的结果编号

 _response: function(contents){
        $.ui.autocomplete.prototype._response.apply(this, arguments);
        $(this.element).trigger("autocompletesearchcomplete", [contents]);
    }
Run Code Online (Sandbox Code Playgroud)

为什么[contents]contents呢?

And*_*ong 5

这是一个从一个要求jQuerytrigger功能,所述第二参数是一个数组(之前1.6.2),从而所述包装,使之数组.从触发器文档(由我强调):

$('#foo').bind('custom', function(event, param1, param2) {
  alert(param1 + "\n" + param2);
});
$('#foo').trigger('custom', ['Custom', 'Event']);
Run Code Online (Sandbox Code Playgroud)

事件对象始终作为第一个参数传递给事件处理程序,但如果在.trigger()调用期间指定了其他参数,则这些参数也将传递给处理程序.要传递多个参数,请使用此处所示的数组.从jQuery 1.6.2开始,可以在不使用数组的情况下传递单个参数.

因此,从1.6.2开始,实际上没有必要将单个参数包装在数组中.