gpt4 book ai didi

javascript - 测试对象是否存在 JavaScript

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

我不敢相信这个问题以前不会被问到,但我尽可能多地搜索但找不到它,所以就在这里。

我想测试是否存在动态构建的 JavaScript 对象。但是当我测试这个时:

var myObject = {};
var dynamicName = "customName";

if(myObject[dynamicName].object == undefined){
myObject[dynamicName].object = "something"; // Make an entry in the dynamic object
alert("The object didn't exist, so we populated it");
}else{
alert("The object already exist");
}

如果对象不存在并且我尝试运行上面的代码,我会收到一条错误消息“myObject[dynamicName] is undefined”并且所有 javascript 执行都会停止。

有没有办法检查我想要的这个对象是否存在而不会导致这样的错误?

最佳答案

如果 myObject[dynamicName] 不存在,您将无法访问其属性。尝试访问或分配 undefined 的属性会导致错误。

需要先创建对象,然后才能创建属性

if (myObject && myObject[dynamicName] && myObject[dynamicName].object !== undefined) {
alert("The object already exists");
} else {
myObject = myObject || {};
myObject[dynamicName] = myObject[dynamicName] || {};
myObject[dynamicName].object = something;
alert("The object didn't exist, so we populated it");
}

关于javascript - 测试对象是否存在 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51530139/

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