使用let和const创建块作用域,他们声明的变量只存在块内。比如下面的示例,let声明的变量tmp只存在于if语句块,也只有在if语句块内有效。
function func () { if (true) { let tmp = 123; } console.log(tmp); // ReferenceError: tmp is not defined }
function func () { if (true) { var tmp = 123; } console.log(tmp); // 123 }
块作用域也可以存在于整个函数内:
function func () { let foo = 5; if (...) { let foo = 10; console.log(foo); // 10 } console.log(foo); // 5 }
let
和const
创建块作用域,他们声明的变量只存在块内。比如下面的示例,let
声明的变量tmp
只存在于if
语句块,也只有在if
语句块内有效。著作权归作者所有。原文:https://www.cnblogs.com/simmons99/p/14083632.html