gpt4 book ai didi

javascript - 定义这个对象会导致另一个对象未​​定义吗?

转载 作者:太空宇宙 更新时间:2023-11-04 02:44:39 25 4
gpt4 key购买 nike

我有这个代码:

sys.puts(JSON.stringify(data[0].name));

var userData = {
name: data[0].name,
screenname: data[0].screen_name,
id: data[0].id,
url: data[0].url,
description: data[0].description
}

当我注释掉 userData 对象的创建时,一切正常,这意味着它将该值正确写入控制台。当我把它放回去时,我收到此错误:

sys.puts(JSON.stringify(data[0].name));
^
TypeError: Cannot read property 'name' of undefined

有什么想法为什么会发生这种情况吗?这些都在同一个函数内。

最佳答案

使用guard operator在访问对象的属性之前验证对象:

JSON.stringify(!!window["data"] && data.hasOwnProperty("length") && data[0].hasOwnProperty("name") && data[0].name)

作为替代方法,使用 try/catch block :

try
{
JSON.stringify(data[0].name)
}
catch(e)
{
throw("Error")
}

引用文献

关于javascript - 定义这个对象会导致另一个对象未​​定义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5867265/

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