1、关于构造函数
function Fn1(name){
if(name){
this.name = name;
}
}
Fn1.prototype.name = "jack";
let a = new Fn1();
console.log('a:', a.name);
function Fn2(name){
this.name = name;
}
Fn2.prototype.name = "jack";
let b = new Fn2();
console.log('b:', b.name);
a: jack b: undefined
2、关于this指向
对于这个问题,这篇文章写的挺好。
let obj = {
num: 5,
func: function(){
let that = this; // 成员函数中的this是obj
that.num *= 2; // obj.num = 5*2 = 10
(function(){
this.num *= 3; // window.num = 2*3 = 6
that.num *= 4; // obj.num = 10*4 = 40
return function(){ // 仅返回函数,没有执行
this.num *= 5;
that.num *= 6;
}
})()
}
}
var num = 2; // 这个num属于window
obj.func();
console.log(num); // 6
console.l

最低0.47元/天 解锁文章
626

被折叠的 条评论
为什么被折叠?



