Rumah  >  Artikel  >  hujung hadapan web  >  javascript对象有哪三个属性

javascript对象有哪三个属性

php中世界最好的语言
php中世界最好的语言asal
2018-03-16 17:22:162074semak imbas

这次给大家带来javascript对象有哪三个属性,javascript对象三个属性的注意事项有哪些,下面就是实战案例,一起来看一下。

每个对象都有与之相关的原型(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引擎定义的。

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

AngularJS依赖注入的几种方式

$watch,$apply和$digest数据绑定过程详解

创建动态菜单或下拉列表的JavaScript代码

js的内置对象有哪些

Atas ialah kandungan terperinci javascript对象有哪三个属性. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn