【发布时间】:2017-05-30 19:57:45
【问题描述】:
我正在使用 jquery .get 函数
我无法使用下面的 javascript 代码对象访问对象变量
function cons1(x){
this.x = ++x || false;
this.objectarray1 = [];
if(this.x){
alert('x has value');
}
}
cons1.prototype.profun1 = function(){
alert(this.objectarray1[0]);
$.get('requesting url',{'parameters'},function(data){
this.objectarray1[0] = this.x;// <-- can place a value
alert(this.objectarray1[0]);// <-- alerts this.x value
}.bind(this));
}
var x=1;
var obj1 = new cons1(x);
obj1.profun1();
var y = obj1.objectarray1[0];
alert(y);// <-- gives undefined on screen
【问题讨论】:
-
var y = a1.objectarray1[0];-a1突然从哪里来的? -
请格式化您的代码,但是看起来 jaromanda 发现了您的问题
-
顺便说一句 -
$.get是异步的,所以即使你修正了那个错字,你也会发现同样的问题 - 在异步操作有机会之前你得到了.objectarray1[0]将任何内容添加到.objectarray1[0] -
我想你的意思是
var y = obj1.objectarray1[0]一旦你的请求得到解决就应该这样做 -
nah @Andrew,这会产生一个不同的错误 - 关于 a1 很可能没有定义 - 我认为拼写错误根本不是问题 - 它不知道如何使用异步代码问题
标签: javascript jquery javascript-objects google-api-js-client