bind多次绑定

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对象。

你可能感兴趣的:(bind多次绑定)