JavaScript:字段或属性

时间:2011-02-02 08:45:06

标签: javascript properties field

在我看过的每个JavaScript教程中都有一些关于对象属性的提及。但为什么他们称之为财产呢?例如构造函数属性var a = function{this.b},其中b再次被称为属性。据我所知,属性有getter和/或setter,所以那些应该叫做field,不应该吗?

2 个答案:

答案 0 :(得分:5)

某些浏览器供应商已经为JavaScript属性实现了getter / setter。

FF和Webkit为DOM对象实现了__defineGetter____defineSetter__,并为在ECMA规范之外的Object获取和设置。然而,IE 8+和IE 8+都有Object.defineProperty(来自ECMA规范)。阅读它here

至于你原来的问题,我会说它在JavaScript中被称为属性的原因是它是一种动态语言,而基本标记只使用属性和局部变量。由于所有内容都绑定到特定的范围层次结构,因此每个级别上都有不同的树分支。 Douglas Croockford将它们命名为属性:)

答案 1 :(得分:2)

hashmapdictionaryassociative array类似;不同的语言喜欢称他们为不同的东西。术语(遗憾的是)在编程语言之间不是100%可转移的。