最新的Web开发教程
 

JavaScript对象属性


属性是任何JavaScript对象的最重要的部分。


JavaScript的性能

属性是用JavaScript对象关联的值。

JavaScript对象是无序属性的集合。

属性通常可以更改,添加和删除,但有些是只读的。


访问JavaScript的性能

访问的对象的属性的语法是:

objectName.property          // person.age

要么

objectName["property"]       // person["age"]

要么

objectName[expression]       // x = "age"; person[x]

表达式的值必须为属性名。

例1

person.firstname + " is " + person.age + " years old.";
试一试»

例2

person["firstname"] + " is " + person["age"] + " years old.";
试一试»

的JavaScript for...in循环

中的JavaScript for...in语句遍历一个对象的属性。

句法

for (variableinobject) {
    code to be executed
}

的代码的内部块for...in循环将一次为每个属性执行。

通过一个对象的属性循环:

var person = {fname:"John", lname:"Doe", age:25};

for (x in person) {
    txt += person[x];
}
试一试»

添加新特性

您可以通过简单地给它一个价值的现有对象添加新的属性。

假设人对象已经存在 - 那么你可以赋予它新的特性:

person.nationality = "English";
试一试»

不能使用保留字财产(或方法)的名称。 JavaScript的命名规则。


删除属性

delete关键字删除一个对象的属性:

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
delete person.age;   // or delete person["age"];
试一试»

delete关键字删除属性的两个值和属性本身。

删除之后,再次添加回之前不能使用的属性。

delete运算符的目的是要在对象属性使用。 其对变量或函数没有影响。

delete操作者不应该预先定义的JavaScript对象的属性可以使用。 它可以引起程序崩溃。


property属性

所有属性有一个名称。 此外他们还有一个值。

该值是属性的属性之一。

其他属性是:枚举的,可配置的,可写的。

这些属性定义属性如何被访问(它是可读的?是不是写吗?)

在JavaScript中,所有的属性可以读,但只有value属性是可以改变的(且仅当该属性是可写的)。

(ECMAScript中有5为获取和设置所有的财产属性的方法)


原型属性

JavaScript对象继承其原型的属性。

delete的关键字不会删除继承属性,但是如果你删除一个prototype属性,它会影响从原型继承的对象。