【 在 zzjyingzi (十六点五) 的大作中提到: 】
: 理解javascript是基于对象的,这个就不难理解。
因为基于对象,所以才有原型链,变量、方法是挂接在对象上的,在方法中的直接体现就是this的指向,函数默认this指向的对象在浏览器中是window,window默认挂接全局变量和方法,而prototype就是指向对象的API,这样可以将函数的指向对象更换为其他对象,比如可以
var a = 1;
function asd(){
alert(this.a);
}
asd();//这时候this指向window
asd.prototype.s = function(){
this.a = 2;
alert(this.a);
};
var z = new asd(); //构造之后this就指向新的作用域,这时候函数的this为undefined !!!!!!!!!!!!!!!这句会弹出对话框,之所以对话框里是undefined,不是因为this是undefined而是因为this.a是undefined.
z.s(); //这时候是2.!!!!!!!!!这时候是2的原因是this被动态绑定为z。
【 在 zhanghaoX 的大作中提到: 】
: 那某个函数的原型对象到底是什么?具体的
--
FROM 183.95.135.*