为什么输出hello world 和undefined?

alert(typeof((function(){
alert('HelloWorld!');
})()
));
aluckdog
浏览 464回答 2
2回答

炎炎设计

使用typeofparam首先会对param进行求值;在下面这个表达式中,typeof((function(){alert('HelloWorld!');})())显然,param就是(function(){alert('HelloWorld!');})()这是一个立即执行函数,也就是首先定义了下面的这个匿名函数,function(){alert('HelloWorld!');}然后用括号包起来直接进行调用,所以会弹出"HelloWorld!";因为没有return语句,所以这个方法执行完后的返回值是undefined,也就是下面的代码的执行结果为undefined(function(){alert('HelloWorld!');})()所以param就是undefined,typeofundefined的结果就是undefined,所以弹出undefined。

米琪卡哇伊

function(){alert('HelloWorld!');}没有返回值,所以typeof(function(){...})()为undefined
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript