var a=function(obj){
b=function(attribute,value){
eval("obj." + attribute+"="+value.toString());
return obj;
};
};
var o={name:"小明",age:"16"};
var o2=a(o).b("age","18");
alert(o2.age);
如上代码调用了a中的b方法,但无效果,将
var o2=a(o).b("age","18");
// 改成
var o2=new a(o).b("age","18");
后效果有了
把a看作一个类,需实例化才能调用内部方法这点能理解,但类似于jquery这种不用实例化也能调用,它是怎么实现的?
譬如
$("#div1").css("width","300px");
------解决方案--------------------
var a=function(obj){
return {
b : function(attribute,value){
eval("obj." + attribute+"="+value.toString());
return obj;
}
}
};
var o={name:"小明",age:"16"};
a(o).b("age","18")