1

为了节省空间,我为代码中的函数创建了一大堆别名。它在 FF 中运行良好,但现在我正在尝试添加对 IE 的支持,但并不满意。

j=String;
f0=j.fromCharCode;
j=j.prototype;
j.f1=j.indexOf;
j.f2=j.lastIndexOf;
j.f3=j.concat;
j.f4=j.substring;

function alias(c,e){return function(){return c[e].apply(c,arguments);};}

w=window.location;
d=document;
b=document.body;
f5=alias(d,"createElement");
f6=alias(b,"appendChild");
f7=alias(d,"getElementById");
...etc

我确定 alias() 函数在 IE 中不起作用。有没有在两种浏览器中都可以使用的替代方法?

4

1 回答 1

2

这是不直接回答您的问题的答案之一,但我认为它会有所帮助:

您应该编写没有所有短变量和别名的代码。把它写成完整的形式,因为它会更容易维护。

然后,当您将代码移至生产环境时,将您的代码放入一个为您执行别名和变量缩短的压缩器。

你可以试试这两个中的任何一个来为你做(还有很多其他好的):

  1. 谷歌闭包编译器
  2. Dean Edwards Packer(打开“收缩变量”)
于 2010-01-23T00:11:17.480 回答