8

有没有办法在function没有太多开销的情况下给运算符起别名,比如 eval?我想写

fn test() { ... }

代替

function test() { ... }

在缩小的代码中剥离一些字节。只是好奇。

4

2 回答 2

5

有没有办法在没有太多开销的情况下给函数运算符起别名?

没有。

当然,除非你使用 ECMAScript 6,它应该包含所谓的“胖箭头”语法

var test = (arg1, arg2) => arg1 + arg2;

在那之前,你一直被困在声明中:

var test = function (arg1, arg2) { return arg1 + arg2 };

或者

function test(arg1, arg2) {
    return arg1 + arg2;
}
于 2013-04-29T19:08:54.223 回答
2

正如 Dave 指出的那样,最好编写适当的脚本并让 gzip 完成它的工作。

但是,如果您不害怕eval()并被同行看不起,但是您可以构建一个预处理器来稍微自定义语言——其中一个功能可以是启用=>声明。

在一些需要预处理的外部文件或隐藏标签中:

f=(x,y)=>{return x+y;}

在你的预处理器某处:

var s = loadCodeToPreprocess(whatever);
s = s.replace(/(\([^()]*\))=>/g, "function$1");
eval(s);

但同样,通常最好只按照标准编写 JavaScript 并让 gzip 完成它的工作。

于 2013-04-29T19:59:18.010 回答