当前位置:编程学习 > JAVA >>

(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 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,