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

既然说函数也是对象,alert一个函数,是alert函数的toString方法,那执行函数用的哪个方法?
function f1(){
  alert(456)
}
alert(f1)实质就是alert(f1.toString())
那要f1() 相当于执行f1哪个属性啊?? 也是类似于f1.XXX()这样的吗?

------解决方案--------------------
....
f1()就是执行f1这个函数啊,函数在js中也算对象,对象有默认的toString方法,alter一个对象就是调用了这个函数默认的toString方法,如果没有重写过toString方法,就是输出函数体,如果有重写toString,就是alert toString方法return的内容

JScript code
    function f1() { alert(123); }
    f1.toString = function () { return '自定义的toString'; }
    alert(f1)