美文网首页
js函数作为另一个函数的参数及typeof()函数

js函数作为另一个函数的参数及typeof()函数

作者: Alex_King | 来源:发表于2016-09-02 11:29 被阅读102次

    函数的参数可以时字符串,数组等基础类型,还可以是函数,定义函数时形参写法类似,使用函数时传入实参为函数即可test(test1())。

    <script type="text/javascript">
    // 1.无参数函数
    function test1(){  
        alert('没有参数'); 
    }  
    // 2.有参数函数
    function test2(str){  
        alert(str);
    }
    
    // 参数为(有参或无参)函数的函数
    function test(fn){  
        // var a = fn;传入的函数有返回值时
        fn; // 传入的函数无返回值时
        // 在传入参数的时候,自动识别是函数,按函数方法执行
    }
    
    // 调用函数
    window.onload = function(){  
        test(test1());            // 参数为 无参函数
        test(test2('我是参数'));  // 参数为 含参函数
        // 参数传入函数的时候加 () ;
    }
    </script>
    

    另外不可使用typeof()来区分传入的参数是函数还是其他类型,从而执行不同的操作方式

    /**
     * 基础知识
     * 
     * typeof() 函数:
     * 返回数据的数据类型
     * 例如:
     * typeof(1);       返回:number
     * typeof('1');     返回:string
     * typeof(函数名);  返回:function  [函数名后面不加括号,是Date而不是Date(),否则返回undefined]
     */
    
    function test1(){  
        alert('没有参数'); 
    } 
    function hehe(str){
        if (typeof(str) === 'function') {
            str;         // 执行函数操作
        }else{
            alert(str);  // 执行字符串操作
        }
    }
    window.onload = function(){  
        hehe(test1());            // 参数为 无参函数
        // hehe('1111111')
    }
    
    /**
     * 不可行:
     * (1) typeof(str) 返回值为undefined;
     * (2) typeof(str) str是函数,会执行一次
     */
    

    实现方法待更新……

    相关文章

      网友评论

          本文标题:js函数作为另一个函数的参数及typeof()函数

          本文链接:https://www.haomeiwen.com/subject/buzcettx.html