(9)JavaScript学习笔记 - 对象
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.zzzyk.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)))
作者:dxh_0829
补充:web前端 , JavaScript ,