我刚刚在 3rd 方 wordpress 插件中发现了一个错误,该错误似乎是由 javascript 代码压缩程序引起的。
我相信原始代码应该是这样的:
this.id = "ui-id-" + ++n;
相反,它已被缩小为:
this.id="ui-id-"+++n;
这会在 Chrome 中导致以下错误:
Uncaught ReferenceError: Invalid left-hand side expression in postfix operation
在 Firefox 中也有类似的错误。令人讨厌的是,在 Chrome 中我自己的插件 Javascript 函数仍然成功创建,但在 Firefox 中,这个错误导致我的函数无法创建并且我的插件失败。
var n = 1;
var foo = 10;
var bar = "ID-";
console.log(foo+++n); // results in 11
console.log(foo); // also results in 11
console.log(bar+++n); // results in NaN soft error/warning
console.log ("ID-"+ ++n); // results in ID-2
console.log ("ID-"+++n); // hard error
我不确定在这里问什么问题-
- 为什么 +++ 总是被解释为 ++++?
- 哪些缩小器会导致此错误?
- 为什么firefox对待这个错误比Chrome更严重,导致我自己在Wordpress中的javascript函数创建失败?
- 为什么 bar++ 会出现软错误 (NaN) 而“ID-”++ 会出现硬错误?