我们知道,ES5里var关键字定义的变量,存储于window里,可以通过window.变量名来调用,同理我想到,let虽然不能通过window调用,也应该可以通过其他方式调用,查了资料得知,let定义的变量存储于名为Script的域里,那么想请问一下,为什么不可以通过Script.变量名调用呢,倒不如说,应该通过什么方式调用let定义的变量呢?(除了直接调用let变量本身外这个方法)
1条回答 默认 最新
- Yirujet 2021-10-19 09:16关注
建议你好好了解下js的作用域以及es6扩充的块级作用域。es6之前,用var定义的变量只存在于其所在的作用域中,不一定是在window下面,也可能是在某个函数中,是否能读取到它,跟它所在的作用域相关,并且es6之前没有块级作用域的概念。es6的let跟const定义的变量,只能从其所在的块级作用域读取。当前能否读取到,可能还涉及到作用域链问题。
解决 2无用
悬赏问题
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器