【问题标题】:Add Name Definition to "Function" in Javascript将名称定义添加到 Javascript 中的“函数”
【发布时间】:2014-01-20 14:31:28
【问题描述】:


我想做这样的事情:

var f = Function;
var f1 = f(){
    //do stuff
}

f1(); // call f1 as a function

主要思想是创建一个新名称和创建函数的新方法:而不是 function a()f a()

提前致谢。

【问题讨论】:

  • 你需要这个做什么?顺便说一句,Function 需要调用才能从代码创建新函数。
  • 只是因为我想让我的代码更短,即使没有什么大不了的......
  • 如果你给函数设置了一个变量,它已经是函数了。只需用括号调用它。
  • 你不能,那将是无效的 JS。但是,您可能想看看一些语法更简洁的 compile-to-javascript 语言,例如 coffeescript.org/:f1 = () -> ;
  • 是的,这就是想法,ruby 也有一个简短的函数定义合成器,我想在 JS 中重新定义这个,但如果不可能,那就太糟糕了......

标签: javascript function rename definition


【解决方案1】:

JavaScript 没有提供任何可以使用附加关键字扩展语言的方法。

【讨论】:

  • 并绑定一个函数,拆分参数并完成所有需要的绑定?
  • 您并没有尝试将f 用作函数,那么这有什么关系?
  • 是的,我知道,但这是因为我不知道该怎么做,如果可能的话......
  • @Nobe4 简单地说,每次定义函数时,都必须使用function关键字。没有办法解决这个问题。
  • 有一些方法可以绕过它(Function构造函数),它们只是讨厌而且更复杂。 (这不是一次性的令人讨厌的复杂问题,每次创建函数时都必须处理它)。
【解决方案2】:

不是你的意思,但也许你可以玩这个:

var f=function(){ 
return function(){alert(1)};  
}; 

var x=f(); 
x();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 2014-01-22
    • 2015-01-28
    • 2010-10-31
    • 2021-07-23
    相关资源
    最近更新 更多