首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从同一对象中的另一个函数调用变量?

如何从同一对象中的另一个函数调用变量?
EN

Stack Overflow用户
提问于 2012-03-26 23:25:03
回答 2查看 114关注 0票数 0

我只想知道有没有一种简单的方法来调用同一对象中另一个函数的变量?

代码语言:javascript
复制
var comedy = {
schadenfreude: function() {
    var number = prompt("Provide me a number.");
},
irony: function() {
    this.schadenfreude();
    for(i = 0; i < this.schadenfreude.number(); i++){
        return i;
    }
}
};
console.log(comedy.irony());

在本例中,我希望从schadenfreude function中获取var number,并在irony function的for循环中使用该提示数字。谢谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-26 23:27:36

"schadenfreude“函数中的"number”变量是该函数的本地变量。即使你能得到它(你不能),它也不会对你有任何好处。

你(可能)想要的是:

代码语言:javascript
复制
var comedy = {
    number: 0,
    schadenfreude: function() {
        this.number = prompt("Provide me a number.");
    },
    irony: function() {
        this.schadenfreude();
        for(i = 0; i < this.number; i++){
            alert(i);
        };
    }
};
console.log(comedy.irony());

或者,您可以让"schadenfreude“将值赋给对象上的"number”属性,这样您就可以在“this.number”函数中引用irony。在这两种情况下,正如我在代码注释中指出的那样,您的for循环具有该return语句的事实意味着,如果用户提供任何非负数,"irony“函数将始终返回零,否则返回undefined

票数 4
EN

Stack Overflow用户

发布于 2012-03-26 23:28:16

听起来你想从定义在同一个对象上的另一个成员那里获取一个局部变量。这不是直接可能的。局部变量的作用域是定义函数/成员,没有直接访问它们的方法。函数必须以某种方式将它们显式地返回给调用者,以便它们被访问

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9874941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档