首页 > 解决方案 > 检查 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>

对不起我的英语不好

谢谢

标签: javascript

解决方案


我想这就是你要找的。

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>


推荐阅读