Javascript对象:当前或方法

javascript object : current or method?

本文关键字:方法 对象 Javascript      更新时间:2023-09-26

这是代码:

var x = document.getElementById("x");

这是HTML:

<p id="x">text</p>

这是下一个javascript:

x.innerHTML = "newtext"
alert(x.innerHTML)

那么会发生什么呢?将x

保存信息时,使用var x = document.getElementById("x")和变量x将改变,但不是HTML <p>与id x ?

由于x是对DOM元素的引用,它将修改id - x的innerHTML。

演示:JSFiddle

var x = document.getElementById("x");
x.innerHTML = "newtext";
alert(x.innerHTML); //same as the below alert
alert (document.getElementById("x").innerHTML);

在这种情况下,引用<p> elementvar x将改变HTML of <p> element

var x = document.getElementById("x");
x.innerHTML = "newtext"
alert(x.innerHTML); //return "newtext"
var y = document.getElementById("x");
alert(y.innerHTML); //returns "newtext"

使用javascript改变<p> elementinnerHTML属性实际上已经改变了<p> elementHTML属性

变量x将仍然保持对id为"x"的DOM元素的引用,并且DOM元素的innerHTML将改变。所以如果你之后像这样做

var content = x.innerHTML

则内容将包含"newtext",但如果你这样做之后

x.innerHTML = "new newtext"

content仍然包含"newtext",但x的内容将发生变化。变量x仍然是对相同DOM元素的引用。