Javascript 为什么我得到了一个“答案”;“未定义”;消息
我在js文件中定义了一个对象: myobj.jsJavascript 为什么我得到了一个“答案”;“未定义”;消息,javascript,javascript-framework,Javascript,Javascript Framework,我在js文件中定义了一个对象: myobj.js MyObj={ test: { startTest: function(){ var x = SOME_PROCESS_A; var y = SOME_PROCESS_B; return {x: x, y: y}; } } } var mytest = MyObj.test.startTest var a = mytest.x; var b = mytest.y;
MyObj={
test: {
startTest: function(){
var x = SOME_PROCESS_A;
var y = SOME_PROCESS_B;
return {x: x, y: y};
}
}
}
var mytest = MyObj.test.startTest
var a = mytest.x;
var b = mytest.y;
在另一个js文件中,我将此对象函数称为:
var mytest = MyObj.test.startTest()
other.js
MyObj={
test: {
startTest: function(){
var x = SOME_PROCESS_A;
var y = SOME_PROCESS_B;
return {x: x, y: y};
}
}
}
var mytest = MyObj.test.startTest
var a = mytest.x;
var b = mytest.y;
my 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()
因为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};
}
}
}
因为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};
}
}
}
我想你是有意的
var mytest = MyObj.test.startTest(); //calls the function and returns the value to mytest
而不是
var mytest = MyObj.test.startTest;//assigns the function to mytest
我想你是有意的
var mytest = MyObj.test.startTest(); //calls the function and returns the value to mytest
而不是
var mytest = MyObj.test.startTest;//assigns the function to mytest
您应该像函数一样使用它:var mytest=MyObj.test.startTest()您应该像函数一样使用它:var mytest=MyObj.test.startTest()“因为mytest是一个函数对象,它没有属性”函数确实有属性,您甚至可以添加自己的属性。但是,在本例中,这个特定函数没有
x
和y
属性。是的,我指的是这个特定函数。我会更正我的答案,谢谢;)谢谢,但我还有一个未定义的错误,这里是:“因为mytest是一个函数对象,它没有属性”函数确实有属性,您甚至可以添加自己的属性。但是,在本例中,这个特定函数没有x
和y
属性。是的,我指的是这个特定函数。我会更正我的答案,谢谢;)谢谢,但我还有一个未定义的错误,这里是:谢谢。但我还有一个未定义的错误,这里是@Mellon,你不应该发布新问题。它可能会作为副本关闭。更新此问题谢谢。但我还有一个未定义的错误,这里是@Mellon,你不应该发布新问题。它可能会作为副本关闭。更新此问题