JavaScript 函數的引用傳遞

先看代碼:

	window.color = "red";
	var o = { color : "blue" };

	function sayColor(){
		alert(this.color);
	}

	sayColor();

	o.sayColor = sayColor;
	o.sayColor();


結果:

  1. red 
  2. blue

若修改sayColor()函數 則全部受影響


	window.color = "red";
	var o = { color : "blue" };

	function sayColor(){
		alert(this.color);
	}

	sayColor();

	o.sayColor = sayColor;
	o.sayColor();

	function sayColor(){
		alert("wobianle");
	}

	o.sayColor();


結果:

  1. wobianle
  2. wobianle
  3. wobianle


若對o.sayColor()函數進行修改,則隻影響o的sayColor()函數


window.color = "red";
	var o = { color : "blue" };

	function sayColor(){
		alert(this.color);
	}

	sayColor();

	o.sayColor = sayColor;
	o.sayColor();


	o.sayColor = function(){
		alert("wobianle");
	}

	o.sayColor();

結果:

  1. red
  2. blue
  3. wobianle


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章