位置: 编程技术 - 正文

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编写一个标准的单例模式类)

  • 企业其他税负率计算公式?
  • 什么是富人税收政策
  • 销售货物提供运输是否分别核酸的例题
  • 软件维护费属于费用还是资产
  • 电子税务局自然人如何注册
  • 会计忘记申报税款会有什么影响
  • 母公司捐赠资金给子公司
  • 取得租金收入的会计分录
  • 成本会计实训要求
  • 外币借款业务的会计分录还款时利息
  • 增值税普通发票需要交税吗
  • 还没入库,发票已经给财务了 怎么办
  • 购货方跨月进项税额转出分录
  • 增值税专用发票抵扣最新规定
  • 0申报的清算所得税申报表怎么填
  • 印花税按主营业务成本计算吗
  • 企业所得税汇算清缴扣除比例
  • 销售库存商品的记账凭证
  • 有哪些凭证
  • 事业单位的账务
  • 登记为一般纳税人后可以转为小规模纳税人
  • 某公司购入一台需要安装的生产设备
  • 企业把活承包给个人,和企业有劳动关系吗?
  • 不动产进项税为什么不能抵扣
  • 自产货物自用账务处理
  • 苹果静音模式siri
  • 苹果14.5新功能
  • 旧房转让土地增值税计算案例
  • 鸟瞰高耸入云的成语
  • 按下电源按钮时锁定计算机怎么弄
  • 盆栽月季花怎么修剪图解
  • PHP:proc_close()的用法_命令行函数
  • 小微企业直接融资和间接融资
  • 独立核算的基金是会计主体吗
  • 房地产企业土地使用税纳税义务终止
  • php7多线程支持如何
  • 编译和链接的区别是什么
  • 稳岗补贴什么时候到账
  • 国际货运代理公司排名
  • 一般纳税人企业所得税如何计算
  • 工业企业成本核算会计分录
  • 销售折扣增值税例题
  • 应交增值税一般是多少
  • 支出包括哪些项目
  • 一般户可以转账给员工报销吗
  • mongodb数据库的作用
  • 存货成本费用
  • 什么是符合资本化
  • 哪些固定资产是按8年折旧的
  • 存货跌价准备在借方表示什么
  • 股东投资是否有资金实际收支活动?
  • 销售收入与营业费用的配比不合理
  • 小规模纳税人申报步骤
  • 会计支付预付款怎么记账
  • 企业取得土地补偿款
  • 不合格产品会计处理
  • 在贫困户入股分红大会上的讲话
  • 餐饮业燃气费计入什么科目
  • 个体户要怎么注册公司
  • 什么情况下应选用基轴制配合
  • 现金日记账的日期栏是指记账凭证的日期
  • windows无法启动MySQL80服务
  • centos crond
  • msng.exe病毒
  • mac局域网控制windows
  • centos必学的60个命令
  • centos怎么样
  • media.codec是什么软件
  • nmeo.exe是什么
  • win8系统中向日葵软件造成的屏幕亮度无法调节怎么办?
  • win10蓝屏故障
  • [置顶] 此外,车牌号:458143(懂得都懂[吃瓜])
  • nodejs全局异常监听
  • python3.6语法
  • JavaScript电子时钟倒计时
  • 异地如何拨打12393
  • 税务注销证明样本
  • 企业可以享受哪些政策优惠
  • 全国青少年学法网(官网)
  • 无锡市国家税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设