如果我获得了document.getElementById()
的元素,
在我分配给变量object
之后,javascript是否会拉出元素的所有属性,或者只是在我通过示例请求时:object.id
?
var object = document.getElementById("object");
object.id;
object.value;
答案 0 :(得分:3)
它并没有真正“拉”任何东西。浏览器为JavaScript解释器提供对象的引用,以每个浏览器特有的方式,基本上 是DOM元素。访问DOM元素上的属性非常便宜,但修改属性可能会产生严重的副作用(当然,这通常是您想要从JavaScript修改属性的原因)。
答案 1 :(得分:3)
都不是。变量object
只是对现有对象的引用。
答案 2 :(得分:2)
object
是对象本身的引用。它不会拉/复任何值。
您甚至可以通过修改引用的对象来尝试这个(示例在此处工作):
> var object = document.getElementById("hlogo")
> object.id
"hlogo"
> document.getElementById("hlogo").id = "foobar"
"foobar"
> document.getElementById("hlogo").id
TypeError: Cannot read property 'id' of null
> object.id
"foobar"