zoukankan      html  css  js  c++  java
  • 一.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)

          }

        }

  • 相关阅读:
    Java并发之Thread类的使用
    剑指Offer
    总结下2017之前的几年
    解决一个特定的负载均衡下定时任务执行多次的问题
    《MYSQL》----字符串的复杂函数,检索的七-天-排-重
    科学计数法的转换
    小伙伴自言自语发给我的聊天记录,一句都看不懂
    记录下一个让我调了一天的失误
    记录一个从没见过的bug
    吐槽下
  • 原文地址:https://www.cnblogs.com/noraZhang/p/10108156.html
Copyright © 2011-2022 走看看