• 一.js高级(2) -构造函数-原型对象


    3.构造函数用new创建实例的过程

      1)       创建一个空对象

      2)       将this 指向实例, 将函数的作用域赋给空对象

      3)       创建新对象

      4)       返回新对象

    使用构造函数不仅代码更加简洁,更重要的是能够识别对象的类型了

    4.构造函数的实例的关系 

          1)实例的constructor = 构造函数 console.log(p1.constructor = Person)  true

            Costructor 属性最初就是用来标识对象的类型的,

        2)  用instanceof判断对象的类型更加严谨, console.log(p1 instanceof Person)  true

     

    1. 构造函数的问题

        每创建一个实例, 都生成新的一模一样方法,造成内存的极大浪费

        Console.log(p1.sayHello == p2.sayHello)  false

       2. 解决方法:这样我们想到把方法放到函数的外面,这样 p1.sayhello = p2.sayHello

        function sayHello = function() {

                 Console.log (“你好”)

        }

        function Person(name, age){

        This.sayHello = sayHello;
        }

      

        3. 初步解决方法:将方法封装在一个对象里面,避免全局命名空间冲突的问题

                  var fns = {

                     sayHello:function(){

                       Console.log (“你好”)

        },

        sayAge: function(){

          console.log(this.age)

          }

        }

  • 相关阅读:
    bzoj2400 Spoj 839 Optimal Marks
    01分数规划
    bzoj1565 植物大战僵尸
    bzoj1497 最大获利(最大权闭合子图)
    bzoj3144 切糕
    loj6045 价
    bzoj3894 文理分科
    luogu3731 新型城市化
    快速傅里叶变换(FFT)
    bzoj1030 文本生成器
  • 原文地址:https://www.cnblogs.com/noraZhang/p/10108156.html
Copyright © 2020-2023  润新知