javascript - 为什么输出hello world 和undefined?

查看:103
本文介绍了javascript - 为什么输出hello world 和undefined?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

alert(typeof((function(){
            alert('Hello World!');
        })()
    ));

解决方案

使用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

这篇关于javascript - 为什么输出hello world 和undefined?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆