JavaScript 63 JavaScript 对象 63.2 JavaScript 对象属性
JavaScript
文章目录
- JavaScript
- 63 JavaScript 对象
- 63.2 JavaScript 对象属性
- 63.2.1 JavaScript 属性
- 63.2.2 访问 JavaScript 属性
- 63.2.3 JavaScript for...in 循环
- 63.2.4 添加新属性
- 63.2.5 删除属性
- 63.2.6 属性值
- 63.2.7 原型属性
63 JavaScript 对象
63.2 JavaScript 对象属性
属性是任何 JavaScript 对象最重要的部分。
63.2.1 JavaScript 属性
属性指的是与 JavaScript 对象相关的值。
JavaScript 对象是无序属性的集合。
属性通常可以被修改、添加和删除,但是某些属性是只读的。
63.2.2 访问 JavaScript 属性
访问对象属性的语法是:
objectName.property // person.age
或者
objectName["property"] // person["age"]
或者:
objectName[expression] // x = "age"; person[x]
表达式必须计算为属性名。
person.firstname + " is " + person.age + " years old.";
person["firstname"] + " is " + person["age"] + " years old.";
63.2.3 JavaScript for…in 循环
JavaScript for...in
语句遍历对象的属性。
【语法】
for (variable in object) {
要执行的代码
}
for...in
循环中的代码块会为每个属性执行一次。
循环对象的属性:
var person = {fname:"Bill", lname:"Gates", age:62};
for (x in person) {
txt += person[x];
}
63.2.4 添加新属性
可以通过简单的赋值,向已存在的对象添加新属性。
假设 person 对象已存在 - 那么可以为其添加新属性:
person.nationality = "English";
不能使用预留词作为属性名(或方法名)。请使用 JavaScript 命名规则。
63.2.5 删除属性
delete
关键词从对象中删除属性:
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
delete person.age; // 或 delete person["age"];
delete
关键词会同时删除属性的值和属性本身。
删除完成后,属性在被添加回来之前是无法使用的。
delete
操作符被设计用于对象属性。它对变量或函数没有影响。
delete
操作符不应被用于预定义的 JavaScript 对象属性。这样做会使应用程序崩溃。
63.2.6 属性值
所有属性都有名称。此外它们还有值。
值是属性的特性之一。
其他特性包括:可列举、可配置、可写。
这些特性定义了属性被访问的方式(是可读的还是可写的?)
在 JavaScript 中,所有属性都是可读的,但是只有值是可修改的(只有当属性为可写时)。
(ECMAScript 5 拥有获取和设置所有属性特性的方法)
63.2.7 原型属性
JavaScript 对象继承了它们的原型的属性。
delete
关键词不会删除被继承的属性,但是如果您删除了某个原型属性,则将影响到所有从原型继承的对象。