使用用于在里面一类导致基准误差
我使用的是for in
循环到键迭代中的对象像这样使用用于在里面一类导致基准误差
var Obj = {
foo: 'bar',
num: '1234'
}
for(key in Obj){
console.log(key)
}
其输出
foo
bar
然而,当环我把完全相同的代码放在类方法中,我得到
ReferenceError: key is not defined
我所指的类是通过它自己的模块导出的。 (不知道这是否意义重大,因为我无法在线查找关于此行为的任何信息)
那么,为什么不能在类内部使用in循环呢?
使用节点U 8.6.0
使用让或VAR
for(let key in Obj){
console.log(key)
}
谢谢!这太容易了。现在,为什么这个课程在课外?你介意在我的答案中指出一些文档吗?当我在一个类之外使用for..in循环时,我从来没有使用过,并且它完美地工作。 –
你应该看看https://*.com/questions/500431/what-is-the-scope-of-variables-in-javascript https://www.w3schools.com/js/js_scope.asp – Sajeetharan
@NativeCoder - 即使你希望它们是全局的,你也应该总是用'var','let'或'const'声明所有的变量。 – nnnnnn
我想你在读和旧版本的问题之前,我剪辑... –
** ** DOOH编辑问题** –