this指向
function aa() {
}
aa.prototype.ff = "ff";
// console.log(aa.prototype);
aa.dd = "dd";
aa.prototype.getName = function (a, b) {
// console.log(this);
this.ee = "ee";
// aa.prototype.ee = "ee";
console.log(3);
return "getName"
};
aa.prototype.constructor = aa;
var foo = new aa();
console.log(foo.dd); // --> undefined 是由于dd没有在aa的原型链上,因此在new之后没有办法添加到new生成的方法上
console.log(foo.ee); // -->undefined 是由于此处并无执行getName,this.ee并无加到aa的原型上
console.log(foo.getName());// -->getName
console.log(foo.ee); // -->ee 通过上面getName执行,在执行的过程当中,ee添加到了aa的原型链上。
复制代码