我知道如何从一个对象调用一个方法,即如果调用myObj.objMethod
则会返回以下内容。
myObj = {
objProperty: 'string',
objMethod: function() {
return this.objProperty
}
}
但是,我正在尝试following code wars exercise并且无法弄清楚需要做什么。看起来他们希望在自身内部调用函数。为此,我尝试使用arguments.callee.call(MyObject.objMethod())
但是,正如预期的那样,它超过了最大调用堆栈。有没有人知道是否可以从该函数中调用函数对象的方法?
以下是我的尝试之一(<之一):
function myFunction() {
var MyObject = {
objProperty: "string",
objMethod: function() {
return this.objProperty;
}
}
return arguments.callee.call(MyObject.objMethod());
};
以下是代码大战说明:
属性objMethod应该由myFunction调用。
你能修复语法,以便myFunction再次运行吗?请 检查大括号,逗号和字母大小写。
这是提供的原始代码:
function myFunction() {
var MyObject = {
objProperty: "string",
objMethod: function() {
return myObject.objProperty;
}
}
return myObject.Objmethod();
};
答案 0 :(得分:2)
这是您的解决方案
function myFunction() {
var MyObject = {
objProperty: "string",
objMethod: function() {
return MyObject.objProperty;
}
}
return MyObject;
};
问题陈述是
属性objMethod应该由myFunction调用。
它通过了所有测试。
答案 1 :(得分:0)
确保查看测试及其预期结果。期望测试能够引用对象,而不是一个特定的属性。
return MyObject;