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)

          }

        }

  • 相关阅读:
    选择排序
    UVA 10142 Australian Voting(模拟)
    Android Intent 其中一个分析
    leetcode先刷_Merge Two Sorted Lists
    图片缓存负载
    c/c++ 基金会(七) 功能覆盖,虚函数,纯虚函数控制
    Petroglyph访问:中间件游戏
    Cocos2d-x3.0 文件处理
    Qt5官方demo分析集29——Extending QML
    [Phonegap+Sencha Touch] 移动开发34 gem安装compass,不编译scss,怎么办?
  • 原文地址:https://www.cnblogs.com/noraZhang/p/10108156.html
Copyright © 2011-2022 走看看