存在这样的Javascript代码:

var re = /some_regex/g;
return re.exec(link.attr('href'))[0]


如何在CoffeeScript中调用它
在CoffeeScript中,不需要在方括号中输入参数,但在param中还有另一个函数调用。

我试过了:

re = /some_regex/g
re.exec link.attr 'href' [0]   # compile error: unexpected [
re.exec (link.attr 'href')[0]  # javascript: re.exec((link.attr('href'))[0]);
re.exec (link.attr('href'))[0] # javascript: re.exec((link.attr('href'))[0]);


这个怎么做?否则我应该

// adding new variable
temp = re.exec link.attr 'href'
temp[0]

最佳答案

re.exec后的空格引起了问题,因为它使CoffeeScript编译器认为(link.attr('href'))[0]是参数。

正确的方法是完全像在JavaScript中那样做,没有空格:

re.exec(link.attr('href'))[0]


如果您真的很想在此行上使用no-parens语法,那么这也将起作用:

re.exec(link.attr 'href')[0]


(它们编译成相同的结果)

关于javascript - CoffeeScript函数调用-参数和括号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6586953/

10-12 12:57
查看更多