位置: 编程技术 - 正文

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

  • 一般纳税人金税盘抵税会计分录
  • 个体户需要做利润分析吗
  • 小规模纳税人现金折扣算增值税吗
  • 土地使用权摊销计入在建工程
  • 技术服务费3%
  • 财务软件无形资产摊销几年
  • 党建经费可以用来干什么
  • 企业商品收入确认的依据
  • 个体户交了增值税又开负数发票怎么退税
  • 单位多久查一次征信
  • 研发费用资本化支出
  • 收到货款未开发票怎么做分录
  • 小规模企业所得税标准
  • 辞退福利税前扣除标准
  • 定额发票是啥
  • 预提工程成本的会计分录
  • 附加税的税率表
  • 含税房租
  • 华为折叠手机mateXs3
  • 一刀999是什么游戏
  • 谨慎性原则的具体体现有哪些
  • 笔记本电脑预装
  • win7系统不可用怎么办
  • PHP:session_status()的用法_Session函数
  • windows dvd maker是什么
  • aliapp.exe是什么意思
  • 固定资产公允价值变动会计处理
  • 财政部土地出让收支管理办法
  • 发票真伪查询的金额填多少
  • nuxt怎么用
  • php写一个函数,算出两个文件的相对路径
  • 汽车维修收费标准及费用计算方法
  • php实现多条件查询
  • Yii使用migrate命令执行sql语句的方法
  • 弥补以前年度亏损金额从哪里来的
  • yolov5m
  • 原生微信小程序面试题
  • php日期计算器
  • php23种设计模式
  • 盈余公积转增资本的最高限额
  • 无需本地部署的软件
  • 蓝桥杯咋样
  • 销售退货和销售折让的区别
  • 免税农产品包括30万元吗
  • 工会收到单位拨款的会计分录
  • 资产负债表的负债项目显示了企业所负担债务的
  • 农业技术服务费税率
  • 现金结算的特点和概念
  • 预付费卡开票
  • sql2005数据库
  • db2 select as
  • 差旅费报销人员范围
  • 母公司兼并子公司怎么办
  • 再保后赔款支出
  • 固定资产超过多少入账
  • 出口报关金额怎么算
  • 土地增值税预缴计算方法70号公告
  • 预付账款如何调平
  • 人们对餐饮业的要求
  • 小规模公司购买汽车如何抵税
  • 专用发票账目不对怎么办
  • Linux(Ubuntu)下Mysql5.6.28安装配置方法图文教程
  • xp系统重装u盘
  • 安装windows7之前,应该做好准备工作
  • windows累积更新
  • WIN10怎么设置在平板模式下隐
  • 苹果官网入口
  • window8输入法怎么设置
  • window10应用商店
  • 巧用dos命令合并图层
  • Internet Explorer 8 beta 中文版与IE7共存的解决方法
  • 猫的所有视频
  • js打开浏览器新的tab页
  • python抢红包
  • jQuery实现TAB选项卡切换特效简单演示
  • 在WINDOWS系统中回收站的作用不包括
  • js为什么不能用var定义变量
  • 在电子税务局如何增加税种
  • 国家税务总局公告2017年第21号
  • 税收收入弹性值
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设