美文网首页
Javascript学习笔记——8.4 作为值的函数

Javascript学习笔记——8.4 作为值的函数

作者: IFELSE | 来源:发表于2018-06-26 09:26 被阅读0次

    在Javascript中,函数不仅是一种语法也是值,可以将函数赋值给变量,存储在对象的属性或数组的元素中,还可以作为参数传入另外一个函数。

    function square(x){return x*x}
    

    上面的函数声明创建了一个函数对象,并将其值赋给square这个变量。也就是说square只是指向这个函数的一个变量。

    函数对象作为值还可以赋值给其他变量

    function square(x){return x*x}
    var fun = square
    fun(4) //16
    

    可将函数直接作为对象直接量的属性或者数组的元素

    var o = {x:24, square:function(x){return x*x}}
    o.square(o.x) //576
    
    var a = [function(x){return x*x}, 'hello', 22]
    a[0](a[2]) //484
    

    函数可以作为参数传入其他的函数

    function add(x,y){return x+y}
    function multiply(x,y){return x*y}
    function operate(calculate,x,y)
    {
        return calculate(x,y)
    }
    operate(add,21,15) //36
    operate(multiply,7,9) //63
    

    函数不是原始值,是一种特殊的对象,所以它也可以有属性。所以可以通过给函数对象设置静态变量来给函数一个固定值,比全局变量更为合理。

    相关文章

      网友评论

          本文标题:Javascript学习笔记——8.4 作为值的函数

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