一return了后面的不就是不会执行了吗? 是这样的,函数里一旦return 后面肯定不会执行但上面的例子里paraboal可以理解成一构造函数
    ret.toString=function() 
            { 
                return a+"x^2"+b+"x+"+c; 
            } 这里仅仅是构造函数里的ret的toString属性里的东西,跟构造函数里的返回没直接关系
你用 paraboal pa = new paraboal(a,b,c);构造函数 
而你用pa.toString()这两个是不同的 
不知道楼主能看明白不?我感觉自己没说清楚

解决方案 »

  1.   

    我猜,作者是不是想说明return ret; 和return ret(x)之间的区别?1. var ret = function(){...},把ret理解为一个对象,类似指针吧,这里也可以写成 function ret(x){...};这个函数中的return,当然不会对外面函数造成影响;2. return ret;语句会自动调用ret对象“与生俱来”的toString()方法,所以,这里其实相当于 return ret.toString();如果不改写toString,就会把函数体输出来;3. 将return ret;改成return ret(n),则会返回一个数字,而不是toString()里面构造的方程。你可以把return ret改成return ret(5)看看效果