[英]apply() function invoked on Function.prototype.bind in javascript?
[英]Function.prototype.apply.bind usages?
我非常清楚以下用法 :
Function.prototype.bind.apply(f,arguments)
說明-使用原始(如果存在)
bind
的方法在f
用arguments
(其它的第一項將被用作上下文this
)
此代碼可用於(例如)通過帶參數的構造函數創建新函數
示例:
function newCall(Cls) {
return new (Function.prototype.bind.apply(Cls, arguments));
}
執行:
var s = newCall(Something, a, b, c);
但我遇到了這個: Function.prototype.apply.bind(f,arguments)
//單詞交換
題 :
因為很難理解它的含義 - 在什么用法/場景中我會使用這個代碼?
這用於修復.apply
的第一個參數。
例如,當您從數組中獲取最大值時,您可以:
var max_value = Math.max.apply(null, [1,2,3]);
但是你想把第一個參數固定為null
,所以你可以通過以下方式創建一個新函數:
var max = Function.prototype.apply.bind(Math.max, null);
然后你可以這樣做:
var max_value = max([1,2,3]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.