下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

web前端:_proto_和prototype的区别

作者:叶叶叶叶尔     来源: https://www.cnblogs.com/yezi111/p/11643431.html点击数:893发布时间: 2020-03-05 11:50:13

标签: 开发视频prototypeJavascript

Web开发

  prototype.js是由SamStephenson写的一个Javascript类库。该框架的设计思路巧妙,而且兼容标准的类库,能够帮助开发人员轻松建立有交互性良好的web2.0特性富客户端页面。

  1._proto_和prototype

  prototype属性是一个静态属性,

  _proto_属性是一个实例属性。

  prototype表示类的原型对象,_proto_表示原型对象中定义的内部属性[prototype]的值。

  类的每一个实例都有一个_proto_属性,用于引用创建它的构造方法的prototype属性,也就是该类的原型对象,即存在如下等式:(newArray("abc"))._proto_===Array.prototype(Array("abc")为Array的实例)

  2.es5中增加的原型处理

  使用Object.getPrototypeOf()方法可以得到指定的对象的prototype属性

  该方法的格式为:Object.getPrototypeOf(obj),该方法是一个静态方法,能获取这个对象的原型

  Object.getPrototypeOf(newArray("abc"))===Array.prototype与(newArray("abc"))._proto_===Array.prototype意义相同

  用户可使用如下代码实现浏览器兼容

  if(typeofObject.getPrototypeOf!=="function"){

  if(typeof"test"._proto_==="object"){

  Object.getPrototypeOf=function(object){

  returnobject._proto_;

  };

  }else{

  Object.getPrototypeOf=function(object){

  returnobject.constructor.prototype;

  };

  }

  }

  在JavaScript中,prototype对象是实现面向对象的一个重要机制。每个函数就是一个对象(Function),函数对象都有一个子对象prototype对象,类是以函数的形式来定义的。prototype表示该函数的原型,也表示一个类的成员的集合。

赞(10)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程