位置: 编程技术 - 正文

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

  • 增值税抵扣了,附加税怎么算
  • 购进固定资产的安装费计入原值吗?
  • 外购免税农产品进项税额如何抵扣
  • 资产处置损益是营业外收入吗
  • 所得税费用增加利润减少
  • 员工出差的餐补计入什么科目
  • 房地产股权收购案例
  • 专票只有抵扣联发票联丢失怎么办
  • 耕地占用税的账务处理
  • 企业收到赞助费
  • 付了电费当月没有收到发票
  • 避税方法一般有几种
  • 支付宝已经支付的钱怎么退回来
  • 购买毛巾的费用是多少
  • 股东贷款可以转给其他人吗
  • 今年补缴去年的税汇算清缴吗
  • 季度所得税预缴可以弥补以前年度亏损吗
  • 小规模纳税人日用品增值税税率
  • 注册公司之后需要交社保吗
  • 施工企业原材料用于
  • 汇算清缴时
  • 企业买进基金用什么账户
  • 路由器网速慢怎么设置
  • 跨年销货退回账务处理
  • 天津市残保金缴纳标准
  • w10如何删除微软拼音
  • 交易性金融资产属于流动资产
  • 企业注销清算流程
  • 出租个人住房怎样交税
  • 加工费计入什么成本类别
  • 富文本编辑器和markdown编辑器的区别
  • 2023年重庆邮电大学研究生分数线
  • 假发票如何举报
  • 一台设备可以分开开票吗
  • 发票勾选认证具体流程
  • 理财收益 投资收益
  • 进项税需要转出的分录
  • 间接费用会计科目
  • PostgreSQL教程(七):函数和操作符详解(3)
  • 专门借款本金汇兑差额
  • 研发费用不能加计扣除的有哪些项目
  • 税务监制章验证无效
  • 已认证发票退回说明模板
  • 分类法与品种法相比,最大的区别是
  • 房地产预缴税款主表怎么填
  • 建安类资质指什么资质
  • 其他非流动资产是金融资产吗
  • 库存现金的主要内容有哪些
  • etc电子发票需要勾选吗
  • 没有销售收入可以有销售费用吗
  • 如何开启windows防火墙
  • 安装win8系统需要什么条件
  • win8更改桌面位置
  • Win10预览版桌面图标和任务栏不翼而飞怎么办?
  • windows导航栏在左边
  • windows2000自动登陆
  • linux dd 系统
  • 系统更新到win11后还可以调回win10吗
  • winxp教程
  • 微软警告:64位Win7系统或无法安装KB3033929补丁更新
  • win10一周年版本
  • android开发环境配置
  • js原型继承和构造继承
  • EXTjs4.0的store的findRecord的BUG演示代码
  • cocos2djs
  • shell脚本字符串换行
  • nodejs bff
  • js对象常用方法
  • javascript的相关应用
  • Android studio 打包apk后卡在首屏
  • c 获取文件md5
  • js图片轮播和点击切换
  • python字符串拼接join
  • js设置图片大小
  • 减免性质代码怎么填
  • 红字专用发票进什么科目
  • 无锡地铁时速多少公里
  • 大渡口在重庆吗
  • 外汇业务税务备案
  • 电子税务局如何查询财务报表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设