Javascript 访问对象和对象/函数中的对象
为什么返回空值?如何获取和设置对象Javascript 访问对象和对象/函数中的对象,javascript,Javascript,为什么返回空值?如何获取和设置对象 请帮忙。。谢谢。请在提交前检查您的代码,有两个语法错误(缺少’和,) 到 原因是,this在您的代码中this.var1.varx='x'引用了test.method1,而不是test,因此如果您在test.method1中定义var1:{varx:null,vary:null},那么console.log(test.method1.submath2())将不会给出空结果(建议:使用chrome进行调试) var测试={ var1:{varx:null,va
请帮忙。。谢谢。请在提交前检查您的代码,有两个语法错误(缺少’和,) 到 原因是,
this
在您的代码中this.var1.varx='x'
引用了test.method1
,而不是test
,因此如果您在test.method1
中定义var1:{varx:null,vary:null}
,那么console.log(test.method1.submath2())
将不会给出空结果(建议:使用chrome进行调试)
var测试={
var1:{varx:null,vary:null},
方法1:{
var1:{varx:null,vary:null},
子项1:功能(x){
this.var1.varx='x'
},
子项2:函数(){
返回this.var1.varx;
}
},
get_varx:函数(){
返回this.var1.varx;
}
}
test.method1.submeth1(‘我的新值’);//值
console.log(test.method1.submeth2());//null
console.log(test.get_varx());//null
this.var1.varx=x'this.var1.varx=x'从此行中删除”
,并在行尾添加;
。此代码有几个问题。2语法错误(只需删除代码即可找到它们)以及各种范围问题。this.var1
在调用test.method1.submeth2
时将是未定义的,因为this
submeth2中的值将是method1
。您可以通过调用test.method1.submeth2.call(test,'some value')来解决问题
顺便问一下,如何在submeth1或submeth2方法中访问测试的varx?
var test = {
var1: {varx: null, vary: null},
method1: {
submeth1: function (x) {
this.var1.varx = x'
}
submeth2: function() {
return this.var1.varx;
}
},
get_varx: function () {
return this.var1.varx;
}
}
test.method1.submeth1('my new value'); // the value
console.log(test.method1.submeth2()); // null
console.log(test.get_varx()); // null
submeth1: function (x) {
this.var1.varx = x'
}
submeth1: function (x) {
this.var1.varx = 'x'
},
<script>
var test = {
var1: {varx: null, vary: null},
method1: {
var1: {varx: null, vary: null},
submeth1: function (x) {
this.var1.varx = 'x'
},
submeth2: function() {
return this.var1.varx;
}
},
get_varx: function () {
return this.var1.varx;
}
}
test.method1.submeth1('my new value'); // the value
console.log(test.method1.submeth2()); // null
console.log(test.get_varx()); // null
</script>