JS对象(是什么+找对象+啥作用+怎么用+高效了吗)

写在前面
马克思说:实践出真知。
我说:马克思说的有道理。
JS对象学习记录
- 1.是什么?
- 2.找对象?
- 3.啥作用?
- 4.怎么用?
- 4.0 几句家常话
- 4.1 创建(对象)并初始化属性
- 4.2 访问(对象)属性
- 4.2.1 用. objectName.propertyName
- 4.2.2 用[ ] objectName['propertyName']
- 4.3 更新(对象)属性。
- 4.3.1 用 .
- 4.3.2 用[ ]
- 4.4 添加(对象)属性
- 4.4.1 用.
- 4.4.2 用[ ]
- 4.5 删除(对象)属性
- 4.5.1 用.
- 4.5.2 用[ ]
- 4.6对象构造器
- 4.7 创建(new)对象实例
- 5.高效了吗?
1.是什么?
正装:
JS对象是包含属性和方法的特殊数据类型。
便装:
举个栗子,一辆小汽车就是一个对象。它包含属性(颜色,大小等),包含方法(可以鸣笛,刹车,启动,关闭)。
感受一下:
| 对象 | 属性 | 方法 |
|---|---|---|
| 汽车 | car.color | car.didi |
| car.size | car.stop |
2.找对象?
对象(男女朋友),你有没有,我不知道。但是js中的对象,却很好找。
什么可以是一个对象?
- 布尔型数据
- 数字型数据
- 字符串
- 日期
- 数字和正则表达式
- 数组
- 函数
举例上代码:
(字符串创建对象)
var person = {name: "John", age: 31, favColor: "green", height: 183
};

3.啥作用?
4.怎么用?
4.0 几句家常话
- JS对象是变量的容器
- JS对象是键值对的容器 键值对格式name:value
- 键值对在JS对象中成为对象属性
- 一般认为,JS对象那个是属性变量的容器
4.1 创建(对象)并初始化属性
var person = {// 通用格式 属性:属性值name: "John", age: 31, favColor: "green", height: 183
};
4.2 访问(对象)属性
4.2.1 用. objectName.propertyName
var x = person.age;
4.2.2 用[ ] objectName[‘propertyName’]
var y = person['age'];
4.3 更新(对象)属性。
更新对象与访问对象同样,具有两种方式:
4.3.1 用 .
person.name = "Happy Camper";
4.3.2 用[ ]
person["name"] = "Happy Camper";

4.4 添加(对象)属性
4.4.1 用.
4.4.2 用[ ]
var ourDog = {
"name": "Camper",
"legs": 4,
"tails": 1,
"friends": ["everything!"]
};ourDog.bark = "bow-wow"; // bark属性在原对象中不包含,为新添加内容
// 等价于 ourDog['bark'] = "bow-wow";
4.5 删除(对象)属性
4.5.1 用.
4.5.2 用[ ]
var ourDog = {
"name": "Camper",
"legs": 4,
"tails": 1,
"friends": ["everything!"]
};var c1 = ourDog['tails']; // c1 等于 1// 删除 tails 属性
delete ourDog['tails']; // 等价于 delete ourDog.tails
var c2 = ourDog['tails']; // c2 等于 undefined
4.6对象构造器
对象构造器,顾名思义,我们使用一个“机器”来构造对象,向及其里面丢材料,出来对象成品,是不是很爽。
- 机器,就好比是函数
- 材料,就好比是参数
- 成品,就好比是返回值
看代码,一睹为快
function person(firstname, lastname, age, eyecolor)
{this.firstname = firstname;this.lastname = lastname;this.age = age;this.eyecolor = eyecolor;
}
在JavaScript中,this通常指向的是我们正在执行的函数本身,或者是指向该函数所属的对象(运行时)
4.7 创建(new)对象实例
var myFather = new person("John","Doe",50,"blue");
提示: myFather 和 myMother 是 person 对象的实例,它们的属性分配给相应的值。
5.高效了吗?
面向对象的目的是为了抽象。
抽象的目的是为了找规律。
找规律的目的就是为了偷懒。
最终也是为什么你也要写程序的目的。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

