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("铅笔字");