此代码段中变量“element”的类型是什么? 我认为这是一个数字(ID或其他),但现在,我不知道。 代码有效,但我不明白,为什么var元素可以在for循环中使用,比如数组。对此有任何解释吗?
<script type="text/javascript">
function showAtrributes() {
var element = document.getElementById("videos");
var listAttributes = "";
for(var attribute in element) {
var valueOfAtrrib = element.getAttribute(attribute);
listAttributes = listAttributes + attribute + ": " + valueOfAttrib + "\n";
}
alert(listAttributes);
}
</script>
答案 0 :(得分:1)
答案 1 :(得分:1)
document.getElementById()
的返回类型是什么
Element
。它返回对DOM中元素的实际对象的引用(如果找不到null
,则返回id
)。详细说明:
我认为这是一个数字(ID或其他)
不,那是"video"
(您用来查找它的字符串)。它也可以从Element对象的id
属性访问。
代码有效,但我不明白为什么var元素可以在for循环中使用,比如数组。
for-in
主要不在数组上使用,而是用于对象。它在数组上工作的唯一原因是数组是对象。 (有关详细信息,请参阅this question's answers和this page on MDN。)DOM元素是对象,因此您可以通过for-in
循环遍历其可枚举属性。
答案 2 :(得分:0)
document.getElementById()的返回类型是Element Object或 null 。请参阅MDN中的以下链接:
答案 3 :(得分:0)
看起来你真的质疑为什么for循环工作,而不是getElementById返回什么样的对象。阅读这篇文章:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in
for(var in ....)语法导致Javascript迭代由....指定的对象的属性。
答案 4 :(得分:0)
返回类型可以是程序员为JS VM库定义的任何类型。例如,使用SpiderMonkey的webcwebbrowser返回HTMLElement JSClass的JSObject,它通过在基础内部HTMLElement对象上调用CreateJSClass
来获取。