有时我看到人们使用它来调用小部件中的函数
this.myFunction.apply(this, arguments);
而不是这个:
this.myFunction();
somefunction.apply(thisobj, argsarray)
上面调用了函数 somefunction,在函数范围内将 this 设置为 thisobj,并将 argsarray 中的参数作为参数传递给函数。
但是考虑到下面的情况,直接调用函数还是使用.apply()会不会一样?我已经看到一些教程更喜欢 .apply() 方法,包括 jQuery 站点本身。http://jqueryui.com/demos/widget/
这是一个小部件“标准”还是我还缺少其他东西?
_create: function() {
var that = this;
this.myButton = $( "<button>", {
text: "My Button"
})
.appendTo( this.element )
.bind("click", function() {
// _bind would handle this check
if (that.options.disabled) {
return;
}
that.displayMessage.apply(that, arguments);
// Why not just call the following?
// that.displayMessage();
});
},
displayMessage: function() {
alert("Hey!");
}