对浏览器console控制台输出undefined的分析

控制台输入一句代码,实际是执行了eval函数(猜测),具体可以看下面博文

问题描述:

类似于上图所示,在浏览器Console控制台输入js代码时,除了要得到的结果,还会有一个左箭头以及undefined的值的输出。

分析:

1、尝试其他多种输入:

(1)1

(2)。 // 句号

(3)‘ ’ // 单引号

2、然后我们需要了解js中一个顶层函数(全局函数)eval(),或可以理解为js自带的系统函数

eval(string)

其作用是将 接收的 string 字符串作为参数,对其进行JavaScript 表达式或语句 计算,返回得到的值;

如果是没有返回值的表达式或语句,则会返回 undefined ;

如果没有合法的表达式和语句,则会抛出 SyntaxError 异常 。

于是我们可以猜测Console控制台的实质 就是 调用了eval()函数

3、验证

原因:

因为Console控制台的实质,即eval()函数,所以当输入的表达式或语句没有返回值时,会返回 undefined 。

经验分享 程序员 微信小程序 职场和发展