比较难哦。做好心里准备吧。。。。。。 深呼吸。。。 
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() 构造函数: 
    V1 :  无参数: 
       var a  = new Array(); 
空数组,和 var a =[ ] 相等 ; 
   V2 : 多个参数: 
     var  a = new Array( 1,2,3,”tt”) ; //可以看出直接量定义 简单些。 
   V3 : 1个数字参数: 
   var  a  = new Array (3); 
  具有3个元素的数组,每个元素的值为 undefined ; 
6, 数组的下标(索引): 
大小   :  0  <=  下标 <  2的32次方 –  1  ; 
如果不在范围内,js会讲它转换为一个字符串,作为对象属性的名称; 
而不是作为数组的下标; 
比如: 
   a[-1.2] = “test”  ;   //  等价于   a[“-1.2”]  =”test”  ; 
//代码解释: 创建一个名为 “-1.2”的属性,而不是定义一个 新的数组元素。 
1
您可能感兴趣的文章:
