js中使用使用原型(prototype)定义方法的好处详解

 更新时间:2016年07月04日 09:07:16   投稿:jingxian  
下面小编就为大家带来一篇js中使用使用原型(prototype)定义方法的好处详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

经常在前端面试或是和其他同行沟通是,在谈到构造在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)定义方法的好处详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • javascript 获取函数形参个数

    javascript 获取函数形参个数

    本节主要介绍了javascript获取函数形参个数的具体实现,需要的朋友可以参考下
    2014-07-07
  • JS中位运算符的一些妙用

    JS中位运算符的一些妙用

    大多数语言都提供了按位运算符,恰当的使用按位运算符有时候会取得的很好的效果,下面这篇文章主要给大家介绍了关于JS中位运算符的一些妙用,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • d3.js 地铁轨道交通项目实战

    d3.js 地铁轨道交通项目实战

    这篇文章主要介绍了d3.js 地铁轨道交通项目实战,本文通过实例代码项目截图给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • JavaScript异步加载浅析

    JavaScript异步加载浅析

    这篇文章主要介绍了JavaScript异步加载浅析,本文讲解了脚本延迟执行、脚本的完全并行化、可编程的脚本加载等内容,需要的朋友可以参考下
    2014-12-12
  • js实现自定义下拉框

    js实现自定义下拉框

    这篇文章主要为大家详细介绍了js实现自定义下拉框,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • BootStrap的select2既可以查询又可以输入的实现代码

    BootStrap的select2既可以查询又可以输入的实现代码

    这篇文章主要介绍了bootstrap的select2既可以查询又可以输入的实现代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • 只出现一次的提示信息(js+cookies)

    只出现一次的提示信息(js+cookies)

    只显示一次的提示信息,刷新一页面或第二次来到这个页面,就不会再弹出提示窗口了,用在网页上是想当实用的吧,因为很多人都不希望经常弹出什么窗口,本效果因此会提升用户体验,让用户喜欢你的网页
    2013-03-03
  • BootStrap注意事项小结(五)表单

    BootStrap注意事项小结(五)表单

    这篇文章主要介绍了BootStrap注意事项小结(五)表单的相关资料,非常不错,具有参考借鉴价值,,需要的朋友可以参考下
    2017-03-03
  • 值得分享的轻量级Bootstrap Table表格插件

    值得分享的轻量级Bootstrap Table表格插件

    这篇文章为大家分享了轻量级Bootstrap Table表格插件,以表格的形式显示的数据,支持单选,复选框,排序,分页,显示/隐藏列等操作,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • js获取json中key所对应的value值的简单方法

    js获取json中key所对应的value值的简单方法

    下面小编就为大家带来一篇js获取json中key所对应的value值的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03

最新评论