什么是对象
定义:
在面向对象编程中,万物皆对象!对象是一种具体的事物。
JS对象就是一种复合的数据类型,JS对象是由一个或多个数据类型构成。
且对象是一种特殊的数据,拥有属性和方法。
对象的几种类型
1.内建对象
- 内建对象:由ES标准中定义的对象
- 比如:Boolearn String Number ...
2.宿主对象
- 由js的运行环境提供的对象,目前来讲主要指由浏览器提供的对象
- 比如BOM DOM
3.自定义对象
- 由开发人员自己创建的对象 => 我们经常创建和使用的
创建对象
1.1使用构造函数创建对象
- var obj = new Object();//创建了一个空对象
- 追加对象属性和方法:
obj.name = name;
obj.age = age;
obj.gender = gender;
obj.sayName = function(){
alert(this.name);
}
1.2.为什么要通过构造函数创建对象
- 因为一次创建一个对象,里面很多的属性和方法是大量相同的
- 因此可以利用函数的方法重复这些相同的代码。我们也就把这个函数称为构造函数
- 又因为这个函数不一样,里面封装的不是普通代码,而是对象
2.1.使用对象字面量来创建一个对象
- var obj = {}
- var obj = {
name:"猪八戒",
age:28,
gender:"男"
}
类与对象
类与对象:
- 构造函数,抽象了对象的公共部分,封装到了函数里面,它泛指某一大类
- 创建对象,特指某一个,通过new关键字创建对象的过程我们也称为对象实例化
例子:
汽车设计图纸 => 构造函数
一辆宝马 => 对象实例
常用方法
1. 修改对象的属性值
- 语法:对象.属性名 = 新值
- obj.name = "tom";
- 语法:对象["属性名"] = 属性值
- obj["name"] = "孙悟空";
2. 删除对象的属性
- 语法:delete 对象.属性名
- delete obj.name;
3.in 运算符
- 通过该运算符可以检查一个对象中是否含有指定的属性
- 如果有则返回true,没有则返回false
- 语法:"属性名" in 对象
- 实例: console.log("test2" in obj);
注意:修改对象属性值的时JS引擎会把[]里的内容转为字符串
总结
这篇文章既是自己的第一篇文章也是自己对js面向对象一部分的理解
当然也有许多不足之处,希望各位大佬多多指教`
参考资料
- B站黑马程序员pink老师
link