你不知道的javascript-上卷-第一部分作用域和闭包 第3章 函数作用域和块作用域
发布日期:2021-05-14 11:07:20 浏览次数:22 分类:精选文章

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

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

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

1. ������������������������������

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

function foo(a) {
var b = 2;
// ������������
function bar() {
// ...
}
// ���������������
var c = 3;
}

���������������������������foo������������������������������������ a���b���c ������������ bar��������������������������������������������������������������������������������� foo ��������������������������������������������������������������������������������������������������������������������������������������������� foo ������������������������������������������������������������

2. ���������������������������������������

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

2.1 ���������������������������

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

���������

// ������������
var foo = true;
function bar() {
var baz = foo * 2;
// ...
}

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

var MyCoolModule = (function() {
var foo = true;
function baz() {
var baz = foo * 2;
// ...
}
})();

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

3. ������������������������������ JavaScript ������������

��������������� JavaScript ��������������������������������������������������� ES6 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������

3.1 ES6 ���������������������

��� ES6 ������let ��� const ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

var foo = true;
if (foo) {
let bar = 3;
// ...
}

��������� bar ��������� if ������������������������������������������������������ bar������������ ReferenceError ���������

3.2 ES6 ���������������������������

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

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

4. ��������������������������� (IIFE) ������������

IIFE���Immediately Invoked Function Expression���������������������������������������������������������������������������������������������������������������������������������������������������������������������

4.1 IIFE ���������������

  • ������1 - (function funcName(){...})()
  • var a = 2;
    (function() {
    var a = 3;
    console.log(a); // 3
    })();
    console.log(a); // 2
    1. ������2 - (function(){...}())
    2. var a = 2;
      (function(){{
      var a = 3;
      console.log(a); // 3
      })(());

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

      4.2 IIFE ���������������

      IIFE ���������������������������������������������������������������������������������������������������������������������������������������������������

      var a = 2;
      (function(window) {
      var a = 3;
      console.log(a); // 3
      console.log(window.a); // 2
      })(window);

      ��������������������������������������������������������������������������������� undefined ������������������������������������

      undefined = true;
      (function(undefinedParam) {
      var a;
      if (a === undefinedParam) {
      console.log("Undefined is safe here!");
      }
      })();

      ������������ undefined ������������������������������������ undefined ��������� undefined ������������������ true���

      5. ���������������������������������������

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

      5.1 for ������������������������

      for (let i = 0; i < 10; i++) {
      console.log(i);
      }

      ��������� i ������������ for ������������������������������������ for ������������������������������������������������������������

      5.2 try/catch ������������

      try {
      undefined();
      } catch (err) {
      console.log("Error handled!");
      }
      console.log(err); // ReferenceError: err not found

      catch ������������������ err ��������� try/catch ���������������������������������������������������������������������������������

      6. ������

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

    上一篇:Mysql5.7.25安装启动-用户名root,密码(现已改为admin)
    下一篇:node控制多行输入输出

    发表评论

    最新留言

    路过,博主的博客真漂亮。。
    [***.116.15.85]2025年04月05日 14时22分36秒