请帮我优化我的js代码 let ljss=[ { name:"炼金术士", jn1:"剧毒冲流", jn2:"剧毒踪迹", jn3:"强力粘胶", jn4:"过肩摔", jn5:"疯狂药剂",}, { name:"石头人", jn1:"包皮", jn2:"车轮饼", jn3:"拍地板", jn4:"红手", jn5:"以头抢地", } ] for(let item of ljss) { for(let key in item) { if(item.hasOwnProperty(key)){ document.write(`<div>${ key,item[key]}</div>`) document.write("<br>") } } }
时间: 2024-02-10 21:28:35 浏览: 21
您的 JavaScript 代码已经基本上是可行的。不过,我可以为您提供一些优化建议:
1. 使用 `const` 替代 `let`:由于您的 `ljss` 数组不会被重新赋值,可以使用 `const` 声明代替 `let` 声明,以增加代码的可读性。
2. 使用模板字符串:在循环中,您可以使用模板字符串来更清晰地构建 `<div>` 元素的内容,而不是使用逗号分隔符。
3. 避免多次调用 `document.write()`:在循环中使用多次 `document.write()` 可能会导致性能问题。相反,您可以先构建一个字符串,然后在循环结束后一次性将其写入文档。
下面是优化后的代码示例:
```javascript
const ljss = [
{
name: "炼金术士",
jn1: "剧毒冲流",
jn2: "剧毒踪迹",
jn3: "强力粘胶",
jn4: "过肩摔",
jn5: "疯狂药剂"
},
{
name: "石头人",
jn1: "包皮",
jn2: "车轮饼",
jn3: "拍地板",
jn4: "红手",
jn5: "以头抢地"
}
];
let divContent = "";
for (const item of ljss) {
for (const key in item) {
if (item.hasOwnProperty(key)) {
divContent += `<div>${key}: ${item[key]}</div><br>`;
}
}
}
document.write(divContent);
```
这样,您只需调用一次 `document.write()` 来将所有的 `<div>` 元素写入文档,提高了代码的效率和可读性。