位置: 编程技术 - 正文

Javascript学习笔记8 用JSON做原型(javascript怎么学)

编辑:rootadmin
代码如下: 但是我们是不能重用这个对象的,我们如何把这个对象作为原型的呢? 首先,在一个JSON对象有一个构造方法是不可能的了,那么我们就做一个简单的“工厂”吧,写一个方法来专门负责创建。 但是通过这个方法我们却发现,我们没有办法用People作为原型,让我们回顾一下:Javascript学习笔记7——原型链的原理 这篇文章,我们想一下这个过程: var p=new People();==>p.__proto__=People.prototype。于是当我们p.SayHello()的时候就会去People.prototype中去找,结果什么都找不到。 如果可以People.prototype.SayHello=function(){}就可以解决这个问题。但是我们知道,只有function才可以有prototype。 那么我们想想之前的推导公式,怎么样能让p.SayHello()呢?如果可以p.__proto__=People就好了。那么我们想个办法: 既然在new的时候,某个对象的__proto__只能等于某个函数的prototype,我们设置一个函数X,令p.__proto__=X.prototype,我们再令X.prototype=People。这样的关系是这样: 这样就相当于用X做了一个中间变量,使得我们可以访问JSON对象的内部属性。但是这样是不是不太优雅呢?我们每次创建一个对象时,都需要来写这样一个辅助的函数。那好,我们就把这个过程封装起来: 但是这样也有一个缺点,就是每次我增加一个类,就需要向Factory里注册一个新方法,这样是很麻烦的,我在很久以前的 玩转方法:call和apply 中说过关于call和apply的区别,因为这里的参数不固定,我们不可能一一列举,因此我们在这里可以用apply来改善这个方法: 这样,一个完整的创建类就诞生了!那么我们每次创建“类”时就都可以用JSON来做了,然后用户每次都统一来调用Factory.Create()就可以了!

推荐整理分享Javascript学习笔记8 用JSON做原型(javascript怎么学),希望有所帮助,仅作参考,欢迎阅读内容。

Javascript学习笔记8 用JSON做原型(javascript怎么学)

文章相关热门搜索词:javascript学习指南,javascript总结笔记,javascript怎么学,javascript教程,javascript基础笔记,javascript基础笔记,javascript学习指南,javascript入门教程,内容如对您有帮助,希望把文章链接给更多的朋友!

Javascript学习笔记9 prototype封装继承 好,那就让我们一步步打造,首先让我们来看下继承原本的写法:scriptvarPerson=function(name,age){this.name=name;this.age=age;}Person.prototype.SayHello=function(){alert(this.n

Javascript 读书笔记索引贴 一.基础篇Javascript学习笔记1数据类型Javascript学习笔记2函数Javascript学习笔记3作用域Javascript学习笔记4Eval函数Javascript学习笔记5类和对象Javascript学习笔记6

JavaScript 学习笔记(九)call和apply方法 call和apply方法call方法可改变上下文this指针,类似的方法还有apply,主要用在js对象各方法互相调用的时候,使当前this实例指针保持一致,或在特殊情况

标签: javascript怎么学

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

上一篇:Javascript学习笔记7 原型链的原理(javascript如何学)

下一篇:Javascript学习笔记9 prototype封装继承(javascript教程)

  • 企业取得房租收据怎么写
  • 当期免抵税额如何做账
  • 小规模纳税人利润如何缴税
  • 所得税汇算清缴补税的会计处理
  • 自然人城建税减半征收
  • 滴滴出行开具的运输服务电子普通发票
  • 事业单位私车公用条例
  • 什么叫税控盘清卡
  • 固定资产进项税额
  • 铁路大票抵扣几个点
  • 加盖发票专用章的是
  • 非破产清算会计案例
  • 个人住房转让纳税标准
  • 个体工商年报怎么弄
  • 客户预付货款会计分录
  • 其他综合收益包含哪些科目
  • 普票开票开给个人怎么开
  • 企业所得税可以扣除的项目有哪些
  • 不征收增值税项目进项税额可以抵扣吗
  • 房地产开发企业取得的土地使用权用于建造
  • 盈余公积什么时候调整
  • 红字发票如果开多了下个月能进行抵扣么?
  • 临时员工什么意思
  • 工程类劳务发票
  • 企业增值税征收时间
  • 外籍人员工资个税
  • 财务会计制度备案操作流程
  • 打英文字母突然没声音了
  • 工信部推出一键解绑怎么用
  • 缴纳税款滞纳金计算方式
  • 苹果11怎么充不上电了
  • 主营业务收入发票
  • 修改系统散热方案
  • 企业办理银行结汇流程
  • 商品购进核算
  • agmservice.exe是什么
  • vue多模块多项目集成
  • 普通发票主营业务怎么填
  • 最高成本的手机是哪款
  • 企业投资固定资产
  • 项目辅材计入什么科目
  • php自定义函数格式是什么
  • 上市公司财报中的销售费用多少合适
  • 购进农产品直接销售核定农产品增值税进项税额计算表
  • 销售并提供安装服务怎么开票
  • 会计凭证的装订范围包括
  • 企业如何采购
  • 小微企业报税是多久报一次
  • 房地产开发企业建造的商品房,在出售前
  • SQL Server 2005通用分页存储过程及多表联接应用
  • 利息收入计入科目
  • 公司销售的产品算固定资产吗
  • 预缴增值税后期如何处理
  • 装修费用应该计入什么科目
  • 预付款项属于什么会计要素
  • 化妆品的成本利润率
  • 如何计算政府补贴应摊销
  • 现金支付中的现金是什么
  • 签合同前的协议叫什么
  • mysql登陆error2002
  • MSsql每天自动备份数据库并每天自动清除log的脚本
  • win10能玩dota
  • mac怎么获取文件路径快捷键
  • 计算机的硬盘
  • win8 网络连接
  • win10怎么添加打印机
  • windows7开机后显示配置失败
  • window mobile系统
  • lnmp一键安装包 linux
  • 为什么我无法更改某些设置电脑
  • unity 3d数学
  • opengl绘制函数
  • socketio nodejs
  • jquery 图片插件
  • android线程间通信的几种方法
  • android gradle task dependence
  • 互联网巨头bat有哪些
  • bootstrap需要学多久
  • 注销税控机流程
  • 专票清单用什么纸打印
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设