为了转生而点技能-JavaScript,day21(let、const介绍

Var:作用域是依照所属的函式位于的区块内,且可以重複宣告。

        for (var i = 0; i < 3; i++) {        };        console.log(i);            //3        (function () {            for (var j = 0; j < 3; j++) {            };        }());        console.log(j);             //j is not defined                        var boy = 'TOM';        var boy = 'BOB';        console.log(boy);           //BOB



let:作用域是依照所属{}区块内,且不可以重複宣告。

        for (let i = 0; i < 3; i++) {            console.log(i);                //0 1 2        };        console.log(i);                    //i is not defined        (function () {            for (var j = 0; j < 3; j++) {            };        }());        console.log(j);             //j is not defined                        var boy = 'TOM';        var boy = 'BOB';        console.log(boy);           //Identifier 'boy' has already been declared                        {            let boy = 'TOM';            console.log(boy);       //TOM        };        let boy = 'BOB';        console.log(boy);           //BOB

TDZ(暂时性死区):let一样会有hoisting,但是在创造阶段,无法呼叫变数;如果是var,则会出现该变数是undefined的值。




const:作用域是依照所属{}区块内,且不可以重複宣告,或是重複赋值;如果内容(值)是个物件,那么此物件的内容(物件的参数)是可以更改的。

        var boy = 'TOM';        boy = 'BOB';        console.log(boy);     //BOB                        let boy = 'TOM';        boy = 'BOB';        console.log(boy);     //BOB                        const boy = 'TOM';        boy = 'BOB';        console.log(boy);     //Uncaught TypeError: Assignment to constant variable.                        const family = {            father: 'TOM',            mothetr: 'Mar',        };        family.father = 'Park'        console.log(family.father);  //Park                family = {};                //Uncaught TypeError: Assignment to constant variable.                                                                

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章