JavaScript-call()とreply()

4525 ワード

callとreply
1.作用
thisの方向を変えます.他人の方法を借りて自分の機能を実現します.
2.違い
参考文献リストによって異なるcall()は一つずつの参考文献を使用してもいいです.つまり、実際の参を形参の個数によって伝えます.apply()は1つの配列でのみ参照できます.つまり、一つのargmentsを伝えます.all()、appy()の2つの関数の最初のパラメータは、いずれもthisのオブジェクトを指します.たとえば:
Color.apply(this, [outcol, incol]);
Shape.call(this, length, width);
実例をあげる
		function Color(outcol, incol) {
			this.outcol = outcol;
			this.incol = incol;
		}
		function Shape(length, width, height) {
			this.length = length;
			this.width = width;
			this.height = height;
		}
		function Box(outcol, incol, length, width, height) {
			//           
			Color.apply(this, [outcol, incol]);
			Shape.call(this, length, width, height);
		}
		var box = new Box("red", "blue", 200, 150, 140);