日期:2014-05-16 浏览次数:20489 次
1.在javascript中,可以动态添加对象的属性,也可以动态删除对象的属性。
实例:
var obj = new Object();//定义对象的一种方式。
obj["username"] ="wlh";//为对象添加属性的第一种方式
obj.password = "wlh" ; // 为对象添加属性的第二种方式
obj.getName = function(name){
? ?this.name = name;
? ?alert(this.name);?
}?
alert(obj.username);
?alert(obj.password);
obj.getName("wlh");?
其中第一种方式与第二种方式是等价的。
如果想删除该属性,可以使用如下的操作:
delete obj.username;//username属性已经从obj对象中删除。
alert(obj.username);//返回undefined
?
2.定义对象的第二种方式:是最常用的方式。
?
var obj = {username:"wlh",password:"wlh"} ;
alert(obj.username);
?
3.数组对象的定义:
var arr = new Array();//第一种方式
arr.push(1);
?arr.push(2);
?arr.push(3);
var arr = [1,27,2,3]; //第二种方式
arr.sort();//数组排序,默认升序
alert(arr); //结果是1,2,27,3
说明:在javascript数组的sort方法来说,它会先讲待排序的内容转换为字符串(调用toString()方法),按照字符串的前后排序顺序进行排序。
function compare(num1,num2){
? ?var temp1 = parseInt(num1);
?? ?var temp2 = parseInt(num2);
if(temp1 < temp2){
? ?return -1;
} else if(temp1 == temp2){
? return 0;
}else{
? ?return 1;
}
}
arr.sort(compare);//函数名是对象引用
alert(arr);//结果为1,2,3,27
3.匿名函数:
arr.sort(function(num1,num2){
? ? var temp1 = parseInt(num1);
?? ?var temp2 = parseInt(num2);
? ? if(temp1 < temp2){
? ? ? ?return -1;
? ? } else if(temp1 == temp2){
? ? ? ?return 0;
? ? }else{
? ? ? ?return 1;
? ? }
});
4.javascript中定义对象的几种方式(javascript中没有类的概念,只有对象):
1)基于已有对象扩充其属性和方法:
var obj = new Object();
obj.password = "wlh" ;
obj.getName = function( username ){
? ?this.username = username;
? ?alert(this. username);?
}?
alert(obj. username );
obj.getName("wlh");
alert(obj. username );?
结果:
undefined
wlh
wlh
2)工厂方式创建对象 :
//构造函数不传参
function createObject(){
? ? var obj = new Object();
? ? obj.username = "wlh";?
? ? obj.password = "123456";
? ? obj.get = function(){
? ? ? ? ? alert(this.username + "," + this.password);?
? ? }?
? ? return obj;?
}?
//构造函数传参
function createObject2(username,password){
? ? var obj = new Object();