1、什么是面向对象?
万事万物皆是对象。
在js中没有class这个概念,而是使用对象 来模拟class;。
js中的的对象是指键值对(key-value)的集合;
eg:class Person{属性和方法}
2、面向对象好处
可以重复使用,有效的简化代码,方便网站维护,执行效率效率高
3、面向对象的三大特征
(1)封装
也就是把客观事物封装成抽象的类,
并且类可以把自己的数据和方法只让可信的类或者对象操作,
对不可信的进行信息隐藏。
(2)继承
它可以使用现有类的所有功能,
并在无需重新编写原来的类的情况下对这些功能进行扩展。
(3)多态
允许将子类类型的指针赋值给父类类型的指针。
4、构造函数是什么?
面向对象的一种方法,主要用来创建对象时初始化对象。
5、构造函数的执行过程
1,new 创建对象,然后传递给构造函数的this
2,在构造函数内部添加样式
6、构造函数的使用注意事项
1)方法名必须和类名一致
2)构造函数木有返回值。 (一切跟返回值相关的修饰都别写,也不要用void来修饰!!)
3)构造函数是可以重载的。
4)如果不写构造函数,系统会默认为我们添加一个无参数的构造函数。
5)一旦定义了构造函数,系统默认添加的无参构造函数就木有了。
6)子类的构造函数,会默认调用父类的无参构造函数。
7、什么是原型
指向一个对象,这个对象的用途是包含特定类型的所有实例共享的属性和方法,
即这个原型对象是用来给实例共享属性和方法的。
8、原型的作用是什么?
一:数据共享,节省空间
二:在子类构造函数中借用父类构造函数,再通过原型继承父类的原型属性和方法,模拟继承的效果
9、如何获取原型(2种方式)
1.构造函数.prototype
2. 对象实例.proto
10、原型的使用方式(2种)
(1)利用对象的动态特性给原型对象添加成员(属性、方法)
(2)直接替换原型对象:对象.prototype里面的prototype其实就是对象的一个属性,所以是可以修改替换的。
js高级中的一些知识点
最新推荐文章于 2022-08-30 08:15:37 发布