比较搞笑的js陷阱题

  作者:bea

看如下代码: 代码如下:   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()
看如下代码:


代码如下:



 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的命名空间。


有用  |  无用

猜你喜欢