gpt4 book ai didi

Javascript for () 循环变体

转载 作者:行者123 更新时间:2023-12-03 17:47:31 24 4
gpt4 key购买 nike

我正在使用这些属性创建这个元素:

var x = document.createElement('x');
x.setAttribute('ha','1');
x.setAttribute('he','2');
x.setAttribute('hi','3');

然后我使用这两种形式循环遍历它,每次得到不同的输出:

>>>for(var i in x.attributes) console.log(x.attributes[i]);
ha="1"
he="2"
hi="3"
3
item()
getNamedItem()
setNamedItem()
removeNamedItem()
getNamedItemNS()
setNamedItemNS()
removeNamedItemNS()

还有一个:

>>>for(var i=0;i<x.attributes.length;i++) console.log(x.attributes[i]);
ha="1"
he="2"
hi="3"

那么,这不应该给出相同的结果吗?为什么不呢?

最佳答案

这是因为您也从原型(prototype)中获得了一切。使用 hasOwnProperty 仅迭代您已设置的那些属性:

for(var i in x.attributes){ 
if (x.hasOwnProperty(i)) {
console.log(x.attributes[i]);
}
}

关于Javascript for () 循环变体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13377415/

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