关于ES6 块级作用域 任何一对花括号({})中的语句集都属于一个块,在块中声明的变量在代码块外都是不可访问的,称之为块级作用域,ES5以前没有块级作用域 let let 是ES6新增的声明变量的一种方法,与 var 最明显的区别是 不存在变量提升 产生新的作用域(块级作用域) 在一个作用域中 不允许重复声明 暂时性死区 在一个块级作用域的任何地方 声明过 就不会再访问外面的了 var c = 123;if(true) { console.log(c); let c;} // c is not
可以实现的方法有: globals(),locals(),eval(),exec() 演示: exce法 In [6]: exec('name="bob"') In [7]: name Out[7]: 'bob' globals用法: In [1]: globals()['name']='bob' In [2]: name Out[2]: 'bob'