zoukankan      html  css  js  c++  java
  • js 变量定义方式

    Var(万能)

    变量可以没有初始值 会报undefined但不会报错

    变量可以修改

    变量可以覆盖 (重复定义)

    函数内重复定义对函数外无影响

    函数内重新赋值对函数外有影响

        var a = 1;
        var b;
        var c = 2;
        console.log(a);//1
        console.log(b);//undefined
        console.log(c);//2
        var c = 3 ;
        console.log(c);//3
        c = 4;
        console.log(c);//4
        k();
        function k(){
            var c = 5;
            console.log(c);//5
            c = 6;
            console.log(c);//6
        }
        console.log(c);//4
        m();
        function m(){
            c = 7;
        }
        console.log(c);//7

    Let(局部使用)

    块级作用域

    函数内外不影响 避免了全局变量的污染

    没有得到广泛的支持 (Sublime Text 3 Nodejs 下 Run)

        let a = 1;
        let b;
        let c = 2;
        console.log(a);//1
        console.log(b);//undefined
        console.log(c);//2
        let c = 3 ;//SyntaxError: Identifier 'c' has already been declared
        c = 4;
        console.log(c);//4
        k();
        function k(){
            var c = 5;
            console.log(c);//5
            c = 6;
            console.log(c);//6
        }
        console.log(c);//4

    Const(只能看不能动)

    变量必须有初始值

    变量值不可更改

    变量值不可覆盖

        const a = 1;
        const b;//SyntaxError: missing = in const declaration
        const c = 2;
        console.log(a);//1
        console.log(c);//2
        const c = 3 ;//SyntaxError: redeclaration of const c
        c = 4;//TypeError: invalid assignment to const `c'
        k();
        function k(){
            const c = 5;
            console.log(c);//5
        }
        console.log(c);//2
  • 相关阅读:
    pycharm2018.1下载激活(mac平台)
    python 保存登录状态 cookie
    utf-8和utf-8-sig的区别
    AcWing 803. 区间合并
    AcWing 801. 二进制中1的个数
    AcWing 800. 数组元素的目标和
    AcWing 799. 最长连续不重复子序列
    AcWing 795. 前缀和
    AcWing 791. 高精度加法 解题记录
    九州缥缈录 合集序言
  • 原文地址:https://www.cnblogs.com/zyfeng/p/13637156.html
Copyright © 2011-2022 走看看