美文网首页
函数与作用域

函数与作用域

作者: dpeng1203 | 来源:发表于2018-04-26 14:54 被阅读0次

    函数声明和函数表达式有什么区别?

    函数声明: function doSometing(){}
    调用:doSometing //不用提前声明,放哪里都可以
    函数表达式:var sayName = function(){}
    调用:sayName() //先声明后调用

    什么是变量的声明前置?什么是函数的声明前置?

    js读出代码时先默认把var变量声明和function函数声明前置。
    变量声明前置和函数声明前置就是在一个作用域块中,所有的变量和函数都被放在块的开始出声明。函数内部的变量声明也一样。

    arguments 是什么?

    arguments :类数组对象。
    function printInfo (name,age,sex){
    console.log(arguments[0]) // name
    console.log(arguments[1]) // age
    console.log(arguments[2]) // sex
    }

    函数的"重载"怎样实现?

    在JS中,没有重载。同名函数会覆盖。但可以在函数体针对不同的参数调用执行相应的逻辑。

    立即执行函数表达式是什么?有什么作用?

    (function () {
        var  a =1 
    })()
    

    类似这种就是立即执行函数表达式,也可以‘【】’和‘,’ 。

    作用: 隔离作用域。

    求n!,用递归来实现

    function f(n) {
    if (n=1){
    return 1
    }
    f(n) = n*f(n-1)
    return f(n)
    }

    写一个函数,返回参数的平方和?

    function sumOfSquares(){
    var sum = 0;
    for (i = 0; i < arguments.length; i++ ){
    sum = sum + argument[i]*argument[i]
    }
    console.log(sum)
    }
    var result = sumOfSquares(2,3,4)
    var result2 = sumOfSquares(1,3)
    console.log(result) //29
    console.log(result2) //10

    相关文章

      网友评论

          本文标题:函数与作用域

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