位置: 编程技术 - 正文

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教程)

  • 2023年印花税如何计算
  • 所得税汇算清缴后发现有误怎么办
  • 销售材料的会计分录在实务第几章节
  • 利润分配未分配利润借贷方表示什么
  • 所得税多交退税分录
  • 个税换电脑了还能查到之前的申报记录吗?
  • 电子发票上的字体大小
  • 汇算清缴自查报告
  • 房地产活动礼品送什么比较吸引人
  • 即征即退增值税政策
  • 生育津贴报销流程是怎么样的要去社保局问吗
  • 期末留抵税额转出怎么报税
  • 零申报资产总额填注册资本怎么办呢
  • 公司向外单位借款摘要怎么写
  • 基金公司收到投资者的投资款
  • 支出凭证的日期
  • 各地土地使用税区域差距大
  • 苹果7plus续航
  • 收据大写后面的数字
  • 为什么网页总是跳掉
  • php怎么做网页
  • 十天学会php教程
  • 在php中,字符串有哪些表示形式
  • 工程价款结算的方式
  • 利润增减幅度
  • sci期刊投稿步骤
  • 企业之间是什么意思
  • php产品
  • css字体溢出
  • 销售提成属于什么费用
  • 泛型 static
  • 微信小程序项目中app.js文件是全局样式文件
  • flutter项目怎么运行
  • userpasswords
  • 存货盘亏计入什么收入
  • pandas模块的主要特点
  • 公司还款给个人怎么操作
  • 汇算清缴费用调整怎么做账
  • sql2000安装不上是什么原因
  • 留存收益的个别资本成本计算公式
  • 本月还未抄报,请抄报完成之后再申报
  • 普通发票的税费计入应交税费吗
  • 分公司是否具有独立承担民事责任的能力
  • 年终零余额账户额度和收入相等吗
  • 直接减免增值税的情形
  • 公司注销后应收账款转给个人
  • 委托加工产品消费税税率
  • 工厂没给工人买社保我们应该找哪个部门
  • 提前还贷款计算机
  • 冲销以前年度费用会计分录
  • 破产重组还需要还钱吗
  • 年末净利润为负数结转本年利润实例
  • 结算专用章是财务章吗
  • mysql修改后立即查询
  • Mysql5.7在Centos6中的安装方法
  • 远程删除
  • info.exe病毒
  • 隐藏文件或文件夹
  • win10系统运行速度慢
  • windows10虚拟桌面
  • linux的free命令详解
  • unity跨脚本调用函数
  • opengl帧缓冲
  • opengl learn
  • jquery中checkbox使用方法简单实例演示
  • 巧用dos命令合并图层
  • angular中的controller
  • Node.js中的事件循环是什么样的
  • 如何用python连接数据库
  • Python实现定时任务
  • shell脚本 -ne 0
  • Python3.6正式版新特性预览
  • jquery search
  • Windows下python2.7.8安装图文教程
  • javascript函数大全
  • 吉林省国税税务总局官网
  • 低保大数据核查哪些数据
  • 在山东省一个月水费大概多少
  • 税务局诉讼
  • 粤泰股份公司
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设