美文网首页
es6新特性-局部变量let

es6新特性-局部变量let

作者: yfmei | 来源:发表于2018-06-10 14:51 被阅读0次

局部变量 let

  • 以前在js中, 所有的变量都是全局变量, 经常会出现变量同名, 导致局部变量覆盖全局变量的值, 发生意想不到情况. 所以es6定义了新的局部变量类型: let

let 和 var 比较

作用域

  • var定义的变量全局都可以访问
  • let定义的变量只在{}内能够访问
// 定义全局变量和局部变量
var a = 1;
var localVar = function (){
    console.log(" a in localVar is: " + a);
    let b = 1;
    console.log(" b in localVar is: " + b);
}

// 打印到控制台
console.log("global a is: " + a);
console.log("local b is: " + b); // 报错 b is not defined

默认值

  • 用var定义的全局变量默认值为undefined
  • 用let定义的局部变量在定义前使用会报错 is not defined
// 打印到控制台
console.log("global a is: " + a); // global a is : undefined
console.log("local b is: " + b); // 报错 b is not defined

// 定义全局变量和局部变量
var a = 1;
var localVar = function (){
    let b = 1;
    console.log(" b in localVar is: " + b);
}

同名变量

  • 用var定义的同名局部变量会覆盖全局变量的值
var a = 1;

function test(){
    var a = 2;
    console.log("a in test is: " + a); // a变成2了
}
console.log("a in global is: " + a); // 这里还是1
  • 因为用let重新定了a, 即使有一个同名的全局变量a, 在重新用let定义之前,
    也会报错: a is not defined
var a = 1;
function testLet(){
    // console.log("a is: " + a); // a is not defined
    let a = 3;
    console.log("a is: " + a); // a is: 3
}

相关文章

  • es6新特性-局部变量let

    局部变量 let 以前在js中, 所有的变量都是全局变量, 经常会出现变量同名, 导致局部变量覆盖全局变量的值, ...

  • es6新特性

    ES6 新特性 ES6 新特性 一ES6简介 二块级作用域绑定1 let声明2 const声明Constant D...

  • ES6学习笔记 新特性

    es6出现的新特性:循环for(let i=0;i<10;i++),出现for(let str for arr),...

  • 面试

    ES6常用新特性和语法。 一、变量申明 ES6有var、function、let、const、import、cla...

  • 前端框架复习相关

    1、ES6的新特性及其作用 (1)、let和consta、let与var类似,但只在let命令所在的代码块内有效b...

  • ES6新特性学习

    ES6新特性学习 学习链接:http://es6.ruanyifeng.com/ var、let和const le...

  • ES6 笔记(常量&&变量)

    ES6 笔记(常量&&变量) 变量&&常量 新特性 ES6 新增了let命令,用来声明变量。它的用法类似于var,...

  • interview

    es6中有哪些新特性: 新的变量声明方式 let/const 我们常常使用let来声明一个值会被改变的变量,而使用...

  • ES6新特性

    本文列举一些我们开发常用的ES6新特性, 如下: 1.块级作用域变量let,const let, const不会出...

  • ES6、ES7常用特性

    一、ES6(ES2015)新特性 1、支持let和const在之前JS是没有块级作用域的,const与let填补了...

网友评论

      本文标题:es6新特性-局部变量let

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