属性是任何 JavaScript 对象最重要的部分。
属性是与 JavaScript 对象关联的值。
JavaScript 对象是无序属性的集合。
属性通常可以更改、添加和删除,但有些属性是只读的。
访问对象属性的语法是:
objectName.property // person.age
或者
objectName["
property"] // person["age"]
或者
objectName[
expression] // x = "age"; person[x]
该表达式的计算结果必须是属性名称。
JavaScriptfor...in
语句循环遍历对象的属性。
for (let
variable in
object) {
// code to be executed
}
里面的代码块for...in
循环将为每个属性执行一次。
循环遍历对象的属性:
const person = {
fname:" John",
lname:" Doe",
age: 25
};
for (let x in person) {
txt += person[x];
}
亲自试一试 »
您可以通过简单地给现有对象赋值来向其添加新属性。
假设 person 对象已经存在 - 然后你可以给它新的属性:
这个delete
关键字从对象中删除属性:
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
delete person.age;
亲自试一试 »
或删除人["age"];
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
delete person["age"];
亲自试一试 »
这个delete
关键字删除属性的值和属性本身。
删除后,该属性在重新添加回来之前无法使用。
这个delete
运算符被设计用于对象属性。它对变量或函数没有影响。
这个delete
不应在预定义的 JavaScript 对象属性上使用运算符。它可能会使您的应用程序崩溃。
一个对象中的值可以是另一个对象:
myObj = {
name:"John",
age:30,
cars: {
car1:"Ford",
car2:"BMW",
car3:"Fiat"
}
}
您可以使用点符号或方括号符号访问嵌套对象:
或者:
或者:
或者:
对象中的值可以是数组,数组中的值也可以是对象:
const myObj = {
name: "John",
age: 30,
cars: [
{name:"Ford", models:["Fiesta", "Focus", "Mustang"]},
{name:"BMW", models:["320", "X3", "X5"]},
{name:"Fiat", models:["500", "Panda"]}
]
}
要访问数组内部的数组,请对每个数组使用 for-in 循环:
for (let i in myObj.cars) {
x += "<h1>" + myObj.cars[i].name + "</h1>";
for (let j in myObj.cars[i].models) {
x += myObj.cars[i].models[j];
}
}
亲自试一试 »
所有属性都有一个名称。此外,它们也有其值。
该值是属性的属性之一。
其他属性包括:可枚举、可配置和可写。
这些属性定义了如何访问该属性(是否可读?是否可写?)
在 JavaScript 中,所有属性都可以读取,但只有值属性可以更改(并且仅当属性可写时)。
( ECMAScript 5 具有获取和设置所有属性的方法)
JavaScript 对象继承其原型的属性。
这个delete
关键字不会删除继承的属性,但如果删除原型属性,则会影响从原型继承的所有对象。
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!