目录
对象的定义
JS中的对象就是一个数据容器,也叫作数据结构。
对象是一个具体的事物,一个具体的事物就会有行为和特征。例如:一辆汽车,一部手机;
属性∶事物的特征,在对象中用属性来表示(常用名词)
方法∶事物的行为,在对象中用方法来表示(常用动词)
对象是由属性和方法组成的。 当属性值是一个函数的时候我们称呼这条属性是 "方法"
属性的结构 是 属性名: 属性值
属性值 任意的数据都可以 字符串 数字 布尔值 undefined null 函数 数组 对象
总结:对象是属性的无序集合,其属性可以包含基本值、对象或函数。
可以把JavaScript中的对象想象成键值对,其中值可以是数据和函数。
对象的行为和特征
特征---属性
行为---方法
- 事物的特征在对象中用属性来表示。
- 事物的行为在对象中用方法来表示。
顺便一提:当属性的值是函数时,我们管它叫做对象的方法。 当属性值是一个函数的时候我们称呼这条属性是 "方法"
对象创建方式
1.字面量创建对象;
var obj = {
key: value,
key1: value1,
...
}名 : "值" ,
名和值 之间是冒号, 值用"" 引起来, 多个属性或方法之间用逗号隔开;
方法 (使用函数),名后面 :(冒号) 直接跟 匿名函数;
2.利用构造函数创建对象 new Object ()
var obj = new Object();
创建一个空的对象,往对象里填内容;
对象名.属性名 = 属性值 ;
各属性或方法之间用分号;隔开
(对象的调用)
获取对象属性值的方法:
点语法
//定义一个对象
var obj = {
"name": "张三",
"girlFriend": {
"name": "小红"
}
}
console.log(obj.name) // 张三
方括号语法
// 定义一个对象
var obj = {
"name": "张三",
"girlFriend": {
"name": "小红" // 对象里套了个对象;
}
}console.log(obj['name'])// 张三
console.log(obj['girlFriend']) // {name: '小红'}
- 对象里面的属性调用 方法一: 对象.属性名,这个小点.就理解为“的”
- 对象里面属性调用 方法二 :对象[‘属性名'],注意方括号里面的属性名必须加引号""
- 调用对象里的方法(函数);↓
- 对象里面的方法调用:对象.方法名(),注意这个方法名后面一定加括号 (方法就是函数 直接调用)
添加对象属性的方法:
点语法添加属性: 点语法:点什么就是什么
var zhangsan = {}
zhangsan.height = '180cm'
console.log(zhangsan); // {height: "180cm"}方括号语法添加属性:
var zhangsan = {}
zhangsan['weight'] = '60kg';
zhangsan["age"] = 19;
console.log(zhangsan); // {weight: '60kg', age1: 19}
删除对象属性的方法
delete 这是一个关键字 用于删除对象的属性
delete obj.name; 或 delete obj['name';]
var obj = new Object();obj.name = "mm";
obj.age = 19;
obj.sex = "女";
console.log(obj.name); // mm
delete obj.name; delete obj["name"]
console.log(obj.name); // undefinedconsole.log(obj) // age: 19, sex: "女"
循环对象 (遍历对象) for in
for...in语句用于对数组或者对象的属性进行循环操作。
for ( var k in 对象名 ) {
输出 k 变量 得到是属性名 ;
输出 数组名[k] 得到的是 属性值 ; [ ] 方括号内不加引号;
}
var obj = {
a: 1,
b: 2,
hello: "world",
i: "hahaha",
};
for (var i in obj) {
// for in 循环中的i是循环变量 它的值是属性名
console.log(i, obj[i]);
}