javascript - 检查 Javascript 对象未定义
问题描述
更新
我正在尝试测试是否未定义 Javascript 变量。
如何制作缺少变量或未定义的对象
在此之前谢谢你是否愿意提供帮助
这是我的代码
var mydata = {
p001: "Product 1",
p002: "Product 2",
p003: "Product 3"
}
function test(e) {
if (mydata === undefined || mydata === null) {
document.getElementById("demo").innerHTML = "<em>No data</em>";
} else {
document.getElementById("demo").innerHTML = mydata[e];
}
}
var mydata = {
p001: "Product 1",
p002: "Product 2",
p003: "Product 3"
}
function test(e) {
if (mydata === undefined || mydata === null) {
document.getElementById("demo").innerHTML = "<em>No data</em>";
} else {
document.getElementById("demo").innerHTML = mydata[e];
}
}
#demo {
padding: 10px;
margin: 0;
border: 1px solid #2f9fd2;
border-radius: 4px;
background: #daf3ff;
}
<p>
<button onclick='test("p001");'>Product 1</button>
<button onclick='test("p002");'>Product 2</button>
<button onclick='test("p003");'>Product 3</button>
<button onclick='test("p10000");'>Test undefined</button>
</p>
<div id="demo"></div>
对不起我的英语不好
谢谢
解决方案
我想这就是你要找的。
e
只需检查in 中的键是否没有值mydata
。
顺便说一句,这里没有数组。使用正确的术语很重要。您使用一个对象,并且想要检查它的属性是否已定义。
var mydata = {
p001:"Product 1",
p002:"Product 2",
p003:"Product 3"
}
function test(e) {
if (!mydata[e]) {
document.getElementById("demo").innerHTML = "<em>No data</em>";
} else {
document.getElementById("demo").innerHTML = mydata[e];
}
}
#demo {
padding: 10px;
margin: 0;
border: 1px solid #2f9fd2;
border-radius: 4px;
background: #daf3ff;
}
<p>
<button onclick='test("p001");'>Product 1</button>
<button onclick='test("p002");'>Product 2</button>
<button onclick='test("p003");'>Product 3</button>
<button onclick='test("p10000");'>Test undefined</button>
</p>
<div id="demo"></div>
推荐阅读
- c# - 从 db 检索数据时排除子表数据
- javascript - Promise.all 在数组和对象之间使用逗号运算符如何工作?
- c++11 - 右值引用,std::reference_wrappers 和 std::function
- javascript - 如何在数组中的幻灯片中包含图像(动态幻灯片)
- wordpress - 我需要删除woo commerce产品页面中产品描述后的空格
- javascript - 如何修改母版页以修复 asp.net 中的 Bootstrap4 下拉菜单?(未捕获的 TypeError:Bootstrap 下拉菜单需要 Popper.js)
- ruby-on-rails - 怎样才能显示数据总量?
- batch-file - 如何在批处理中使用 FOR 循环参数设置变量
- python - Python 与 Jinja 验证
- java - Apache POI,强制带两位小数的货币格式