存在这样的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/