为什么浏览器控制台(Console)运行JavaScript代码有时会出现“undefined”?

为什么浏览器控制台(Console)运行JavaScript代码有时会出现“undefined”?

浏览器“控制台”(console)使用简介

about:blank是打开浏览器空白页的命令——内置在浏览器中的命令,可以打开浏览器空白页(没有任何内容)。

打开浏览器,按下 F12键 【或 按 Ctrl+Shift+J (Windows、Linux) 或 Command+Option+J (macOS)】,然后选择 “控制台”(console) 面板,就进入了控制台。进入控制台以后,就可以在提示符(> 符号)后输入代码,然后按回车(Enter键),代码就会执行。如果按Shift + Enter键,就是代码换行,不会触发执行。执行结果显示在<•符号之后。

浏览器的开发者工具使用介绍https://blog.csdn.net/cnds123/article/details/120822401

一、在浏览器控制台(Console)运行javascript代码有时会出现“undefined”,为什么?

在浏览器“控制台”(console)中运行下面两段代码

代码段1

function fun1() {  //定义函数fun1,没有return语句
}
fun1();//调用函数

代码段2

function fun2() {  //定义函数fun2,有return语句
  return 'Hello!';
}
fun2(); //调用函数

运行情况如下:

先看undefined 是什么?

JS 有6种基本类型(原始类型):

  String:字符串  

  Number:数值 

  Boolean:布尔值  

  Null:空值  

  Undefined:未定义

Symbol: (ES2015增加)

undefined是一个特殊的值,当访问未初始化的变量、不存在的对象属性、不存在的数组元素、没有返回值的函数等时,将接收到一个undefined 的值。例如:

let number;

number; //未初始化的变量=> undefined

let movie = { name: "Interstellar" };

movie.year; //一个不存在的对象属性=> undefined

let movies = ["Interstellar", "Alexander"];

movies[3]; //不存在数组元素 => undefined

使用没有用return返回值的函数,将接收到一个undefined 的值,可以参看开头的示例。如果你纠结那些示例太简单,下面再给出有点用处的示例,你再运行试试吧:

计算两个数字的乘积的函数:

代码1、用return返回乘积的值

function myFun1(a,b)
{   
    let z=a*b //计算两个数字的乘积
    return z;
}
myFun1(2,3)

代码2、不使用return返回值,而用alert()弹出乘积的值

function myFun2(a,b)
{
    z= a*b; //计算两个数字的乘积
    alert(z)  
}
myFun2(2,3)

二、为什么console.log()会返回undefined

如:console.log(1+2);

console.log方法(method)是用来在控制台输出信息。

console.log本身是一个函数,函数是可以有返回值的,若不设置返回值,默认返回值为undefined。

先执行表达式1+2 结果为3,再执行console.log()函数无返回值,默认为undefined

console.log本身是一个函数

console.log(typeof(console.log));

关于typeof运算符(operator)可见 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/typeof

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习&实践爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值