Par*_*ris 3 javascript uglifyjs
我有一个函数,其中包含一个构造函数.它创建一个新对象并返回它:
function car() {
function Car() {}
return new Car();
}
Run Code Online (Sandbox Code Playgroud)
因此,uglify将Car重命名为某个字母,当它返回时,它看起来像对象名称只是一些字母.例如,在chrome中,它会说对象的类型是"t".
有没有办法告诉uglify保留一些函数的名称?
即使你遵循比尔的建议,你的方法仍然存在问题.
car().constructor !== car().constructor
Run Code Online (Sandbox Code Playgroud)
人们会期望这些是平等的
我会改变你创建构造函数并给它一个Factory构造函数的方法
/** @private */
function Car() {
...
}
Car.create = function() {
return new Car();
}
Run Code Online (Sandbox Code Playgroud)
或者以下(模块模式),结合Bill的方法.然后你不会每次都返回一个具有不同原型的对象
var car = (function() {
function Car() {...}
return function() {
return new Car();
}
})();
// car().constructor === car().constructor // true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3560 次 |
| 最近记录: |