你不知道的JS 硬绑定(因this会隐式丢失)

analysis:

创建一个函数。该函数接受2个argument ,然后把他们设置成参数格式。
创建一个对象,用object.create 输入null
然后把函数硬绑定到该对象。用apply 并输入一些arguments ,由此形成对象内部的参数。
bind分次传入不同的argument.(柯里化(Currying)------形成一个已知部分值的函数)

code:

function dalala(a,b){
console.log('a:'+a,'b:'+b);
}
var olala= Object.create(null);
dalala.apply(olala,[2,2]);
var bar =dalala.bind(olala,2);
bar(5); // a:2 b:5

posted @ 2017-06-16 11:20  Esther_Cheung  阅读(942)  评论(0编辑  收藏  举报