比如
function abc(){
}
var obj=new abc(1,2,4);
alert(obj),现在弹出[object,Object], 我怎么让obj编程一个数字或字符串,比如说1+2+4的结果7?

解决方案 »

  1.   

    //类
    function abc(a, b, c) {
    this.result = a + b + c;
    }
    var obj = new abc(1,2,4);
    alert(obj.result);
    //函数
    function abcd(a, b, c, d) { return a + b + c + d; }
    alert(abcd(1,2,3,4));
      

  2.   

    T5500, 我是说怎样像obj=new Array(1,2,3) 或者 obj=new Data()那样, alert(obj)直接返回一个字符串, 而不是像alert(obj.result)这样调用里面的属性
      

  3.   

    本帖最后由 net_lover 于 2012-06-30 15:52:05 编辑
      

  4.   


    哦 合着是Array用的也是obj.toString()方法,而这个toString()省略掉了,是这样吗? 
      

  5.   

    alert 会调用参数对象的toString()方法。
    重写下toString  就O了。