我刚刚在第三方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
我不确定在这里要问什么问题 -
答案 0 :(得分:1)
我看到问题4.唯一有趣的一个,所以我只回答(1.是微不足道的:“这是根据语言的定义”,2。我不知道,3。我不明白) :
答案在于您引用的错误:
未捕获参考错误:后缀操作中的左侧表达式无效
++
正在修改操作,它需要“左手边表达”。 bar
是可变的,因此它是LHS,"ID-"
是文字,因此它不是LHS。