bind apply call之間的差異

2021-07-17 05:31:28 字數 596 閱讀 6034

假定存在如下的上下文與函式:

//  待測試的上下文

var context =

};// 待測試的函式

function

output

(name, hello)

//  上下文繫結後的引數必須是陣列

// 上下文後的就是引數列表

alert(output.call(context, 'call', 'hi')); // 輸出hi,call!

函式繫結bind後並沒有執行,只是返回了乙個繫結了上下文的函式,這也是與call方法的最大區別,示例如下。

//  只繫結了上下文,並沒有執行

var contextoutput = output.bind(context);

alert(contextoutput('bind', 'hi')); //輸出hi,bind!

也就是說,上面的兩段語句才相當於call的一句,如下。

alert(output.call(context, 'bind', 'hi'));

bind,apply,call的區別和實現

fn.bind null,1,2,3 fn.call null,1,2,3 1.call function.prototype.macall function context,args context context window context.fn this const result conte...

也談如何實現bind apply call

本文先給出如下類定義和例項定義。person類,每個人有姓名,有列印姓名的方法 function person name 兩個例項 let alex new person alex let bob new person bob 不妨先回顧一下bind的使用方法 let saybobname alex...

vSphere,ESXi,vCenter之間的關係

vsphere是什麼?vsphere 是vmware公司發布的一整套產品包,包含類似於vmware esxi hypervisor,vmware vcenter server等產品 esxi是什麼?esxi是乙個hypervisor,就是乙個類似於xen的虛擬層,用於把x86伺服器的硬體進行虛擬化。...