日期:2014-05-16  浏览次数:20322 次

内嵌方法的调用
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")