关于JS中的作用域链及其面试题
发布日期:2021-05-12 21:17:47 浏览次数:17 分类:精选文章

本文共 2763 字,大约阅读时间需要 9 分钟。

���������������������JS���������������������������

���������������JavaScript������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

���������������������������������������������������������������������������������������������������������������������������������������������������������������������

  • ������������������������������������

    • ������������������������������������
    • ���������������������������������������undefined���
  • ������������������������������

    • ������������������������������������������������������������������������������������������������������������������
    • ���������������������������������������������������������������������������������������������������������������������������������������������
  • ������������

    ���������������������

    function show() {
    console.log(x);
    }
    function fn() {
    function inner_fn() {
    console.log(x);
    }
    inner_fn();
    }
    x = 10;
    • ���������������
      • show()���fn()������������������������������x���������inner_fn()������������������������������x������������������������������������fn()������������������
      • ���������������x = 10���������inner_fn()������10���

    ���������������

    ������1������������������������������������x���������10���

    • ������������������
      • inner_fn()���fn()������������������x���
      • ������inner_fn()������������x���������������
      • ���������������fn()���������������������������x���
      • ���������������������������x������������10���

    ������2������������������������������������������

    function fn() {
    console.log(fn);
    function fn2() {
    console.log(fn2);
    }
    fn2();
    }
    fn = 20;
    • ���������

      • fn()���������������fn������fn���������������fn2()������������������fn2`���������
      • ���fn2()������������������fn2������������������
      • ������������fn()���������fn()������fn2���������
      • ���������������������������fn = 20������������������fn2������������������������������������������������
    • ���������������

      • fn2()���������������������������������fn2���������������������������������������������������������������������������������������������������

    ���������������������

    ���������������������������������������������������������������������������������������������������������������������������������������������������

    function fn2() {
    var m = {
    fn2: function() {
    // ���������������������������������������������
    }
    };
    m.fn2();
    }

    ������������������������������������������������������������������

    ������

    ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

    上一篇:关于JS中闭包剖析(包含闭包的理解、作用、生命周期、应用、缺点及其解决、常见的闭包)
    下一篇:关于JS中作用域与执行上下文的区别

    发表评论

    最新留言

    能坚持,总会有不一样的收获!
    [***.219.124.196]2025年04月06日 17时20分57秒