gpt4 book ai didi

javascript - 访问在函数内部创建的对象

转载 作者:行者123 更新时间:2023-11-30 15:22:04 25 4
gpt4 key购买 nike

我还在学习,所以我可能会用这个 wronf 的措辞(这可能就是为什么到目前为止我还没有通过搜索找到答案的运气)或者我可能一起做错了。

基本上,我正在尝试创建一个函数,该函数在被调用时将创建一个对象(由其他对象组成)。如果我在函数外部创建此 Characters 对象,我可以按预期访问它,但在函数内部完成时,我似乎无法访问它。我正在 Chrome 内置的控制台中对此进行测试。

这是我的代码。

function q1(ans) {      //Are you male or female?   
"use strict";
//store all above objects into new object
if (ans === "male") {
var Characters = {
spike: spike,
jet: jet,
vicious: vicious
};
}
if (ans === "female") {
//store all above objects into new object
var Characters = {
faye: faye,
julia: julia,
ed: ed
};
}
return Characters;
}

(对象 spikejetvicious(等)在别处定义,可以毫无问题地访问。)

如果我调用我的函数 q1("male"); 控制台似乎会记录 Characters 对象已创建,但如果我随后尝试通过以下方式访问它输入 Characters 我得到一个错误(ReferenceError: Characters is not defined)。如果我要在函数外部创建这个 Characters 对象,然后尝试按上面提到的方式访问它,这就可以正常工作。这让我相信我没有正确归还它(或者我完全做错了其他事情)。我在这里缺少什么?

在此先感谢您的帮助。

最佳答案

这是由于范围。这意味着该字符仅存在于函数内部,因此您无法在函数外部访问它。你所要做的是设置一个新变量,等于你调用它时函数的返回值。这样您就可以在函数外部引用返回的变量并在以后使用它。

 var male = q1("male")

关于javascript - 访问在函数内部创建的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43576757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com