一 对象
1.对象定义
1)除了原始值,都是对象。
2)对象也是变量,但是对象可以包含很多值。
3)对象是易变的:它们通过引用来寻地址,而不是值。
4)原始值是没有属性或者方法的值,原始数据类型是拥有原始值的数据。
js里面5种原始数据类型:
- string
- number
- boolean
- null
- undefined
原始值是一成不变的
2.对象属性
1)定义
属性是指js对象相关的值。
属性通常可以被修改、添加和删除,但是某些属性是只读的。
2)语法
a. 对象名.属性名--------------------------------------------例:person.age
b. 对象名["属性名"]------------------------------------------例:person["age"]
c. 变量名="属性名"; 对象名[变量名]------------------例: x = "age"; person[x]
3)删除属性
delete关键词从对象中删除属性
例:delete person.age;
注:1.不能用于预定义的对像属性。
2.只有当属性是可写时才可以修改值
3.不会删除被继承的属性
3.对象的方法
1)访问
变量名:function(){ } 创建对象方法
对象名.变量名() 访问对象方法
2)添加
a.对象字面量方式
例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var person = {
name: "John",
age: 25,
sayHello: function() {
console.log("Hello!");
}
};
// 添加新方法
person.sayGoodbye = function() {
console.log("Goodbye!");
};
person.sayHello(); // 输出:Hello!
person.sayGoodbye(); // 输出:Goodbye!
</script>
</body>
</html>
b.构造函数方法
例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function Person(name, age) {
this.name = name;
this.age = age;
this.sayHello = function() {
console.log("Hello!");
};
}
// 创建对象实例
var person = new Person("John", 25);
// 添加新方法
person.sayGoodbye = function() {
console.log("Goodbye!");
};
person.sayHello(); // 输出:Hello!
person.sayGoodbye(); // 输出:Goodbye!
</script>
</body>
</html>
4.对象显示
- 按名称显示对象属性
- 循环显示对象属性----------------------------------用for in循环
- 使用 Object.values(对象名) 显示对象----------转化为数组
- 使用 JSON.stringify(对象名) 显示对象---------转化为字符串
注:不能将函数转换为字符串可以将日期、数组转换