为了账号安全,请及时绑定邮箱和手机立即绑定

为什么输出hello world 和undefined?

为什么输出hello world 和undefined?

阿波罗的战车 2018-12-13 18:19:04
alert(typeof((function(){            alert('Hello World!');        })()    ));
查看完整描述

1 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

使用typeof param首先会对param进行求值;在下面这个表达式中,

typeof(

    (function(){

        alert('Hello World!');

    })()

)

显然,param就是

(function(){

    alert('Hello World!');

})()

这是一个立即执行函数,也就是首先定义了下面的这个匿名函数,

function(){

    alert('Hello World!');

}

然后用括号包起来直接进行调用,所以会弹出"Hello World!";因为没有return语句,所以这个方法执行完后的返回值是undefined,也就是下面的代码的执行结果为undefined


(function(){

    alert('Hello World!');

})()

所以param就是undefinedtypeof undefined的结果就是undefined,所以弹出undefined


查看完整回答
反对 回复 2019-01-02
  • 1 回答
  • 0 关注
  • 454 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信