我有这个代码,不要误会我,一切都很好
var w = "window" ,
gg = "gg" ,
pr = "prototype" ,
al = "alert" ,
pi = "parseInt" ,
st = String ,
ts = "toString";
st[pr][gg] = function(){return window[this[ts]()];};
w = w[gg]();
w[al](w[pi]("0"));
当我替换这段代码时问题就开始了
w = w[gg]();
w[al](w[pi]("0"));
与这个
w[gg]()[al](w[pi]("0"));
现在不起作用。
我不明白,它想得到相同的结果,这是怎么了?
最佳答案
使用w
的地方有两个:
w[al](w[pi]("0"));
^ ^
因此,您需要用
w[gg]()
替换两次:w[gg]()[al](w[gg]()[pi]("0"));
^^^^^^^ ^^^^^^^
另请注意,例如
w[gg]()
具有副作用或不确定性时,此转换可能仍不等效。关于javascript - javascript语法阅读器错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7800420/