变量的定义:让我们的代码不再"恶心"

来源:互联网 发布:windows释放内存命令 编辑:程序博客网 时间:2024/04/28 15:51

为了更好的学习,我们打开babel有一个很贴息的学习工具
http://babeljs.io/repl/

let 有着比var 更”干净”的作用域
我们知道es2015之前变量的作用域是function。
比如
fuction showName(){
for(var i=0;i<=3;i++){}
alert(i); //很恶心的在外部也能访问到i
}
showName();
如果换成let则不一样了

超恶心的经典代码
function showName(){
alert(name); //undefined 狗一样的竟然不报错
var name;
}
这导致很多java、c++甚至php开发人员都想放弃。
用了let后则完全不一样了,其实就应该让它报错。

常见的注意点
1.不可重复定义
let name = “jack”;
name = “aaa”; //这样可以,但是再写一句 let name = “bbb” 不可以

2.多变量同时定义
let[name,age] = [“jack”,18];
alert(name);

use strict
这是在es5标准中定义的”严格模式”,对于我们的语法定义了一些限制和改变
“use strict”这句要写在你代码开头第一行
举例
1. name = “jack”; 这句话就会出错,因为name没有定义,除非你用var 定义
2.自执行匿名函数
{
alert(“jack”);
}

0 0
原创粉丝点击