【js入门教程】js入门教 for/in 数组_Object属性和方法

更新时间:2015-06-01    来源:php入门    手机版     字体:

【www.bbyears.com--php入门】

上篇文章讲了js中的变量,表达式,和运算符 还有一些 js 语句.

这章我们来探讨js中的对象和数组。 

比较难哦。做好心里准备吧。。。。。。 深呼吸。。。

1 , for  /  in 

一种遍历(枚举)对象属性的方法,可以循环我们呢事先不知道的属性。

它可以枚举处用户定义的所有属性,但却不能枚举出某些预定义的属性和方法。

不能枚举的属性通常是继承的属性

删除一个对象的属性:

 delete book.width ;

从对象中移除了属性,在删除之后,用for/in将不会枚举该属性,并且用width in book 也检测不到该属性。

for/in 的另一个重要的用途就是跟关联数组一起使用:(如果忘记关联数组的定义,可以看前面的章节。)

for(stoct  in  port ){

    value +  = get_value(stoct)  *   port[stoct]  ; 

}

2 , 通用的Object属性和方法:

1):constructor属性:

每个对象都有这个属性,他引用了初始化这个对象的构造函数。

比如:

  var d =new Date();  //使用Date()构造函数,创建一个对象 d;

   d.constructor ==Date;   //true    //属性d.constructor引用 Date ;

这个属性有助于确定一个对象的类型;

比如:

我们想确定一个值的类型是否是Date 类型:

If((typeof o==”object” )&& (o.constructor==Date)){

 //  首先看是否是对象,然后看是否引用Date

}

上面的代码也可以写成:

If((typeof o==”object” )&& (o   instanceof   Date)){

 //  instanceof 运算符 来检测o.constructor 属性的值。

}

3 , toStirng()和toLocaleString()方法:

1):toLocaleStirng() 返回对象的一个本地化字符串。

toString和toLocaleString一般都返回相同,但在子类中,有点区别:

比如:

Array , Date和Number都定义了返回本地化的值的toLocaleString()方法.

4 , hasOwnProperty()和propertyIsEnumerable()方法:

1):hasOwnProperty

var a = { x : 1  , y : 2};

var k =a.hasOwnProperty("x");

alert(k)  //true

alert( Math.hasOwnProperty("z") );//false

alert( Math.hasOwnProperty("cos") );//true  

注:Math,cos() : 以弧度为单位计算并返回指定角度的余弦值。

propertyIsEnumerable()跟返回的结果跟hasOwnProperty()相同;

4 ,isPrototypeOf()方法:

如果方法所属的对象是参数的原型对象。

var a = { x : 1  , y : 2};

var k1= Object.prototype.isPrototypeOf(a);       //  o.constructor = Object

var k2= Object.prototype.isPrototypeOf(Function);   //  Function.constructor = Object

alert(k1) //true

alert(k2) //true

5,数组:

1)创建数组:

数组直接量:

var es = [ ] ;

复杂点 var es = [ [ 1, {x:1   , y : 2}] , [ 2, {x:3  , y : 4}]  ];

还有一种方式:使用Array() 构造函数:

本文来源:http://www.bbyears.com/jiaocheng/15515.html

猜你感兴趣

热门标签

更多>>

本类排行