位置: 编程技术 - 正文

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

  • 收到待报解预算收入怎么查退的什么税
  • 认缴制股权转让印花税的计税依据是什么
  • 外地多预交的税款申报时该怎么填写?
  • 分期付款发票开具
  • 企业注销库存怎么做账
  • 公司汽车购置税怎么交
  • 分公司的所得税怎么申报
  • 汇算清缴退回的所得税
  • 收回已核销的坏账什么意思
  • 专项附加扣除的钱去哪里了
  • 职工的保险费在哪里查
  • 员工疗养要扣公休假吗
  • 商品销售税金及附加科目现在改了吗
  • 应付职工薪酬计入现金流量表哪里
  • 期交保费资金占用年限计算公式
  • 税控技术服务费需要交印花税吗
  • 以前年度企业所得税少计提实际已交
  • 购买债券投资的交易费用
  • 食堂货款报账明细表
  • 发票开了收不到钱
  • 交付使用资产科目核算
  • 收到采购折扣的账务处理
  • 待摊费用在资产负债表中怎么填
  • applepay怎么用云闪付
  • 苹果手机系统更新在哪里找
  • 股东借款作为项目资本金
  • php array_search() 函数使用
  • 安装adsl modem必须安装什么协议
  • 保险委托支付
  • 跨境电商需要缴纳哪些税种
  • windows安装无法继续,若要安装请重新启动
  • php生成随机字母数字代码
  • 浅析是什么意思
  • 企业固定资产可以按照其价值和使用情况,确定采用某一
  • Python 人脸识别系统
  • 事业单位新会计制度固定资产
  • 上年折旧费多计提了,本年怎么调
  • 在建工程预付款超过审计价怎么办
  • 个人发票抬头和公司发票抬头有什么区别
  • 经营活动现金流量比率
  • 高温费收税吗
  • 装卸搬运的设备有哪些
  • 三栏式明细账适用于原材料明细账
  • 资产减值损失属于什么科目
  • sql2012 win10
  • 跨年增值税专用发票红字发票怎么开
  • mysql如何做优化
  • 小企业会计准则2023电子版
  • 收到发票怎么写摘要
  • 住房公积金有什么好处和优势?
  • 资产减值损失影响企业利润总额吗
  • 技术转让费如何收取合理
  • 应付账款借方余额负数表示什么
  • 个人所得税不允许核定的行业
  • 油卡充值做账
  • 单独入账的土地为啥不提折旧
  • 企业凭证处理流程图
  • 三证合一是哪三证
  • 什么是收入?企业有哪些
  • 质量有问题不给退怎么办
  • 用SQL脚本读取Excel中的sheet数量及名称的方法代码
  • 科普知识大全
  • win7复制文件
  • freebsd使用手册
  • linux邮件设置方法
  • Windows7电脑怎么调整屏幕亮度
  • win10系统edge浏览器无法调用F12
  • 蓝屏 win7
  • linux安装glibc.i686
  • unity Toggle Groud
  • 安卓手机键盘怎么调出来
  • 解决Android Studio下载gradle慢
  • cocos2d转unity难吗
  • opengl perspective
  • nodejs命令行参数解析
  • unityai寻路
  • python怎样升级
  • js面向对象编程的三大特性
  • 挂车买保险是怎么买的
  • 地税局和税务局有什么区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设