JS中的对象是一种复合数据类型,将多个数据值集中在一个单元中,允许使用名字来存取这些值。 也可以理解为:对象是一个无序的属性集合,每个属性都有自己的名字和值。
一、创建 [javascript] //直接加入一个对象直接量,是用逗号分隔开的一对对的属性名和值的列表 var empty = {}; var point = {x:0,y:0}; var circle = { x:point.x,y:point.y+1,radius:2}; var homer={ "name":"Home Simpson", "age":34, "married":true, "occupation":"plant operator", 'email':"homer@example.com" }
二、对象属性 [javascript] //使用 . 来存取对象的属性 var book = {}; book.title = "简·爱"; book.chapter1 = new Object{}; book.chapter1.title = "Introduction to JavaScript"; book.chapter1.pages = 11; book.chapter2 = { title:"Lexical Structure",pages:6}; alert( "Outline:"+book.title+"\n\t"+ "Chapter1"+book.chapter1.title+"\n\t"+ "Chapter2"+book.chapter2.title );
三、属性的枚举 [javascript] www.2cto.com function DisplayProertyNames(obj){ var name=""; for(var name in obj){ names=name+"\n"; } alert(names); }
四、检查属性的存在性 //in用来测试一个属性的存在性 if("x" in o) o.x=1; if(o.x!==undefined) o.x=1; //也可以这样简写 if(o.doSomething) o.doSomething;
五、删除属性 [javascript] delete book.chapter2;
六、constructor 属性 JS中每个对象都有一个constructor属性,引用了初始化这个对象的构造函数 [javascript] //可以使用以下的代码确定一个未知值的类型 if((typeof o=="object")&&(o.constructor==Date)) //instanceof可以检查constructor属性的值,所以上面的代码也可以这样写 if((typeof o=="object"&&(o instanceof Date)))
|