js中使用使用原型(prototype)定义方法的好处详解
作者:jingxian 时间:2024-04-22 13:03:54
经常在前端面试或是和其他同行沟通是,在谈到构造在JS定义构造函数的方法是最好使用原型的方式:将方法定义到构造方法的prototype上,这样的好处是,通过该构造函数生成的实例所拥有的方法都是指向一个函数的索引,这样可以节省内存。
当然,这种说法没有任何问题,只是在实现上,并非只有使用prototype的方式才能达到这样的效果,我们可以将方法以函数的形式定义在构造函数之外,然后在构造函数中通过this.method = method的方式,这样生成的实例的方法也都通过索引指向一个函数,具体如下:
// 不使用原型定义方法:
(function() {
function Constractor() {
this.method1 = method1;
this.method2 = method2;
}
function method1() {
}
function method2() {
}
})();
一般使用原型定义时代码如下:
(function () {
function Constractor() {
}
Constactor.prototype = {
method1: function() {
},
method2: function() {
}
};
// 或者
Constactor.prototype.method1 = function() {
};
Constactor.prototype.method2 = function() {
};
})();
理论和实现都没有什么高深的,只是为了达到同样的目的,可以通过不同的途径,只是此种方式在使用instanceOf运算符来判断继承关系时就不奏效了。
标签:js,prototype,原型
0
投稿
猜你喜欢
Python反射的用法实例分析
2023-11-09 13:29:54
Flask response响应的具体使用
2021-01-30 06:48:27
ASP提速技巧五则
2008-03-20 13:20:00
pip install python-Levenshtein失败的解决
2023-07-31 05:17:28
python实现模拟数字的魔术游戏
2021-03-21 17:06:39
手把手教你将Vim改装成一个IDE编程环境(图文) 吴垠
2023-09-09 22:40:43
C#使用SqlServer作为日志数据库的设计与实现
2024-01-17 05:10:12
微信小程序实现多文件或者图片上传
2024-04-29 14:06:10
在js中的replace方法详解
2007-08-21 15:47:00
17个asp常用的正则表达式
2008-01-15 18:58:00
python 对象和json互相转换方法
2022-06-27 18:40:14
js Array的用法总结
2024-04-25 13:08:26
ASP XMLDom在服务器端操作XML文件的主要方法和实现
2011-03-09 11:09:00
如何使用python传入不确定个数参数
2023-10-27 22:56:36
SQLServer查询某个时间段购买过商品的所有用户
2024-01-17 20:02:10
python装饰器相当于函数的调用方式
2021-05-13 13:39:03
ASP.NET MVC4入门教程(八):给数据模型添加校验器
2024-06-05 09:27:38
详细总结Python类的多继承知识
2021-10-02 03:15:02
Pygame Event事件模块的详细示例
2022-04-23 14:55:46
详解Mysql命令大全(推荐)
2024-01-20 08:00:35