閱讀820 返回首頁    go 阿裏雲 go 技術社區[雲棲]


JS中那些讓人頭昏眼花的彎子

看別人在討論,於是整理了下,大家來看看下麵代碼中1-11分別輸出的答案是什麼???(不要試過再說)

 

複製代碼
var obj={
    a:1,
    b:2,
    add:function(c,d){
        console.log(this.a+this.b+c+d);
    }
}
var a=b=0;
//1
obj.add(3,4);
//2
var add=obj.add;
add(3,4);
//3
obj.add.call(this,3,4);
//4
obj.add.call(null,3,4);
//5
obj.add.call(window,3,4);
//6
obj.add.apply(this,[3,4]);
//7
obj.add.apply(null,[3,4]);
//8
obj.add.apply(window,[3,4]);
//9
var addOne=obj.add.bind(this);
addOne(3,4);
//10
var addTwo=obj.add.bind(obj);
addTwo(3,4);
//11
var Object={};
var addThree=obj.add.bind(Object);
addThree(3,4);

最後更新:2017-11-05 00:03:35

  上一篇:go  JS中的倒計時
  下一篇:go  找出重傳較高的TCP連接