美文网首页
let和const

let和const

作者: Warren_hu | 来源:发表于2018-08-01 11:28 被阅读0次

       //let 和 const 声明变量和常量 var

    //01-作用域只局限于当前代码块

        {

    var str1 ="张三";

            console.log(str1);

            let str2 ="李四"

            console.log(str2);

        }

    console.log('+++++'+ str1);//+++++张三

        console.log('-----'+ str2);//无打印结果

    // 02-使用let声明的变量的作用域不会被提升

        {

    console.log(str1); //undefined

            var str1 ="张三"

            console.log(str2); // Uncaught ReferenceError: str2 is not defined

            let str2 ="张三"

        }

    // 03-在相同作用域下不能申明相同的变量

        {

    var str1 ="张三";

            var str1 ="李四";

            console.log(str1);

            let str2 ="张三";

            let str2 ="李四";

            console.log(str2);

            //Uncaught SyntaxError: Identifier 'str2' has already been declared

        }

    // 04-for循环体现let的父子作用域

        var btns = document.querySelectorAll('button');

        for (var i =0; i

    btns[i].onclick =function () {

    alert('点击了第' + i +'个按钮')

    }

    }

    var btns = document.querySelectorAll('button');

        for (var i =0; i

    (function (i) {

    btns[i].onclick =function () {

    alert('点击了第' + i +'个按钮')

    }

    })(i);

        }

    let btns = document.querySelectorAll('button');

        for (let i =0; i

    btns[i].onclick =function () {

    alert('点击了第' + i +'个按钮')

    }

    }

    //01-只在当前代码块中有效

        {

    const a ="张三";

            console.log(a);

        }

    console.log(a);

        // 02-作用域不会被提升

    // 03-不能重复申明

    // 04-申明的常量必须赋值

        {

    const name ="张三";

            name ="李四";

            //不能修改,报错:Assignment to constant variable.

            console.log(name);

        }

    const obj = {name:"张三"};

        console.log(obj);

        obj.name ="李四"

        console.log(obj);

    相关文章

      网友评论

          本文标题:let和const

          本文链接:https://www.haomeiwen.com/subject/ijgcvftx.html