函数与作用域

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

函数声明: 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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • JavaScript中的函数运行在它们被定义的作用域里,而不是它们被执行的作用域里。 函数声明和函数表达式有什么区...
    毕子歌阅读 425评论 0 0
  • 任务 函数声明和函数表达式有什么区别答:函数声明:function functionName(){}  函数表达式...
    mhy_web阅读 424评论 0 0
  • 1. 函数声明和函数表达式有什么区别 函数声明和函数表达式都是声明函数的方式 区别1 写法:函数声明 : fu...
    怎么昵称阅读 274评论 0 0
  • 1. 函数声明和函数表达式有什么区别 使用function关键字声明一个函数时,声明不必放到调用的前面。//函数声...
    _李祺阅读 287评论 0 0
  • 函数声明和函数表达式有什么区别? 函数声明和函数表达式是EMACScript规定的两种不同的声明函数的方法。1.函...
    LeeoZz阅读 355评论 0 1