Skip to main content
 首页 » 编程设计

javascript之是否可以在 javascript 中添加一些新语法

2025年05月04日24yjmyzz

是否可以在 javascript 中添加一些新语法?就像我想让它有一个像这样的语法:

mul>10>20 结果为 200 或者如果说 mul(2)(3) 结果为 6 ?有可能的?我在某处看到类似的问题来做到这一点?所以我不确定这是否可能?如果不是在 JS 中,是否可以在 C、Java、Python 等其他语言中使用?我的理解是,所有这些语言都只能为新对象添加一些功能,甚至那些新对象也只能具有语言本身已经具有的运算符和语法?那么我是正确的还是可以为这些语言添加新的语法?

请您参考如下方法:

您的更广泛问题的答案是您正在使用的语言,意思是旨在使用您可用的工具解决您的问题。

但是,您给出的第二个示例实际上已经是一种相当常见的模式,称为柯里化(Currying)。您可以通过以下方式扩展 Javascript 以实现此目的:

Function.prototype.curry = function() { 
    var fn = this, args = Array.prototype.slice.call(arguments); 
    return function() { 
      return fn.apply(this, args.concat( 
        Array.prototype.slice.call(arguments))); 
    }; 
  }; 

所以假设 mul(a, b) 是:

function mul(a, b) { 
    return a * b; 
} 

你可以使用mul.curry(2)(3)

这是一个 Fiddle

有关此设计模式的更深入的解释,请查看 http://ejohn.org/blog/partial-functions-in-javascript/