比较搞笑的js陷阱题
发布时间:2016-12-30 来源:查字典编辑
摘要:看如下代码:复制代码代码如下:vara=function(t){returnt;}(1+2).toString();alert(a);结果是...
看如下代码:
复制代码 代码如下:
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的命名空间。