Javascript Object对象方法详解

来源:互联网 发布:什么牌子的衣服 知乎 编辑:程序博客网 时间:2024/04/30 13:25
一、Object类介绍
Object类是所有JavaScript类的基类(父类),提供了一种创建自定义对象的简单方式,不再需要程序员定义构造函数。可以在程序运行时为Javascript对象随意添加属性,因此可以很容易地创建自定义对象。

二、Object类主要属性
1.constructor:对象的构造函数。
2.prototype:获得类的prototype对象,static性质, 对象的引用。

三、Object类主要方法
1.hasOwnProperty(propertyName)
判断对象是否有某个特定的属性。必须用字符串指定该属性,例如,obj.hasOwnProperty("name"),返回布尔值。此方法无法检查该对象的原型链中是否具有该属性;该属性必须是对象本身的一个成员。

2.isPrototypeOf(object)
判断该对象是否为另一个对象的原型。
obj1.isPrototypeOf(obj2);
obj1是一个对象的实例;obj2是另一个将要检查其原型链的对象。原型链可以用来在同一个对象类型的不同实例之间共享功能。如果obj2的原型链中包含 obj1,那么isPrototypeOf 方法返回true。如果obj2不是一个对象或者obj1没有出现在obj2中的原型链中,isPrototypeOf 方法将返回 false。

3.propertyIsEnumerable(propertyName)
通过这个方法我们可以检测出这个对象成员是否是可遍历的,如果是可遍历出来的,证明这个对象就是可以利用for in 循环进行遍历的,格式如下:obj.propertyIsEnumerable(propertyName)
如果 propertyName存在于 obj中且可以使用一个 For…In 循环穷举出来,那么 propertyIsEnumerable 属性返回 true。如果 object 不具有所指定的属性或者所指定的属性不是可列举的,那么 propertyIsEnumerable 属性返回 false。
典型地,预定义的属性不是可列举的,而用户定义的属性总是可列举的。

4.toString()

返回对象对应的字符串


5.valueOf()

返回对象对应的原始值


以上5个方法都是Object.prototype上定义的,ECMAScript中的所有对象都由Object继承而来,所以在ECMAScript上的所有对象都具有以几个方法

<script type="text/javascript">  document.write("<pre>");  //hasOwnProperty  //此方法无法检查该对象的原型链中是否具有该属性;该属性必须是对象本身的一个成员。  var str ="";  document.writeln("str.hasOwnProperty(\"split\")的结果是:" + str.hasOwnProperty("split")); //return false  document.writeln("String.prototype.hasOwnProperty(\"split\")的结果是:" + String.prototype.hasOwnProperty("split")); //return true  //定义对象  function Person(first, lastName, age){    this.FirstName = first;    this.LastName  = lastName;    this.Age       = age;  }  //把方法动态添加到 JavaScript 对象  Person.prototype.Show = function() {    document.writeln (this.FirstName +  ' ' + this.LastName);  };  var personObj = new Person("John", "Toms", 29);  personObj.Show();  document.writeln("person.hasOwnProperty(\"FirstName\")的结果是"  + personObj.hasOwnProperty("FirstName")); //return true  document.writeln("constructor: " + personObj.constructor);  document.writeln("toString(): " + personObj.toString());  document.writeln("valueof(): " + personObj.valueOf());  document.write("</pre>");</script>



0 0
原创粉丝点击