JavaScript类变量赋值-怎么了?
这个作业有什么问题JavaScript类变量赋值-怎么了?,javascript,oop,class,Javascript,Oop,Class,这个作业有什么问题 base = {}; base.util = { varA : 3, varB : this.varA, show : function(){ console.log(this.varB); } }; 我明白了。varB是未定义的。任何帮助都将不胜感激 谢谢。当使用简写法创建对象时,此在全局范围内,因此指的是窗口。尝试检查在创建对象后是否定义了window.varA或只是varA。当您声明文本时,此的值仅在方法内时才是您的对象。否则,其值
base = {};
base.util = {
varA : 3,
varB : this.varA,
show : function(){
console.log(this.varB);
}
};
我明白了。varB是未定义的。任何帮助都将不胜感激
谢谢。当使用简写法创建对象时,
此
在全局范围内,因此指的是窗口
。尝试检查在创建对象后是否定义了window.varA
或只是varA
。当您声明文本时,此
的值仅在方法内时才是您的对象。否则,其值将取决于声明文本的上下文
要实现您想要的,您必须按照以下方式编写代码:
base = {};
base.util = {
varA : 3,
show : function(){
// here, this refers to base.util
console.log(this.varB);
}
};
base.util.varB = base.util.varA;
base.util.show();
在本例中,
此
指的是全局窗口
。