本文参考
https://www.w3school.com.cn/js/js_object_definition.asp
JavaScript 对象定义
在js中几乎所有事物都是对象:
布尔是对象(如果用 new 关键词定义)
数字是对象(如果用 new 关键词定义)
字符串是对象(如果用 new 关键词定义)
日期永远都是对象
算术永远都是对象
正则表达式永远都是对象
数组永远都是对象
函数永远都是对象
对象永远都是对象
所有 JavaScript 值,除了原始值,都是对象。
#JavaScript 原始值
原始值指的是没有属性或方法的值。
原始数据类型指的是拥有原始值的数据。
JavaScript 定义了 5 种原始数据类型:
string
number
boolean
null
undefined
原始值是一成不变的(它们是硬编码的,因此不能改变)。
假设 x = 3.14,您能够改变 x 的值。但是您无法改变 3.14 的值。
创建JavaScript 对象
1.使用对象字面量进行创建,定义和创建单个对象,使用对象文字
var person = {
firstName:"Bill",
lastName:"Gates",
age:62,
eyeColor:"blue"
};
2.定义和创建单个对象,通过关键词 new
var person = new Object();
person.firstName = "Bill";
person.lastName = "Gates";
person.age = 50;
person.eyeColor = "blue";
3.定义对象构造器,然后创建构造类型的对象。
JavaScript 对象是易变的
JavaScript的对象是通过引用来寻址,而非值
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"}
var x = person;
x.age = 10; // 这将同时改变 both x.age 和 person.age
JavaScript 对象属性
属性指的是与 JavaScript 对象相关的值。
JavaScript 对象是无序属性的集合。
属性通常可以被修改、添加和删除,但是某些属性是只读的。
访问对象属性的方法有
//1
objectName.property // person.age
//例子
person.firstname + " is " + person.age + " years old.";
//2
objectName["property"] // person["age"]
//例子
person["firstname"] + " is " + person["age"] + " years old.";
//3
//表达式必须计算为属性名。
objectName[expression] // x = "age"; person[x]
//例子
let x="firstname",y="age"
`${person[x]} is ${person[y]} years old.`;
JavaScript for…in 循环
for (variable in object) {
//要执行的代码
}
//例子
var person = {fname:"Bill", lname:"Gates", age:62};
//您必须在循环中使用 person[x]。
//person.x 将不起作用(因为 x 是一个变量)。
for (x in person) {
txt += person[x];
}
添加新属性
通过赋值进行添加新属性
person.nationality = "English";
</