Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.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。数组初始化顺序的元素_Javascript_Arrays_Specifications - Fatal编程技术网

Javascript。数组初始化顺序的元素

Javascript。数组初始化顺序的元素,javascript,arrays,specifications,Javascript,Arrays,Specifications,有一天,我看到了交换数组中元素的某种方法。像这样: var-arr=[1,2,3]; arr[0]=[arr[1],arr[1]=arr[0]][0]; 显然,此方法假定临时数组的第一个值arr[1]将在第二个arr[1]=arr[0]之前计算出来 否则,两个值将相同。合成示例: var x=1; var arr=[x,x+=1,x+=1]; arr;//[1,2,3]或[3,3,2]或可能[3,2,3]? 是否保证javascript解释器不会以这种方式工作?JS数组初始值设定项保证从左到

有一天,我看到了交换数组中元素的某种方法。像这样:

var-arr=[1,2,3];
arr[0]=[arr[1],arr[1]=arr[0]][0];
显然,此方法假定临时数组的第一个值
arr[1]
将在第二个
arr[1]=arr[0]
之前计算出来
否则,两个值将相同。合成示例:

var x=1;
var arr=[x,x+=1,x+=1];
arr;//[1,2,3]或[3,3,2]或可能[3,2,3]?

是否保证javascript解释器不会以这种方式工作?

JS数组初始值设定项保证从左到右进行计算

数组累积(ElementList:ElementList,省略[opt]赋值表达式):

.1。让postIndex成为使用参数array和nextIndex对ElementList执行ArrayAccumulation的结果

.4。让initResult作为赋值表达式的求值结果

@

不过最好不要依赖它。

“不过最好不要依赖它。”-嗯?你完全可以信赖它。