var na = 9999;
function miao(){
this.a = {
m : {
na : "321",
c : this.na
},
na : 7898
}
this.na = 8888;
this.haha = {
m : this.na,
na : 77777
}
}
var jian = new miao();
alert(jian.a.m.c) // undefined
alert(jian.haha.m) //8888
var b = {
na: 222,
ma: 333,
cc: this.na,
m : {
oo : this.na
}
}
alert(b.cc) //9999
alert(b.m.oo) //9999
上面得undefined怎么理解?
也就是
m : {
na : "321",
c : this.na
},
里面的this指到哪去了
function miao(){
this.a = {
m : {
na : "321",
c : this.na
},
na : 7898
}
this.na = 8888;
this.haha = {
m : this.na,
na : 77777
}
}
var jian = new miao();
alert(jian.a.m.c) // undefined
alert(jian.haha.m) //8888
var b = {
na: 222,
ma: 333,
cc: this.na,
m : {
oo : this.na
}
}
alert(b.cc) //9999
alert(b.m.oo) //9999
上面得undefined怎么理解?
也就是
m : {
na : "321",
c : this.na
},
里面的this指到哪去了
但是你B中没有this.na
na : "321",
c : this.na
},
this==m
var na = 9999;
function miao(){
this.a = {
m : {
na : "321",
c : window.na
},
na : 7898
}
this.na = 8888;
this.haha = {
m : this.na,
na : 77777
}
}
var jian = new miao();
alert(jian.a.m.c) //
alert(jian.haha.m) //8888
var b = {
na: 222,
ma: 333,
cc: this.na,
m : {
oo : this.na
}
}
alert(b.cc) //9999
alert(b.m.oo) //9999应该明白为什么了吧呵呵
alert(jian.a.m.c) // undefined 因为this.na = 8888;此句还没有执行 所以是undefined