创建对象的方式:
一、 构造类,由类生成对象。
function $(id){
this.o = document.getElementById(id).innerHTML
}
$.prototype.value = function(va){ //有这个就必须由new来创建对象,才能访问该方法
// if(va){document.getElementById(id).innerHTML = va;} 这个不能传递id了
//else {return elem}
return va; //注意函数中如果有返回值都要写return
}
a = new $("a1"); //这种方式如果需要用value方法,必须使用new创建对象
alert(a.value("ddd"))
===========================上面等同于下面======================
function $(id){
this.o = document.getElementById(id).innerHTML
this.value2 = function(va){ //注意,这里不是this.prototype
return va;
}
}
a = new $("a1");
alert(a.value("ddd"))
二、 直接在类中返回对象(id重写时用的这个方式,因为需要参数而且不能用new)
function $(id){
this.o = document.getElementById(id).innerHTML //这里可以传参数id,直接调用
this.value2 = function(va){
return va;
}
return this; //这种方式因为直接使用$(“a1”)这个函数作为对象,所以必须返回
}
alert($("a1").value2("ddd"))
三、 直接创建对象
$ = { //这种方式不能传参数
o : “abc”, //注意方法属性前不要加this;
value:function(va){this.value2 = va;this.value3=va+1;return va;} //里面要加this;如果要掉要用方法并获得返回值,注意加return
}
alert($.o);
alert($.value(2));
alert($.value2);
alert($.value3);