javascript中的奇怪语法

jul*_*lio 7 javascript syntax mootools

我正在调试其他人写的一些代码(使用Mootools作为基础库),我遇到了这个函数:

[note, $H(options.text).getKeys()].flatten().each(function(option){
  // bunch of stuff happening
});
Run Code Online (Sandbox Code Playgroud)

我之前从未见过这种语法,括号和$ H表示法(例如[note, $H(options.text).getKeys()]).任何人都可以解释它的工作原理或指向我的参考吗?

谢谢!

Mik*_*sen 6

这基本上将两个阵列聚合在一起.举个例子,这个代码:

var a = [1,2,3];
var b = [4,5,6];
var c = [a, b].flatten();
alert(c);
Run Code Online (Sandbox Code Playgroud)

数组[1,2,3][4,5,6]组合(或"扁平化")成一个数组1,2,3,4,5,6.

在你的代码中:

[note, $H(options.text).getKeys()].flatten()
Run Code Online (Sandbox Code Playgroud)

note(可能是另一个数组),无论什么getKeys()返回都被扁平化为单个数组.然后,跨每个元素执行功能.

更新:

$ H函数是一个效用函数MooTools的是哈希的快捷方式().