JavaScript原型机制详解

C/C++模拟实现JavaScript原型机制     为了更加深入的理解JavaScript原型机制,我们现在用C/C++来实现,或者说模拟该机制,也许我的理解有所谬误,如果果真如此,还希望不吝赐教。一、原型机制设计        在JavaScript中,有两个祖先一样的对象:Function.prototype和  Object.prototype。
摘要由CSDN通过智能技术生成

C/C++模拟实现JavaScript原型机制

    为了更加深入的理解JavaScript原型机制,我们现在用伪代码来实现或者说模拟该机制,也许我的理解有所谬误,如果果真如此,还希望不吝赐教。


一、原型机制设计

        在JavaScript中,有两个祖先一样的对象:Function.prototype和 Object.prototype

         (1) Object.prototype:这个对象是所有对象的根,它自己没有爹妈,是女娲造出来的。

         (2) Function.prototype:这个对象是所有构造器的根,它事实上也没爹妈,也是女娲造出来的。只不过其内部维护者Object.prototype的引用。

        事实上所有对象都维护者一个{prototype}属性,这是一个内部的私有属性,无法通过对象来访问。不过在firefox等浏览器中提供了一个共有属性__proto__来访问这个私有属性。在Js中公有属性名和私有属性名可以相同。但是C/C++中不可以,我们需要做些许改变。而这个女娲分别派出了两位大使MetaObjectMetaConstructor,这是C/C++中的类。他们分别负责产生Object.prototypeFunction.prototype,(采用单体模式)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值