JS面向对象

1,作用域

   

2,闭包:是一个对象(函数 以及函数涉及的变量)本质上就是作用域链(相关链不消失 一直执行)

              复函数每调用一次 就会产生一个新的闭包

                    

#减少全局变量                                         #减少传递给函数的参数数量

          

#封装

3,js对象创建

#自变量                                                                  #Object构造器创建对象

                

                 

               https://blog.csdn.net/u013476542/article/details/54171563

给对象加成员

 (1)

(2)默认属性的特性都为false

(3)默认属性的特性都为false

4,属性的遍历

(enumerable false 遍历不出来)

       (enumerable false 遍历不出来  并且遍历出来的是数组形式)

5,检查对象是否有某个属性

  (检查对象是否自己拥有某一个属性)

  (删除属性)

  (获取对象的属性的描述)

6,构造器(函数本身也是对象  对象才有constructor)

              

    

  等价于       

7,工厂函数                                                                      构造器函数                                                           

            (this代表对象)

8,只有函数才有prototype;prototype是一个对象

9,对象与函数无关系,与函数原来的prototype相关。

10.__proto__;对象才有proto

11.this指向对象 (运行时决定)                                                                              call与applay的改变this的指向                         

                              

                                                                                                                              

                                                                                                                                 

12.call给对象添加属性

           

                        

                                                                                              

13.原型 闭包(原型是继承的前提  函数本身也是对象)

          

14.封装

命名空间                                                                       公有方法

                  

   

15.继承(浅拷贝)                                                         深拷贝

                       

                                      call形式拷贝  

           

16.原型链(继承)

 ,

17.instanceof 判断对象是否函数的实例(原型链)

18.类的继承与实现

       

  等价       

 https://blog.csdn.net/blueblueskyhua/article/details/73135938

19.类继承四部曲

 20.通用继承方法与super

替代第三步,

   

补充知识

             

 21.多态

方法重载(编译 参数)                                           方法覆盖(运行)

                                    

不要改arguments的属性的值

           

                      

             

                                                                                              














原文地址:https://www.cnblogs.com/huiminxu/p/9224423.html