函数作用域,闭包,数据类型的题目

第一题:函数作用域和闭包

var a = 9
function fn(){
    a = 0
    return function (b){
        return b+a++
    }
}
var f = fn()
console.log(f(5))
console.log(fn()(5))
console.log(f(5))
console.log(a)

这题要注意函数中的a是隐式全局变量,要注意下这个隐式全局变量在什么时候执行,返回的函数b并不需要执行 a = 0,a++是在执行过之后让a+1

所以但答案是:

5
5
6
2

第二题:关于数据类型传值和传址

var ary = [1,2,3,4]
function fn(ary){
    ary[0] = 0
    ary = [0]
    ary[0] = 100
    return ary
}
var res = fn(ary)
console.log(ary)
console.log(res)

形参和实参要注意区分一下,他们两人之间没有直接的关系,但是有间接的关系

答案是

[0, 2, 3, 4]
[100]

转载于:https://www.cnblogs.com/xufeng1994/p/10444746.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值