位置: 编程技术 - 正文

JavaScript的面向对象方法以及差别(如何理解js的面向对象)

编辑:rootadmin
第一种:使用this关键字 function Class1() { this.onclick = function(e) { for (var i=0; i < ; i++) { var a = new Date(); } } } 使用this.的方法可以很灵活地给对象添加属性和方法,而且和大部分的OOP语言都相似,甚至在运行中都可以添加。 第二种:使用prototype关键字 function clickFunc(e) { for (var i=0; i < ; i++) { var a = new Date(); } } function Class2() { } Class2.prototype.onclick = clickFunc; 这种用法上来讲就没有第一种显得灵活。不过在一个对象new出来之前,也是一样可以随时添加一个对象的属性和方法。 可是他们并不是相等的,相对来说,我更喜欢第一种,因为第一种方法相对比较集中,比较容易阅读代码。但是在运行的时候,他们运行的效率却差别相当地大。以下让我们看一下测试代码吧: var total = new Array(); function Test1() { var a = new Date(); for (var i=0; i < ; i++) { var c = new Class1(); //total.push(c); } var b = new Date(); alert(b.getTime()-a.getTime()); } function Test2() { var a = new Date(); for (var i=0; i < ; i++) { var c = new Class2(); //total.push(c); } var b = new Date(); alert(b.getTime()-a.getTime()); } 第一步作执行时间的测试:发现Test1()需要ms,而Test2()仅需ms.发现时间效率上来说,prototype的方法相对this来说,更加高效。 第二步作内存占用的测试,把total.push(c);这行的注释去掉,之所以要把它们加入到数组里面去,防止创建的时候,对象比较多的时候,没有被引用的对象被GC了。结果发现差距不是一般的大,第一种方法要占用二三十M的内存,而第二种只需要一百多K。 成因推断: 在处理这两种代码的时候,第一种,JS的解析器,给每个对象都创建一个单独的方法,这样增加了内存的开销,同时创建方法的时候,增加了运行时间。第二种,JS的解析器和大部分的OOP编译器一样的,把对象的数据段和方法段分开存储了,对于对象的私有数据,则是每个对象一份,而这些方法,则是放在公共的方法段里,所以可以减少运行时间和内存的开销。

推荐整理分享JavaScript的面向对象方法以及差别(如何理解js的面向对象),希望有所帮助,仅作参考,欢迎阅读内容。

JavaScript的面向对象方法以及差别(如何理解js的面向对象)

文章相关热门搜索词:javascript语言的面向对象的特性主要表现在哪些方面?,js面向对象的三大特性,javascript语言的面向对象的特性主要表现在哪些方面?,javascript的面向对象,js面向对象的三大特性,js面向对象的三大特性,javascript语言的面向对象的特性主要表现在哪些方面?,javascript面向对象编程指南,内容如对您有帮助,希望把文章链接给更多的朋友!

JavaScript面象对象设计 新一篇:JavaScript中字符串相等比较面象对象的应用是相当广泛的,在桌面编程中很早就出现了,应用比较成熟,象C++,Java,C#等。而在Web编程这一块,

JavaScript对象模型-执行模型 简单数值类型:有Undefined,Null,Boolean,Number和String。注意,描述中的英文单词在这里仅指数据类型的名称,并不特指JS的全局对象Nan,Boolean,Number,String等,它

js 简单类代码 无标题文档[Ctrl+A全选注:如需引入外部Js需刷新才能执行]

标签: 如何理解js的面向对象

本文链接地址:https://www.jiuchutong.com/biancheng/386450.html 转载请保留说明!

上一篇:详解new function(){}和function(){}() 区别分析(详解16型人格)

下一篇:JavaScript面象对象设计(javascript 面向对象)

  • 税控盘减免税款月末如何结转
  • 赠与房屋再次出售的缴税问题有哪些
  • 动产租赁适用税率
  • 外购商品结转成本分录
  • 车间人员负担的工会经费
  • 纳税申报财务报表上期数
  • 多开票要交多少税
  • 变更了公司名称以前的发票还可以抵扣吗
  • 租办公室还要交什么税
  • 装订会计账簿的方法
  • 补交前期未开票收入税金本期怎么申报?
  • 广告制作需要交文化建设费吗
  • 购买的商品赠送如何做账
  • 上市公司个税手续流程
  • 境外派遣员工境外所得税是什么时候申报?
  • 3%增值税率包括哪些
  • 现房销售需要哪些手续
  • 电解铜进口可以卖吗
  • 企业所得税营业利润怎么算
  • 售楼部购买空调计入哪个科目
  • 增值税的计税公式为
  • 累计折旧差错调整减少
  • 购买商品接受劳务的现金流包括哪些
  • 4500监控
  • 教学用具属于什么项目类别
  • PHP:pg_get_notify()的用法_PostgreSQL函数
  • driver-e
  • windows7旗舰版最新版本
  • 温尼伯湖成因
  • php \t
  • 呆账损失是什么意思
  • 常见造成账目差异的原因
  • 金融商品转让收入
  • 长期待摊费用的会计分录
  • 安装工程在工程建设中的主要内容有哪些
  • 残疾人就业保障金怎么申报
  • 不是吧阿sir表情包
  • 大学生web前端期刊有哪些
  • opencv怎么训练
  • yii框架教程
  • 如何查看发票是否作废
  • ms-sql-s
  • 劳务报酬的增值税起征点
  • 内部审计和外部审计可以相互接触对方的
  • 私车公用发票去哪个税务局开
  • 什么是年化收益和绝对利率
  • 固定资产已提完折旧,但仍在使用,需要定期清理吗?
  • 多计提的折旧费怎么做账
  • 进项税留底怎么处理
  • 广告公司制作警车违法吗
  • 支付进口增值税
  • 损益类费用科目结转本年利润是余额结转还是发生额结转
  • 库存商品的成本
  • 银行开户许可证怎么查询
  • 餐费补贴属于工资还是福利费
  • 帐簿的保管期限
  • sqlserver 中文字符集
  • mysql 5.6 从陌生到熟练之_数据库备份恢复的实现方法
  • SQL 导入导出Excel数据的语句
  • Linux平台mysql开启远程登录
  • 和查看已连接的wifi密码
  • win7开机taskeng
  • 为什么要淘汰相关性高的指标
  • Win10预览版怎么变回正式版
  • 在windows xp
  • win102020h2版本
  • window8怎么样
  • ie 无法打开
  • Tutorial 3: First Triangle
  • 每日一个linux命令
  • bootstrap入门
  • shell中的grep怎么用
  • unity服务器端
  • Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍
  • js easyui
  • android退出程序代码
  • 郑州税务局电话客服电话
  • 企业投资项目备案表模板
  • 国家级运动员怎么申请
  • 车辆购置税税率多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设