什么';这是一个JavaScript代码的例子,它的语义会被缩小而改变?

什么';这是一个JavaScript代码的例子,它的语义会被缩小而改变?,javascript,minify,cellular-network,Javascript,Minify,Cellular Network,我有报告——恐怕没有可用的源代码——有一个web应用程序在使用某些移动数据网络的设备上无法工作,因为网络运营商正在运行一个不透明的代理,该代理正在压缩图像和缩小JavaScript,而缩小实际上正在破坏代码 我很好奇,是否有人有这样一个例子(即代码片段加上缩小技术),即草率的JS代码与激进的缩小相结合实际上可以改变代码的含义?我怀疑这样的结合是可能的,但想不出或找不到任何例子。有人得到了一个很好的例子或相反的证据吗?请考虑以下代码: function DoStuff(thingA, ThingB

我有报告——恐怕没有可用的源代码——有一个web应用程序在使用某些移动数据网络的设备上无法工作,因为网络运营商正在运行一个不透明的代理,该代理正在压缩图像和缩小JavaScript,而缩小实际上正在破坏代码


我很好奇,是否有人有这样一个例子(即代码片段加上缩小技术),即草率的JS代码与激进的缩小相结合实际上可以改变代码的含义?我怀疑这样的结合是可能的,但想不出或找不到任何例子。有人得到了一个很好的例子或相反的证据吗?

请考虑以下代码:

function DoStuff(thingA, ThingB){
    var thingC = thingA + ThingB;
    return thingC;
}

var stuffingC = eval("DoStuff(stuffingA, stuffingB)");
缩略语有时会缩短变量或函数名:

function DS(A, B){return A+B;}

var C= eval("DoStuff(stuffingA, stuffingB)");
在这种情况下,您的代码将中断,因为eval'd字符串没有更改以说明更改后的函数名称


这是一个基本示例,但通常会发生这样的情况:您对字符串变量进行某种反射或求值,该变量引用具有预缩编名称的缩编代码段,但不会更改以说明这种缩编性质。

您没有源代码,但是你有一个这样的例子吗?希望你已经看到了;可能是一些像这样的错误代码在未被统一时会被通过,但实际错误在英国有关于O2的传闻时会被忽略-我还没有亲身经历过这个问题,但我从个人经验中确实知道O2在移动数据网络上使用了大量的图像压缩。请注意,缩小Javascript和图像在移动网络上实际上是一件好事。90%的用户在移动连接上的带宽有限,这意味着随着时间的推移,他们可以节省的那几KB加起来。哦,同意-缩小是好的,尤其是在移动网络上。无论如何,无法在缩小后生存的JavaScript可能是糟糕的JavaScript:)