zoukankan      html  css  js  c++  java
  • javaScript的变量

    1.声明


    用 var 或 let 声明的未赋初值的变量,值会被设定为undefined(译注:即未定义值,本身也是一个值)

    试图访问一个未初始化的变量会导致一个 ReferenceError 异常被抛出

     

    2.作用域


    如下的代码将在控制台输出 5,因为 x 的作用域是声明了 x 的那个函数(或全局范围),而不是 if 语句块。

    if (true) {
      var x = 5;
    }
    console.log(x); // 5

    如果使用 ECMAScript 6 中的 let 声明,上述行为将发生变化

    if (true) {
      let y = 5;
    }
    console.log(y); // ReferenceError: y is not defined

    3.变量提升


    let不会进行变量提升

    console.log(x); // ReferenceError
    let x = 3;

    4.函数提升


    对于函数,只有函数声明会被提升到顶部,不包括函数表达式。

    /* Function declaration */
    
    foo(); // "bar"
    
    function foo() {
      console.log("bar");
    }
    
    
    /* Function expression */
    
    baz(); // TypeError: baz is not a function
    
    var baz = function() {
      console.log("bar2");
    };

    5.常量


    const 创建一个只读(read-only)的常量

    在同一作用域中,不能用与变量或函数同样的名字来命名常量

    // THIS WILL CAUSE AN ERROR
    function f() {};
    const f = 5;
    
    // THIS WILL CAUSE AN ERROR ALSO
    function f() {
      const g = 5;
      var g;
    
      //statements
    }

    6.数据类型


    JavaScript语言可以识别下面 7 种不同类型的值:

    • 六种是 原型 的数据类型:

      Boolean. 布尔值,true 和 false.

      null. 一个表明 null 值的特殊关键字。 JavaScript 是大小写敏感的,因此 null 与 Null、NULL或其他变量完全不同。

      undefined. 变量未定义时的属性。

      Number. 表示数字,例如: 42 或者 3.14159。

      String. 表示字符串,例如:"Howdy"

      Symbol ( 在 ECMAScript 6 中新添加的类型).。一种数据类型,它的实例是唯一且不可改变的。

    • 以及 Object 对象

  • 相关阅读:
    BCTF赛后
    有道前端面试总结
    来更新一篇blog吧
    好久没更新了,开学新气象
    leetcode--N-Queens II
    leetcode--N-Queens
    leetcode--Scramble String
    leetcode--Maximal Rectangle
    leetcode--Distinct Subsequences
    leetcode--Sudoku Solver
  • 原文地址:https://www.cnblogs.com/zqzjs/p/5852886.html
Copyright © 2011-2022 走看看