gpt4 book ai didi

javascript - array.slice(-1)[0] -- 有人可以解释一下吗?

转载 作者:行者123 更新时间:2023-11-30 07:20:49 24 4
gpt4 key购买 nike

我从 codeblocq.com 获得了这段代码(从未听说过该网站):

alert(array.slice(-1)[0]);

它以某种方式返回数组 中最后一个元素的值。该代码按预期工作,但我不知道如何工作。谁能帮我理解这个魔法?

最佳答案

将表达式分解成多个部分。通过了解每个小部分,您将了解整体。

这是您的原始语句:alert(array.slice(-1)[0]);

alert(...) 是一个函数调用。在它可以执行(并在屏幕上打印一些东西)之前,必须首先评估它的参数。它有一个参数:array.slice(-1)[0],我们接下来将对其进行研究。

array.slice(-1) 是另一个函数调用。 [0] 是一个数组索引。哪个先评价?为了回答这个问题,我们求助于Operator Precedence。 .函数调用和成员访问都是 19 级,具有从左到右的关联性,这意味着我们首先评估函数调用,然后是数组索引。

为此,让我们转向 documentation on array.slice ,它说:

arr.slice(begin)

A negative index can be used, indicating an offset from the end of the sequence. slice(-2) extracts the last two elements in the sequence.

返回值

A new array containing the extracted elements.

因此,array.slice(-1) 为您提供了一个包含原始数组中最后一个元素的数组。

从左到右移动,我们现在有一个由单个项目组成的数组,后跟一个数组索引 [0]。这会为您提供切片数组中的第一个(也是唯一一个)项目,然后将其传递给 alert(...)

关于javascript - array.slice(-1)[0] -- 有人可以解释一下吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45225973/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com