我在这里阅读一些关于javascript的基础知识:
http://javascript.info/tutorial/array 我对以下段落感到震惊:
“请注意JavaScript如何允许复杂的语法,如:reverse()[0] - 调用方法,然后获取结果数组的元素。
实际上,您可以撰写较长的通话,例如reverse()<a href="/0%5D%5B1">0][1</a>[5]...,
语言语法允许这样做。“
我尝试在线搜索function()<a
的此类用法,但我找不到任何指导
我的问题是:
我们可以在函数后直接使用角度braket,而不是字符串的一部分吗?
我在这里错过了什么吗?
答案 0 :(得分:1)
我们可以在函数后直接使用角度braket,而不是字符串的一部分吗?
是的,但它将是“小于”比较运算符。有效示例:
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"