在javascript中传递块而没有冗长的函数语法

时间:2011-07-16 17:27:12

标签: javascript

在我的测试代码中,我收到了很多看起来像这样的东西:

test.truth(function(){return myTest.isDef('')});

其中大部分线只有功能样板。有没有办法减少它,所以我可以有一个更像的语法:

test.truth { myTest.isDef('') }
像在Scala中一样吗?

当然,理想情况下,这是高度浏览器兼容的。

3 个答案:

答案 0 :(得分:1)

不,抱歉。 Javascript有数组文字 - []和对象文字 - {},但函数文字只能使用function() { }语法

答案 1 :(得分:1)

如果您正在寻找简洁的语法,您可能需要CoffeeScript看看。

答案 2 :(得分:0)

你可以使用eval

function testtrutheval(someobject, evaltext)
{
   test.truth(function {  eval("someobject." + evaltext);});
}

然后写

Testtrutheval(mytest,"isdef('')");

我希望我的语法正确,它已经8年sinc我做了javascript。