我看JQuery的微小的Pub/Sub,這看起來是這樣的:o.bind.apply(arguments);
(function($){
var o = $({});
$.subscribe = function() {
o.bind.apply(o, arguments);
};
...
})(jQuery);
我不明白的是,因爲代碼是調用o.bind,在「本」裏面是綁定無論如何,因此沒有理由使用申請。
換句話說,
o.bind(arguments)
和
o.bind.apply(o, arguments)
這裏應該是相同的應該不是嗎?爲什麼o.bind.apply(o,arguements)?
'o'不是一個函數,所以它沒有'.apply()'方法。如果你正在考慮ECMAScript'.bind()',那麼就像'.apply()'一樣接受一個調用上下文參數,但是像'.call()'這樣的單個參數。 – 2012-07-05 02:01:18