时间:2021-07-01 10:21:17 帮助过:34人阅读
每个对象都有与之相关的原型(prototype)、类(class)和可扩展性(extensible attribute)。
原型属性
对象的原型属性是用来继承属性的.
原型属性是在实例对象创建之初就设置好的,通过对象直接量创建的对象使用Object.prototype作为他们的原型.通过new创建的对象使用构造函数的prototype属性作为他们的原型.通过Object.create()创建的对象使用第一个参数(也可以是null)作为它们的原型.
* 检测一个对象是否是另一个对象的原型(或处于原型链中),使用isPrototypeOf()方法 var p = { x: 1 }; var o = Object.create(p); p.isPrototypeOf(o); // true Object.prototype.isPrototypeOf(o); // true
类属性
对象的类属性是一个字符串,用以表示对象的类型信息。
想要获得对象的类,可以调用对象的toString()方法,然后提取已返回字符串的第8个到倒数第二个位置之间的字符串。不过很多对象继承的toString()方法重写了,为了能调用正确的toString()版本,必须间接地调用Function.call()方法。
eg:
function classof(o) { if(o === null) return "Null"; if(o === undefined) return "Undefined"; return Object.prototype.toString.call(o).slice(8,-1); }
可扩展性
对象的可扩展性用以表示是否可以给对象添加新属性。所有内置对象和自定义对象都是显示可扩展的,宿主对象的可扩展性室友JavaScript引擎定义的。在ECMAScript 5中,所有的内置对象和自定义对象都是可扩展的,除非将它们转换为不可扩展的,同样,宿主对象的可扩展性也是由实现ECMAScript 5的JavaScript引擎定义的。
相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!
推荐阅读:
AngularJS依赖注入的几种方式
$watch,$apply和$digest数据绑定过程详解
创建动态菜单或下拉列表的JavaScript代码
js的内置对象有哪些
以上就是javascript对象有哪三个属性的详细内容,更多请关注Gxl网其它相关文章!