返回顶部
首页 > 资讯 > 前端开发 > VUE >实现JavaScript编写类的方式有哪些
  • 412
分享到

实现JavaScript编写类的方式有哪些

2024-04-02 19:04:59 412人浏览 薄情痞子
摘要

这篇文章将为大家详细讲解有关实现javascript编写类的方式有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。网上实现javascript写类的方法有

这篇文章将为大家详细讲解有关实现javascript编写类的方式有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

网上实现javascript写类的方法有很多, 总结下不外乎以下几种. 我自己学习总结了一下.

构造方法方式;原型方式;构造方法+原型的混合方式

现在具体分析一下以上方式的优缺点:

构造方法方式

这是最基本的也是最像Java写class的方式. 上代码:

//创建一个Student类   function Student(name){        this.name = name;        this.sayName = function(){            alert(this.name);        };   }   //new两个不同的Student.   var jimmy = new Student('jimmy');   var henry = new Student('henry');   jimmy.sayName();//显示jimmy   henry.sayName();//显示henry

这样的方法简单明了, 也符合JAVAer的胃口, 但是每new一个新对象, 就会在内存中分配一个sayName方法, 性能不是很好.

原型方式

//创建一个Student类   //属性和方法都通过Student.prototype设置   function Student(name){       Student.prototype = name;       Student.prototype.sayName = function(){           alert(this.name);       }   }   //new两个不同的Student.   var jimmy = new Student('jimmy');   var henry = new Student('henry');   jimmy.sayName();//显示henry!!!   henry.sayName();//显示henry!!!

也许执行的代码和有些童鞋的期望有出入. 两次alert都弹出henry! 其实很好理解. 属性和方法都通过prototype设置. 不同对象的同一个属性或者方法都指向同一个内存, 所以henry是在jimmy后设置的. 所以henry把jimmy覆盖了.

混合方式

构造方法的方式可以为同一个类的每一个对象分配不同的内存, 这很适合写类的时候设置属性, 但是设置方法的时候我们就需要让同一个类的不同对象共享同一个内存了. 写方法用原型的方式***. 所以写类的时候需要把构造方法和原型两种方式混合着用. 废话少说, 看代码:

//创建一个Student类   //属性通过构造方法设置   //方法通过Student.prototype设置   function Student(name){       this.name = name;       Student.prototype.sayName = function(){           alert(this.name);       }   }   //new两个不同的Student.   var jimmy = new Student('jimmy');   var henry = new Student('henry');   jimmy.sayName();//显示jimmy   henry.sayName();//显示henry

so far so Good. 同一类的不同对象, 属性各自占有内存, 方法共享同一内存. 其实这里还是有一个小问题:

每new一个新对象, 就会执行一次

Student.prototype.sayName = function(){       alert(this.name);  }

造成不必要的重复运算. 可以在类里面设置一个标记位, 第一次执行的时候给这个标志位设置true, 如果为true就不再为prototype设置方法。

关于实现JavaScript编写类的方式有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 实现JavaScript编写类的方式有哪些

本文链接: https://lsjlt.com/news/86361.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 实现JavaScript编写类的方式有哪些
    这篇文章将为大家详细讲解有关实现JavaScript编写类的方式有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。网上实现javascript写类的方法有...
    99+
    2024-04-02
  • JavaScript的书写方式有哪些
    这篇文章主要介绍“JavaScript的书写方式有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript的书写方式有哪些”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
  • Mapper编写方式有哪些
    这篇文章给大家分享的是有关Mapper编写方式有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Mapper 编写有哪几种方式?第一种:接口实现类继承 SqlSessionDa...
    99+
    2024-04-02
  • javascript继承实现的方式有哪些
    本文小编为大家详细介绍“javascript继承实现的方式有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“javascript继承实现的方式有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。什么是继承用官...
    99+
    2023-07-05
  • 编写javascript的工具有哪些
    编写javascript的工具有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。javascript的编写工具有:Sublime Tex...
    99+
    2024-04-02
  • javascript深拷贝实现的方式有哪些
    本篇内容主要讲解“javascript深拷贝实现的方式有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript深拷贝实现的方式有哪些”吧!概念介绍深拷贝:在堆内存中重新开辟一个存...
    99+
    2023-07-02
  • javascript编写工具有哪些
    本篇文章给大家分享的是有关javascript编写工具有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 编写工...
    99+
    2024-04-02
  • javascript编写规范有哪些
    这篇文章主要讲解了“javascript编写规范有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript编写规范有哪些”吧!通用规范文件编码...
    99+
    2024-04-02
  • 反编译jar实现的方式有哪些
    这篇文章主要介绍“反编译jar实现的方式有哪些”,在日常操作中,相信很多人在反编译jar实现的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”反编译jar实现的方式有哪些”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-21
  • JAVA实现Base64编码的方式有哪些
    本篇内容主要讲解“JAVA实现Base64编码的方式有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JAVA实现Base64编码的方式有哪些”吧!定义: 二进制文件可视化Base64 是一种...
    99+
    2023-07-02
  • python的gui编程实现方式有哪些
    Python的GUI编程实现方式有以下几种: Tkinter:Tkinter是Python自带的GUI库,可以创建基于Tk的GU...
    99+
    2023-10-23
    python
  • go实现base64编码的方式有哪些
    本篇内容主要讲解“go实现base64编码的方式有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“go实现base64编码的方式有哪些”吧!go的encoding/base64有四种编码方式:...
    99+
    2023-07-05
  • javascript异步编程有哪些方式
    这篇文章主要为大家展示了“javascript异步编程有哪些方式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“javascript异步编程有哪些方式”这篇文章吧...
    99+
    2024-04-02
  • JavaScript实现页面跳转的方式有哪些
    JavaScript实现页面跳转的方式有以下几种:1. 使用location对象的方法:- `location.href = url...
    99+
    2023-08-08
    JavaScript
  • javascript中实现异步编程的方法有哪些
    javascript中实现异步编程的方法有哪些?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。javascript异步编程的4种方法:1、回调函数,这是异步编程最...
    99+
    2023-06-14
  • java异步编程的实现方式有哪些
    这篇文章主要介绍“java异步编程的实现方式有哪些”,在日常操作中,相信很多人在java异步编程的实现方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java异步编程的实现方式有哪些”的疑惑有所帮助!...
    99+
    2023-07-05
  • 编写Vue v-for循环的方式有哪些
    这篇文章主要讲解了“编写Vue v-for循环的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“编写Vue v-for循环的方式有哪些”吧!这在碰到诸如以下情况时...
    99+
    2023-06-22
  • 编写现代JavaScript代码的小技巧有哪些
    这篇文章主要介绍“编写现代JavaScript代码的小技巧有哪些”,在日常操作中,相信很多人在编写现代JavaScript代码的小技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2024-04-02
  • javascript简写的方法有哪些
    这篇文章主要介绍了javascript简写的方法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 空(null, undefined...
    99+
    2024-04-02
  • 可以编写javascript的软件有哪些
    这篇文章给大家分享的是有关可以编写javascript的软件有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。可以编写javascript的软件有:WebStorm、Atom、Visual Studio Cod...
    99+
    2023-06-14
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作