JS中构造函数的方法定义在原型对象里

构造函数中的方法每当new一个对象的时候,就会创建一个构造函数里的方法,如果多个实例对象就会创建多个方法,占用内存,没有提高代码的复用性;

将方法定义到构造函数的原型对象里,创建多个实例对象而共享一个方法,方法创建了一次。

复制代码
<script>
        function Persion(name, age) {
            this.name = name;
            this.age = age;
      //在构造函数里定义方法
this.sing = function () { console.log("I can sing"); } } var p1 = new Persion("jack", 12); var p2 = new Persion("tom", 13); console.log(p1.sing === p2.sing);//false


function Persion2(name, age) { this.name = name; this.age = age; }
    //在构造函数的原型对象里定义方法 Persion2.prototype.sing
= function () { console.log("I can sing"); } var p3 = new Persion2("jack", 12); var p4 = new Persion2("tom", 13); p3.sing();//I can sing p4.sing();//I can sing console.log(p3.sing === p4.sing);//true </script>
复制代码

 

posted @   时光spring  阅读(1144)  评论(0)    收藏  举报
编辑推荐:
· C#高性能开发之类型系统:从 C# 7.0 到 C# 14 的类型系统演进全景
· 从零实现富文本编辑器#3-基于Delta的线性数据结构模型
· 记一次 .NET某旅行社酒店管理系统 卡死分析
· 长文讲解 MCP 和案例实战
· Hangfire Redis 实现秒级定时任务,使用 CQRS 实现动态执行代码
阅读排行:
· C#高性能开发之类型系统:从 C# 7.0 到 C# 14 的类型系统演进全景
· 管理100个小程序-很难吗
· 在SqlSugar的开发框架中增加对低代码EAV模型(实体-属性-值)的WebAPI实现支持
· 如何统计不同电话号码的个数?—位图法
· 使用这个工具,基于代码仓库直接生成教程文档,感觉比我自己写的还好
点击右上角即可分享
微信分享提示