2020.10.27

118 阅读1分钟

1.JS中构造函数与其他函数的区别是它们的调用方式不同。

2.JS中构造函数用new 操作符来调用,这就是它的特点。

3.可以利用call()或者apply()在其他对象作用域中调用函数,那么这个对象就可获得这个函数定义的属性和方法(如果有的话)。

4.构造函数方法也有其缺点,就是会在不同实例中定义同名函数,浪费大量资源。解决方法:把这个函数的定义转到构造函数外,构造函数里面引用其就行了。但会引起其他问题。

5.原型模式,用prototype来定义属性和方法,所有实例共享。

6.就相当于这些实例的内部指针[Prototype]都指向原型对象,所以可以用原型对象的属性和方法来共享。

7.[[Prototype]]一般无法访问到,但是可用isPrototypeof()方法来检测对象是否属于这个实例。

8.ES5增加了获得原型对象的函数:Object.getPrototypeof()。

9.JS中函数与对象的关系,函数是FUNCTION引用类型的实例(也可以叫做引用类型的值),也是一个对象,[[Prototype]]  而函数名是指向函数对象的指针。

10.注意CSS中nth-child(n)和nth-child-type(n)的区别,后者指定了类型。