javascript - 将javascript中的对象打印到html dom中
问题描述
我正在尝试以各种不同的方式将对象打印到 HTML DOM 中,以便我可以理解它如何更好地工作。
但结果看起来像这样:
从本地存储中存储和检索数据。约翰 undefinedJohn 31 New York
如您所见,它返回“undefinedJohn”,我不知道为什么。有人可以向我解释吗?对于在 HTML 中显示对象、数组和 JSON 的其他方法的建议也将不胜感激。
提前致谢!
<!DOCTYPE html>
<html>
<body>
<h2>Store and retrieve data from local storage.</h2>
<p id="demo"></p>
<script>
var myObj, myJSON, text, obj, temp;
var idx = 0;
// Storing data:
myObj = { name: "John", age: 31, city: "New York" };
myJSON = JSON.stringify(myObj);
localStorage.setItem("testJSON", myJSON);
// Retrieving data:
text = localStorage.getItem("testJSON");
obj = JSON.parse(text);
document.getElementById("demo").innerHTML += Object.values(obj)+`<br>`;
document.getElementById("demo").innerHTML += JSON.stringify(obj)+`<br><br>`;
console.log(obj);
for (idx in obj) {
console.log(obj[idx]);
console.log(idx);
temp += obj[idx] + " " + "<br>";
};
document.getElementById("demo").innerHTML += temp;
</script>
</body>
</html>
解决方案
发生这种情况是因为您声明了temp变量但没有对其进行初始化,因此它将 undefined 作为一个值,只需遵循以下工作代码temp ='':
<!DOCTYPE html>
<html>
<body>
<h2>Store and retrieve data from local storage.</h2>
<p id="demo"></p>
<script>
var myObj, myJSON, text, obj, temp ='';
var idx = 0;
// Storing data:
myObj = { name: "John", age: 31, city: "New York" };
myJSON = JSON.stringify(myObj);
localStorage.setItem("testJSON", myJSON);
// Retrieving data:
text = localStorage.getItem("testJSON");
obj = JSON.parse(text);
document.getElementById("demo").innerHTML += Object.values(obj)+`<br>`;
document.getElementById("demo").innerHTML += JSON.stringify(obj)+`<br><br>`;
console.log(obj);
for (idx in obj) {
console.log(obj[idx]);
console.log(idx);
temp += obj[idx] + " " + "<br>";
};
document.getElementById("demo").innerHTML += temp;
</script>
</body>
</html>
推荐阅读
- windows - 如何确定远程计算机的“网络发现”状态(启用|禁用)
- javascript - 在共享服务器上部署角度渲染应用程序
- android - AdView doesn't show ads at the bottom of the linear layout layout -Why So?
- first-order-logic - 有问题的矛盾证明
- excel - 在 VBA 中使用 Waitable Timer 对象 - 无效句柄错误
- postgresql - 如何通过 Kubernetes statefulset 环境变量更改 Postgresql max_connections 配置?
- r - 线性 SVM 和提取权重
- javascript - Efficient Human-Readable Date String Sorting Algorithm in Javascript
- performance - State vs cookie/localstorage read performance
- regex - sed (bash) has different interpretation of regex than any other tool?