js基础研究第三天

in 运算符可以用来测试一个属性的存在性。运算符的左边应该是属性的名字(字符串形式),而运算符的右边应该是要测试的对象,例如

if("x" in o) o.x=1;

然而in运算符也不是常常用到,因为,如果查询并不存在的一个属性,会返回undefined的值。因此,上面的代码可以这样写:

//if the property x exist and is not undefied ,set it 

 if(o.x!==undefiend) o.x =1;

7.2.3删除属性

  可以用delete运算符来删除一个的对象的属性;

delete book.chapter2;

7.4.1 constructor属性

在javascript中,每个对象都有一个constructor属性,它引用了初始化这个对象的构造函数,例如Date()的构造函数创建了一个对象d,d.construcotor属性引用Date:

var d = new Date();

d.contructor == Date;

constructor属性有助于确定一个对象的类型,

if((typeof o =="object")&&(o.constructor ==Date))

instanceof 运算符检查constructor属性的值,因此上面的代码可以写成:

if((typeof o =="Object" )&& (o instanceof Date))

7.4.2 toString()对象

7.4.3 toLocaleString()对象

7.4.4 valueOf()方法

7.4.5 hasOwnProperty()

7.4.6 propertyIsEnumerable()方法

7.4.7 isPrototypeOf()方法

var o = {}

Object.prototype.isPrototypeOf(o);//true

Object.isPrototypeOf(o);//false

7.5数组

数组是一个i有序的、值的集合。每个值都叫做一个元素,每个元素在数组中都有一个数字化的位置,叫做小标(index).

var empty = {}; //an array with no elements 

猜你喜欢

转载自guobin6125.iteye.com/blog/1457757