• js的构造函数共用事例


    在使用构造函数去实现一种功能时,我们有时候往往需要实现这个功能,会因此产生多个堆内对象。这样就会造成堆内存滥用。占用不该占用的空间。为此我们可以利用函数把共用的内容封装起来。放便我们的使用。很多东西其实都是基于堆与栈的,深入理解一下更有利于学习计算机。代码不算字这个限制什么时候可以消除呢。来自版主的吐槽。为了150字我也很绝望。

      具体事例:

      

    function Person(name,age,gender){
      this.name = name;
      this.age = age;
      this.gender =gender;
      this.sayname = function(){
      console.log("hello! my name is"+ this.name);  
    }
    }
    var per1 = new Person("ton",12,"男");
    var per2 = new Person("lily",11,"男");
    var per3 = new Person("tom",18,"男"); //我们来判断我们生产的对象是不是相同的。
    console.log(per1.sayname==per3.sayname);// false;
    //上面这种情况很明显在我们调用的时候会在堆内产生一个新对象。
    //为了优化这种情况,我们需要将this.sayname这个共用体单独拿出来。
        
                 function Person(name,age,gender){
      this.name = name;
      this.age = age;
      this.gender =gender;
        //向对象中添加一个方法
      this.sayname = fun;
    }
    //将sayname方法在全局作用域中定义;
    function fun(){
      console.log("hello! my name is"+ this.name);  
    }
    //创建一个Person的例子,我们来检查一下。
    
        var per4 = new Person("猪八戒",32,"男");
        var per5 = new Person("唐僧",33,"男");
        console.log(per4.sayname==per5.sayname);// true。 问题解决了。

     感谢观看如果有那里错误还请大佬们指正。来自一个萌新的膜拜。弱者的qq:1985076744.

  • 相关阅读:
    idea 编程字体推荐
    推荐!国外程序员整理的系统管理员资源大全
    jquery阻止事件冒泡的3种方式
    web前端打印总结
    前端打印插件
    object实现小老鼠交互
    前端性能优化(DOM篇)
    输入框获得焦点时外边框颜色改变
    webstorm配置scss自动编译路径
    微信开发测试号配置
  • 原文地址:https://www.cnblogs.com/l8l8/p/8729142.html
Copyright © 2020-2023  润新知