最近接触到ES6的一些相关新特性,想借let和const两个命令谈谈JavaScript在变量方面的改进. 由于let和const有很多相似之处,我们就先说一说let吧. 1. let添加了块级作用域 我们知道,JavaScript是没有块级作用域的,如果在块内使用var声明一个变量,它在代码块外面仍旧是可见的: if (true) { var foo = 3; } console.log(foo); for (var i = 0; i < 9; i++) { var j = i; } cons…
以前无论声明变量还是常量,总是使用var一勺端,知道接触了es6之后,发现原来变量.常量的声明其实是很讲究的. 这里简单来谈谈var.const与let. 1.var.var声明的变量没有块级作用域,而且存在变量名提升的情况.这里举例说明. <script> var num = 123; function foo(){ console.log(num); // undefined var num = 46; console.log(num) } foo() </script> 为什…
前言 最近在看 dart 了,本着 "纸上得来终觉浅,绝知此事 markdown" 的原则,准备边学边写,写一个系列,这是第一篇.学习过程中主要是参考 A Tour of the Dart Language 和 A Tour of the Dart Libraries, 外加自己的一些理解.内容上侧重于基础以及比较 dart 和 js 的异同. 安装 sdk 工欲善其事,必先利其器,我们先来安装一下,dart 的 sdk,只有这样,我们写的 dart 代码才能跑起来.安装 sdk 可以…