我曾经认为更改HTML元素的属性值会导致属性值发生变化,但更改属性值不会导致属性发生变化,因为该属性就像蓝图所描述的那样。 HTML和属性是"实时数据"。
但事实证明,使用纯JavaScript,如果我们更改属性值,属性值也会更改。虽然通常,属性值可以是任何数据类型,例如字符串,布尔值或对象,而属性值应该只是一个字符串。另一个区别是属性名称不区分大小写,但属性名称区分大小写。 (如JavaScript Definitive Guide第6版,第375-376页中所述)。
我试过了: http://jsfiddle.net/5nBM3/1/
和http://jsfiddle.net/5nBM3/2/设置属性值,http://jsfiddle.net/5nBM3/3/设置属性值。
如果我们使用:
设置属性值el.setAttribute("src", "http://i.imgur.com/4rE6FHV.gif");
然后很明显,在setAttribute()
内,它也可以调整属性值。但是如果我们使用:
el.src = "http://i.imgur.com/4rE6FHV.gif";
因此,如果我们将其视为obj.x = 1
,那么它不应该导致任何其他更改。上面的行如何导致属性值也发生变化?是吗
x
和y
,我们可以定义一个半径的setter和getter r
,并将其用作a = obj.r
或obj.r = 3
,以便获取半径将调用一个函数来使用x
和{{1来计算它设置y
将根据新的r
或x
和y
的值