javascript indexOf()方法在严格模式下的意外结果
我不明白为什么只有在严格模式下,代码执行的结果才会是-1:javascript indexOf()方法在严格模式下的意外结果,javascript,arrays,indexof,mode,strict,Javascript,Arrays,Indexof,Mode,Strict,我不明白为什么只有在严格模式下,代码执行的结果才会是-1: 'use strict' [0,1].indexOf(0) 是bug还是其他原因? 注意:在正常模式下,它按预期工作:0的索引为0 我试着分析,并有一个想法,为什么它会发生:在严格模式下,在某些情况下,这不是指窗口,而是指“未定义” 我踢你 “使用严格的”;//铌 [0,1].indexOf0ASI踢你 “使用严格的”;//铌 [0,1].indexOf0更像是引擎评估代码的方式 浏览器将其视为一行,而不是两行 'use stri
'use strict'
[0,1].indexOf(0)
是bug还是其他原因?
注意:在正常模式下,它按预期工作:0的索引为0
我试着分析,并有一个想法,为什么它会发生:在严格模式下,在某些情况下,这不是指窗口,而是指“未定义” 我踢你
“使用严格的”;//铌
[0,1].indexOf0ASI踢你
“使用严格的”;//铌
[0,1].indexOf0更像是引擎评估代码的方式 浏览器将其视为一行,而不是两行
'use strict'[0,1].indexOf(0)
评估结果是
's'.indexOf(0)
这是-1
现在,如果您使用分号运行相同的代码,您将得到0
'use strict';
[0,1].indexOf(0)
这更像是引擎如何评估代码 浏览器将其视为一行,而不是两行
'use strict'[0,1].indexOf(0)
评估结果是
's'.indexOf(0)
这是-1
现在,如果您使用分号运行相同的代码,您将得到0
'use strict';
[0,1].indexOf(0)
正确,你可以加上他必须在“use strict”后面加一个分号才能使它工作。编辑:看你已经添加了。正确,你可以添加他必须在“use strict”之后添加一个分号才能使其正常工作。编辑:看你已经添加了。