javascript语法读者错了吗?

时间:2011-10-17 22:35:52

标签: javascript

我有这个代码,不要误解我一切正常

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"));

现在它无法正常工作。

我不明白,它假设得到相同的结果,这里有什么问题?

1 个答案:

答案 0 :(得分:2)

两个位置使用w

w[al](w[pi]("0"));
^     ^

所以你需要在w[gg]() 中替换

w[gg]()[al](w[gg]()[pi]("0"));
^^^^^^^     ^^^^^^^

另请注意,此转换可能仍然不等效,例如w[gg]()有副作用或不确定。