bind多次绑定:
var dad ={};
var son={};
function show (){
return this;
}
var newShow=show.bind(dad);
var newShow1=newShow.bind(son);
console.log(newShow()==dad);//true
console.log(newShow1()==son);//false=>newShow1() ==dad;
show.bind(dad)后,
newShow = function(){
show.call(dad);
}
newShow.bind(son)后,
newShow1 = function(){
function(){
show.call(dad)
}.call(son);
}
所以两种情况下,最终执行到show.call(dad),返回值是dad对象。