zoukankan      html  css  js  c++  java
  • 函数作用域,闭包,数据类型的题目

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

    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]
  • 相关阅读:
    1025 反转链表
    Vue--修饰符
    Vue--watch
    Vue--防止页面闪烁
    Vue--过滤器
    Vue--自定义指令
    Vue--生命周期
    vue--父子组件传递数据
    vue--父子组件调用彼此的方法
    Celery--beat
  • 原文地址:https://www.cnblogs.com/xufeng1994/p/10444746.html
Copyright © 2011-2022 走看看