alert(typeof((function(){
alert('Hello World!');
})()
));
function(){
alert('Hello World!');
}
没有返回值,所以 typeof (function () {...})()
为 undefined
这个写法是自执行函数,而它在最内部,所以,先执行它;
(function(){
alert('hello world')
})()
而typeof()中,是一个自执行函数,没有任何返回值,是undefined,
所以,typeof(undefined)===undefined
所以alert(undefined)
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
使用
typeof param
首先会对param
进行求值;在下面这个表达式中,显然,param就是
这是一个立即执行函数,也就是首先定义了下面的这个匿名函数,
然后用括号包起来直接进行调用,所以会弹出
"Hello World!"
;因为没有return
语句,所以这个方法执行完后的返回值是undefined
,也就是下面的代码的执行结果为undefined
所以
param
就是undefined
,typeof undefined
的结果就是undefined
,所以弹出undefined
。