Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript indexOf()方法在严格模式下的意外结果_Javascript_Arrays_Indexof_Mode_Strict - Fatal编程技术网

javascript indexOf()方法在严格模式下的意外结果

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

我不明白为什么只有在严格模式下,代码执行的结果才会是-1:

'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”之后添加一个分号才能使其正常工作。编辑:看你已经添加了。