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

本文介绍了JavaScript中构造函数创建实例的过程,包括空对象创建、this指向实例、新对象创建及返回等步骤。同时探讨了构造函数实例间的关系,如通过constructor属性和instanceof操作符来确定对象类型的方法。此外,还讨论了构造函数导致的方法重复问题及其解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)

      }

    }

转载于:https://www.cnblogs.com/noraZhang/p/10108156.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值