javaScript this 指针

摘自<<王者归来>>...

this 解惑 ...
----| 不一定只有对象才有this这个代词 , 在js中,全局函数调用和其他的几种上下文都有this代词
 function Foo()
	 {
	 	if(this.constructor == arguments.callee)
		{
			alert("Object Created");
		}else if(this == window)
		{
			alert("Normal call");
		}else
		{
			alert('called by' + this.constructor);
		}
	 }
	 window.Foo();// normal call
	 Foo.call(new Object()); // create by ... 
	 new Foo(); //Object Created


其次js中一个函数可以作为任何一个所有者对象方法来调用 ,
Function.prototype.call()||apply()

[align=center][/align]

   this代词的变化

 function Foo()
	 {
	 	alert(this.x +this.y)
	 }
	 // 用对象(x:1 , y:2)调用 ,相当于alert(1+2);
	 Foo.call({x:1 , y:2});

你可能感兴趣的:(JavaScript,prototype)