javascript:(ä=#1 = {} && alert)(ä)

Mic*_*oka 2 javascript

在这里找到http://sla.ckers.org/forum/read.php?2,15812,page=2

如果您复制问题的标题并在浏览器中运行它,您应该看到它正在警告函数的字符串表示形式.

function alert() {
    [native code]

}
Run Code Online (Sandbox Code Playgroud)

有人可以慢慢解释发生了什么吗?

Que*_*tin 8

从先发生的事情开始,然后从那里锻炼出来

  1. {} && alert- {}是的,所以alert评估并向左推
  2. #1 = alert- 分配alert给变量#1(从技术上讲,你不能#用来启动一个标识符,但有些浏览器显然会让你逃脱它(同上ä))
  3. ä = #1- assign #1(alert)toä
  4. ä(ä)-呼叫alertalert作为参数
  5. alert自动调用theFirstArgument.toString()将函数转换为字符串
  6. 然后,您将获得渲染的字符串