function   a(bert) 我想判断bert是不是一个函数名字还是普通的参数

解决方案 »

  1.   

    代码函数声明没错呀,可能是你调用时出错了,没有把函数bert的引用传给a。
    function a(bert){}这里的bert只是形参,并不一定就是 function bert()的引用。
      

  2.   

    这是作用域的问题。bert在全局是function,但在a()中,已经被参数覆盖了。
      

  3.   

    function a(o) 

    if(typeof o == "function")
    {
    o();
    }

    function bert() 
    {
    alert("ok"); 
    } a(bert)
      

  4.   

    或者把你调用的代码贴出来看看。
    我想你的意思是:
    function a(bert)
    {
        if(typeof(bert)=="function")
            bert();
        else
            alert("字符串")    
    }
    function bert()
    {
        alert("bert");
    }
    function bert2()
    {
        alert("bert2")
    }
    调用:
    var str="abc"
    a(str);
    a(bert);
    a(bert2);
      

  5.   

    这样清晰一些: var isFunction = function(o){
        return typeof o == "function";
     }
     function a(obj){
        if(isFunction(obj))obj.call();
        else alert(obj);
     }
     a(function(){alert('is a function')});
     a('is a string');
     a(new Object());