js的属性


属性的枚举:可以通过for...in语句来枚举对象的所有属性的值,也可以获得对象的所有属性名。
例:

1 var pen = new Object();   //设置一个空对象
2     pen.color = "颜色";       //设置对象的属性
3     pen.name = "钢笔";
4     pen.price = "价格";
5 for(var i in pen){ document.write("变量名为:"+i+",变量值为:"+pen[i]);}

 

删除对象的属性:可以使用delete运算符来删除一个对象的属性,删除之后,该属性将不再属于该对象。

例:

1 function pen(nme,color,price){
2    this.name = name; this.color = color; this.price = price;}
3    var pen1 = new pen("铅笔","红色");
4    for(var i in pen){document.write("变量名为:"+i+"变量值为:"+pen1[i]);}
5    delete pen1.price;        //删除pen1对象中的price属性
6    for(var i in pen){document.write("变量名为:"+i+"变量值为:"+pen1[i]);}
7    document.write("这是一个不存在的属性:"+pen1.price);


删除对象属性之后,在javascript中读取一个不存在的对象属性时,与读取一个没有赋值的对象属性一样,都会返回undefined。

创建有默认值的构造函数:  

如果在创建对象时,没有初始化某个属性,那么该属性的值会自动设置为undefined。事实上,可以在构造函数时设置某个属性的默认值。
例:

1 function pen(name,color,price){
2    this.name = name; this.color = color;}
3    if(price == undefined){ this.price = 100;}
4    else{ this.price = price;}


如果在创建对象时,没有初始化price属性,构造函数会自动将该属性值设置为100.

 创建有方法的构造函数

在定义构造函数时,也可以定义对象的方法,所谓方法就是能够实现一定功能的函数。

例:

 1 function write(str){document.write(str+"<br>");}  
 2     function pen(name,color,price){
 3     this.name = name; this.color = color; this.price = price; this.write = write;}
 4      //定义一个对象
 5     var pen1 = new pen("铅笔","红色",20);
 6     document.write("笔的名称为:"+pen1.name);
 7     document.write("笔的颜色为:"+pen1.color);
 8     document.write("笔的价格为:"+pen1.price);
 9     document.write("用笔写出来的文字:");
10     pen1.write("铅笔字");

 

posted @ 2016-04-18 21:20  nostic  阅读(127)  评论(0编辑  收藏  举报