gpt4 book ai didi

javascript - 使用尖括号的奇怪复杂函数调用

转载 作者:行者123 更新时间:2023-12-03 12:28:36 25 4
gpt4 key购买 nike

我在这里阅读了一些有关 javascript 的基础知识:

http://javascript.info/tutorial/array下面这段话让我震惊:

“请注意 JavaScript 如何允许复杂的语法,例如:reverse()[0] - 调用方法,然后获取结果数组的元素。

实际上,您可以调用更长的电话,例如 reverse()<a href="/0%5D%5B1">0][1</a>[5]...,语言语法允许这样做。”

我尝试在线搜索 function()<a 的此类用法但我找不到任何指导

我的问题是:

  • 我们可以在函数后面直接使用尖括号,而不是作为字符串的一部分吗?

  • 我在这里错过了什么吗?

最佳答案

Can we use the angle braket directly a after a function, not as part of string??

是的,但它将是“小于”比较运算符。有效示例:

if (reverse() < 5) // this example assumes `reverse` returns something reasonably
// comparable with 5

这个引用的例子:

reverse()<a href="/0%5D%5B1">0][1</a>[5]...,
// ^

...从指示的位置来看,绝对是一个语法错误。在此之前,它一直在调用 reverse,然后将结果与 a(变量)进行比较,但是 href 后面的空格就没有意义了.

要么这篇文章是无稽之谈,要么更可能是它的标记被搞乱了。

编辑:

Juhana在评论中指出它可能应该是

reverse()[0][1][5]

...它的作用是:

  • 调用reverse()
  • [0] 应用于结果值(因此希望它是一个数组或具有名为 "0" 属性的对象)
  • [1]应用于结果值
  • [5]应用于结果值

例如:

function reverse() {
return [ // Outermost array
[ // First nested array
[], // First entry in nested array (not used)
[ // Second entry in nested array
'a',
'b',
'c',
'd',
'e',
'f', // Index 5 of the innermost array
'g'
]
]
];
}

console.log(reverse()[0][1][5]); // "f"

关于javascript - 使用尖括号的奇怪复杂函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24055828/

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