首页 > 其他 > 详细

关于attribute和property

时间:2016-02-11 14:30:35      阅读:116      评论:0      收藏:0      [点我收藏+]

英文渣尝试翻译Javascript.info,首篇选择了自认为难度不大的浏览器事件,然后我就遇到了下面这句话:

 

Please, note the two details:

  1. It is a property, not an attribute. The name of the property is onevent, case-sensitive and must belowercasedonClick won’t work.
  2. The handler must be a function, not a string.  

原文:http://javascript.info/tutorial/introduction-browser-events

 

之前一直没注意过property和attribute的区别,傻傻的把它们统一归为中文“属性”。回想起《Javascript高级程序设计》中有一个曾让我莫名其妙的“特性”(见书P348)。查了一些相关资料,感觉大概整明白了一点。

 

网上有很多娓娓道来剖析原理的解释,个人提炼了一下,关于attribute和property的区别大概主要这么几点:

 

html attribute由 html 定义,dom property 由 DOM 定义;
1. 许多 attribute 有与之对应的 property
2. 一些 attribute 没有对应的 property
3. 一些 property 也没有对应的 attribute
4. attribute在HTML里,大小写一般没有具体要求
5. property在JS里,一般为强制小写。

较为常见的是,html attribute 用于初始化 dom property 的值,之后除非脚本变更,一般不会改变。而 dom property则随着用户的交互行为而随之改变,但所对应的attribute却不会发生相应变化。input 的 value就是绝佳的示例,代码如下:
 
技术分享
 
最后,个人选择不予翻译。。。
(《JS高程》的中文译者为以示区分,选择把attribute翻译成特性,把property翻译成属性)

关于attribute和property

原文:http://www.cnblogs.com/butcherv/p/5186416.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!