The*_*ith 6 javascript google-chrome var let google-chrome-devtools
我附上了一个GIF动画来说明这种奇怪的行为.从本质上讲,我的问题是,Chrome是否控制台治疗var和let不同在同一范围内使用时?您会注意到,在声明/分配变量后,如果您尝试在控制台中输入该变量的名称,Chrome会自动为您自动填充,显示包含您输入内容的下拉列表.使用lets时,情况并非如此.这是一个错误,功能,还是我在JavaScript var和letJavaScript中缺少的东西?
注意:我很清楚let生命和死亡在直接范围内.
var在控制台中使用时,它将在全局范围内执行,并将该变量添加到window对象中.
let在控制台中使用时,它在全局范围内执行,该范围不会将变量添加到window对象.
当你开始打字,自动完成检查的属性的父对象与其它语言结构,如完成沿function,for和while.
如果控制台中没有内容,则父对象window将不具有您要查找的属性,因为let未添加该属性window.
只要有新的自动完成对象完成,行为就会恢复到您期望的状态.
> let foo = {bar: 'baz'};
> foo.b //autocompletes bar
Run Code Online (Sandbox Code Playgroud)
现在,所有这些都表明,自动完成必须以这种方式行事.在许多方面,缺乏全局范围中定义的变量的自动完成功能let可被视为值得"修复"的"错误".在我看来,这是一种中度令人惊讶的行为.
| 归档时间: |
|
| 查看次数: |
507 次 |
| 最近记录: |