JS : this指向問題(2)

var color = "orange"; 
window.color = "red";
var person = {
  color:"blue"
};
function sayColor(){
  var color = "pink";
  console.log(this.color);    
}
person.sayColor = sayColor;
person.sayColor.call(sayColor);   //undefined         
person.sayColor.call(sayColor()); //red
sayColor作爲call的第一個參數進行調用函數,指向的是函數地址,函數在沒有調用的時候沒有this的指向問題
sayColor()在調用的時候this指向的是window,所以color爲red
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章