位置: 编程技术 - 正文

JavaScript 原型与继承说明(简述javascript原型和原型链有什么特点?)

编辑:rootadmin
function A(x) { this.x = x; } alert(A.prototype); alert(A.prototype.constructor); 根据弹出的结果,我们可以得到:原型对象是由函数的构造函数创建,它所拥有的属性能被所有对象共享,初始时原型对象指向一个Object对象,并且定义了一个constructor属性,该属性指向定义该原型对象的构造函数本身,再看如下代码。 Code function A(x) { A.prototype.x = x; } var obj = new A(); alert(obj.x); alert(obj.constructor); 因为原型对象的所有属性能被构造函数创建对象共享,所以创建的对象可以访问这里的constructor属性,同时obj对应的就是原型对象(prototype)所创建出来的一个实例,那么重写constructor属性会出现什么样的结果呢? Code function A(x) { A.prototype.x = x; } var objA = new A(); objA.constructor = function(x){ alert("重写obj的constructor属性");this.x = }; objA.constructor(); alert(objA.x); var objB = new A(); alert(objB.x); 根据结果我们可以看到,首先弹出的是“重写obj的constructor属性”,然后弹出,在弹出,可见,我们在书写重写objA这个对象的constructor之后,objB并没有被改变,因此无论在一个对象加入或修改多少属性这都不影响其原型对象中属性的本来面目,其实很容易理解js为什么这样做,因为一个对象的行为不能影响到其他对象,否则将会造成混乱。 在这里,我们可以总结一下,上面代码的规则: 1.当我们调用某个对象的时候,首先检查该对象本身的自己定义的属性,如果存在则调用。 2.当自己本身的属性不存在的时候,则调用其构造函数所定义的原型对象的引用。 那么根据这个规则,就形成了JavaScript中的一个原型链,我们就可以根据这个规则来定义继承关系。 这段代码显示了两个函数,B函数继承与A函数,A.call(this.x)表示,将B的对象this传递到A函数中进行执行。然后,我们同样需要由B函数构造出来的对象需要包含A函数的所有特性,因此需要加上这么一句话。 先我们指定B的原型为A,因此,B函数继承了A函数的特性,根据弹出的结果,我们可以看到,其constructor指向的是A函数,那么我们的B函数的特性是不是丢失了呢?因此,我们需要在加上一句话,最后给出继续的整合代码。 若有疑问或不正之处,欢迎提出指正和讨论。

推荐整理分享JavaScript 原型与继承说明(简述javascript原型和原型链有什么特点?),希望有所帮助,仅作参考,欢迎阅读内容。

JavaScript 原型与继承说明(简述javascript原型和原型链有什么特点?)

文章相关热门搜索词:js原型constructor,js的原型对象,javascript中的原型和原型链,简述javascript原型和原型链有什么特点?,js原型作用,javascript原型和原型链特点,javascript原型和原型链特点,javascript中的原型和原型链,内容如对您有帮助,希望把文章链接给更多的朋友!

JavaScript的单例模式 (singleton in Javascript) 单例模式的基本结构:MyNamespace.Singleton=function(){return{};}();比如:MyNamespace.Singleton=(function(){return{//Publicmembers.publicAttribute1:true,publicAttribute2:,publicMethod1:fu

JavaScript接口实现代码 (Interfaces In JavaScript) 在实际中,我们可以在注释中定义好接口,在实际的代码中予以实现比如:/*interfaceComposite{functionadd(child);functionremove(child);functiongetChild(index);}interfaceFormI

javascript面向对象编程(一) 实例代码 scripttype="text/javascript"vartest={numA:,objB:{},arrC:[],init:function(){alert(this.numA);},sayHi:function(name){alert("hello"+name);},sayHelloWorld:function(){this.sayHi("world");},get:function()

标签: 简述javascript原型和原型链有什么特点?

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

上一篇:JavaScript 构造函数 面相对象学习必备知识(javascript构造函数创建对象)

下一篇:JavaScript的单例模式 (singleton in Javascript)(js编写一个标准的单例模式类)

  • 增值税电子发票可以作废吗
  • 印花税贴花是什么时候取消的
  • 本月累计专项扣款怎么算
  • 如何证明自己是低保户
  • 上期留抵税额会计分录
  • 员工预支工资账务处理
  • 哪些行业增值税率1%
  • 固定资产加速折旧的方法有哪些
  • 支付费用可以通过应收账款
  • 铁路大票抵扣几个点
  • 电梯合同属于什么合同
  • 房企所得税纳税义务发生时间
  • 企业弥补亏损的三个途径
  • 应收账款入账金额的确定方法
  • 银行转账短信提醒还要收费吗
  • 简要回答建筑企业如何实现利润最大化
  • 税法递延纳税
  • 非房地产企业转让旧房土地增值税
  • 公益组织接受捐赠怎么开票
  • 商品进销差价的核算方法
  • 电信增值税发票怎么抵扣
  • 小企业销售费用包括
  • 单位探望病人如何报销费用?
  • 应收账款产生的利息分录
  • 扣供应商的税点应该包括附加税吗
  • php数组函数实现机选双色球
  • 前端vue实现预览excel
  • win11系统打不出顿号
  • u盘显示0字节修改不了
  • 本年利润和未分配利润怎么结转
  • 海恩斯科普简介
  • 简单的随机乱码怎么解决
  • vue 路由
  • fdisk命令的功能是什么?
  • 跨区域涉税事项报验管理编号怎么填
  • 个体工商户生产经营所得税税率表2023
  • 支出和收入怎么算呀
  • sqlserver2008误操作数据
  • 购货方开工具红包怎么开
  • 固定资产清理净残值怎么处理
  • 金税四期的政策
  • 企业给员工交公积金怎么办理
  • 保函分为几种
  • 增值税进项税额抵扣期限最新
  • 施工企业暂估成本
  • 付款金额与收到款的关系
  • 社会团体费怎么做分录
  • 支付稿费需要发票吗
  • 冲个人借款分录怎么写
  • 增值税附加税需要写进合同吗
  • 收到采购免费赔偿怎么办
  • 业务招待费可以计入销售费用吗
  • 环境检测费属于什么费用
  • 计提工资与实发工资有差额怎么计算成本
  • 车辆转让怎么开票
  • 会计凭证中阿拉伯数字如何书写
  • 房地产企业会计分录
  • mysql存储过程中调用存储过程
  • win7怎么隐藏我的电脑
  • 鼠标系统怎么安装
  • winxp系统电脑开机要按F1键才能正常启动的图文步骤
  • windowsxp文件
  • 如何在ubuntu下安装和配置gcc并用C语言
  • win 7操作系统安装
  • win7鼠标点了没反应
  • lol进入游戏后电脑没声音
  • win7原始账号和密码
  • win7调出ie浏览器
  • 如何永久激活win11
  • 判断div滑动到底怎么操作
  • sparsomycin
  • unity shader cull off
  • js frameset
  • 可视化gradcam
  • js继承原型链
  • 批处理 /a
  • linux shell脚本编程100例
  • javascript语言介绍
  • android客户端开发是干嘛的
  • 2023年四川职工医保缴费基数
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设