构造函数原型
1.原型是什么?
一个对象, 我们也称为 prototype 为原型对象
2.原型的作用是什么?
共享方法
3.一般情况下,
我们的公共属性定义到构造函数里面,
公共的方法我们放到原型对象上
4.好处
不浪费内存,节省空间
1.为什么两个函数可以共享一个方法?
- 因为这个方法不是独立的,是放在每个函数都有的一个属性里面的, 所以当函数想要调用这个方法的时候,就会去查寻
- ,如果自身没有 这个方法就有一个对象原型指向这属性,这样就能找到这个方法了
// 这个属性叫做原型对象 : prototype
// 这个指向原型对象的叫做对象原型 : __proto__
如下图:
1.成员查找机制
根据原型链一层一层的往上找, 就近原则,实在找不到就返回空值
***2.call()***
(1)这个方法是改变this指向的一个方法
(2)有三个参数: 第一个是指向目标,后面两个是参数,可传递,
2.类的本质
(1).本质还是函数
3.some 和 forEach 和 filter
(1).some 是选取达到要求的元素,并且只要选取到了符合要求的元素就停止循环
(2).forEach 是把达到要求的元素全部都选取出来
// 俩者最大的区别就是停止循环的要求不一样
(1).是不会终止循环的,就算找打了达到要求的元素,还是会遍历下去
(2).只要找到了一个达到要求的元素就终止循环 效率更高
(3).则是跟(2).没什么区别,唯一有区别的是some,
4.去除两侧空格 trim()
(1).会生成一个新的字符串, 只会去除两侧空格,并不会去除中间的空格
5.获取对象里面的属性名 keys()
获取该对象里的所有属性名 ,不包含属性值
6.修改属性值 defineProperty()
(1).第一个参数是选择目标
(2).第二个参数是选择目标对象里面的属性,有就是修改,无则是添加
(3).第三个参数是一个花括号,里面是你要添加的内容或者是你要修改的值
(4).不过一般对象里的第一个属性的值是不允许修改的: writable:true/false
默认是不允许修改的.(是写在后面的花括号里的)
(5).允许还是不允许其中的一些值被遍历出来,: enumerable:false/true
默认是为不允许的
(6).允许还是不被允许修改属性(删除还是不可以删除):configurable:false/true
默认是能被删除的.还包括是否允许再次修改改属性的花括号里的特 性