【前端精进之路】JS篇:第1期 数据类型总结_function 的 tostring() 函数返回值为函数的文本定义

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

// ① 使用只声明而未初始化的变量时,会返回“undefined”
var a
console.log(a)

// ② 获取一个对象的某个不存在的属性(自身属性和原型链继承属性)时,会返回“undefined”
var obj = {
  name: 'pan'
};
console.log(obj.app)

// ③ 函数没有明确的返回值时,却在其他地方使用了返回值,会返回“undefined”
function foo() {}
console.log(foo())

// ④ 函数定义时使用了多个形参,而在调用时传递的参数的数量少于形参数量,那么未匹配上的参数就为“undefined”
function bar(a,b,c){
  console.log(c)
}
bar(1,2)

Null

Null类型只有一个唯一的字面值null,表示一个空指针对象,这也是在使用typeof运算符检测null值时会反回“object”的原因。

常见的出现null的场景

//# ①一般情况下,如果声明的变量是为了以后保存某个值,则应该在声明时就将其赋值为"null"
var obj = null
function foo(){
  return {
    name: 'pan'
  }
}
obj = foo()

//# JavaScript在获取DOM元素时,如果没有获取到指定的元素对象,就会返回"null"
document.querySelector('#id'); //null

//# ③在使用正则表达式进行捕获时,如果没有捕获结果,就会返回"null"
'test'.match(/a/); //null

Undefined和Null两种类型的异同
(1)相同点
  • 都只有一个字面值,分别是undefined和null
  • 在转换为Boolean类型的值时,都会转换为false。所以通过非运算符(!)获取结果为true的变量时,无法判断其值为undefined还是null
(2)不同点
  • 在使用typeof运算符检测时,Undefined类型的值会返回“undefined”,而Null类型的值会返回“object”
typeof undefined //undefined
typeof null //object

  • 在需要进行数值类型的转换时,undefined会转换为NaN,无法参与计算;null会转换为0,可以参与计算。
undefined + 0 //NaN
null + 0 //0

  • 无论在什么情况下都没有必要将一个变量显式设置为undefined。如果需要定义某个变量来保存将来要使用的对象,应该将其
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值