我在js文件中定义了一个对象:
myobj.js
MyObj={
test: {
startTest: function(){
var x = SOME_PROCESS_A;
var y = SOME_PROCESS_B;
return {x: x, y: y};
}
}
}
在另一个js文件中,我调用这个对象函数:
other.js
var mytest = MyObj.test.startTest
var a = mytest.x;
var b = mytest.y;
我的index . html。
<body>
<script src="myobj.js"></script>
<script src="other.js"></script>
</body>
我在other.js中得到了firebug的错误,"mytest
"是未定义的在"var a = mytest.x;
"行为什么??
谢谢你,。我在类似的代码中得到了另一个"未定义"问题,请检查这里
您忘记调用函数了:
var mytest = MyObj.test.startTest()
我想你是故意的
var mytest = MyObj.test.startTest(); //calls the function and returns the value to mytest
而非
var mytest = MyObj.test.startTest;//assigns the function to mytest
因为mytest是一个函数对象,并且里面没有定义属性。
你也可以叫它
MyObj.test.startTest();
或者像这样重写你的对象:
MyObj={
test: {
startTest: function(){
this.x = SOME_PROCESS_A;
this.y = SOME_PROCESS_B;
return {x: this.x, y: this.y};
}
}
}