比较搞笑的js陷阱题

看如下代码:
复制代码 代码如下:
  var a = function(t) { return t; }
  (1 + 2).toString();
  alert(a);

结果是多少?

其实主要问题出在第一行后面没有分号,所以其实是var a = function(t) { return t; }(1 + 2).toString();
先建立变量a,然后执行赋值语句,匿名函数传入参数1+2执行,返回结果.toString(),赋值给a。
关于这种function() {}()的写法,具体可参看js的命名空间。

JavaScript技术比较搞笑的js陷阱题,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。