本文共 1064 字,大约阅读时间需要 3 分钟。
javascript是一门编程语言,javascript会有一个标准化规范,我们称之为ecmascript,简称es。每个浏览器都会支持相应版本的es。也就是说只要浏览器支持某个版本的es,那么这个版本对应的js代码就能在浏览器上运行。
const 声明一个只读的常量,一旦声明,常量的值就不能改变。
//const 用于声明常量const name = 'zhangsan'name = 'lisi' //再次赋值会报错//报错TypeError: Assignment to constant variable.console.log(name)
let
// let 是在代码块内有效,var 是在全局范围内有效:if (true) { let a = 10; var b = 10; }console.log(a) // ReferenceError: a is not definedconsole.log(b) // undefined
// let 重复声明会报错,var 可以重复声明多次let a = 1;let a = 2;var b = 3;var b = 4;a // Identifier 'a' has already been declaredb // 4
// 变量 a 用 let 声明不存在变量提升,在声明变量 a 之前,a 不存在,所以会报错console.log(a); //ReferenceError: a is not definedlet a = "apple";// 变量 b 用 var 声明存在变量提升,所以当脚本开始运行的时候,b 已经存在了,但是还没有赋值,所以会输出 undefined。 console.log(b); //undefinedvar b = "banana";
看看下面输出值是什么?
for (var i = 0; i < 10; i++) { setTimeout(function(){ console.log(i); })}// 输出十个 10for (let j = 0; j < 10; j++) { setTimeout(function(){ console.log(j); })}// 输出 0123456789
转载地址:http://kqyrf.baihongyu.com/