【发布时间】:2021-10-05 03:31:25
【问题描述】:
如果我使用“var”来声明数组,如下所示。为什么给我6个
var name = ['Rohan', 'Google', 'Student'];
console.log(name.indexOf('Google'));
输出为 6
如果我使用“let”来声明数组,请给出正确答案
let name = ['Rohan', 'Google', 'Student'];
console.log(name.indexOf('Google'));
输出为 1
【问题讨论】:
-
你使用
let的那个是正确的,你声明变量name是代码的任何其他部分吗? Javascript实际上可以将其拾取然后显示结果 -
你在其他地方使用变量
name吗? -
var name指的是window.name。它永远是一个字符串。如果您执行console.log(name),它将显示"Rohan,Google,Student"而不是['Rohan', 'Google', 'Student']。请检查重复项以获取更多详细信息。 -
这太奇怪了,我认为问题在于 javascript 将名字 (var) 视为字符串而不是数组,因为当您执行
typeof(name)时,它会给出 string,这说明为什么 indexof 返回 6(因为 Google 的 G 是第 7 个字符,当您使用 let 声明它时,typeof 返回 Object 这就是您想要的 -
不,我以前没有,因为在我的 JS 页面中只有牵引线
标签: javascript arrays