JavaScript undefined 和 null 出现的几种情况

1. undefined
① 在变量提升(预解析)阶段,变量只声明未赋值,默认值就是undefined
LY 示例代码

<script>
	var num;
	console.log(num);
</script>

② 函数定义没有返回值(return或者return后面什么也不带),默认的返回值就是undefined。
LY 示例代码

<script>
	function fn(){}
	console.log(fn())
	//或者
	function fn(){return}
	console.log(fn())
</script>

③ 函数定义形参不传值,默认就是undefined
LY 示例代码

<script>
	function fn(a){console.log(a)}
    fn()
</script>

④ 对象没有这个属性名,属性值默认就是undefined
LY 示例代码

<script>
	let obj={};
	console.log(obj.age)
</script>

2. null
① 手动设置变量的值或者对象某一个属性值为null(此时不赋值,会在后面的代码中进行赋值,相当于初始化。)
LY 示例代码

<script>
	 let obj=null;
     console.log(obj)
</script>

② 在JS的DOM元素获取中使用获取单个DOM元素的方法,如果没有获取到指定的元素对象,结果一般是null
LY 示例代码

<script>
     let con=document.getElementById('con');
     console.log(con)
     let box=document.querySelector('div');
     console.log(box)
</script>

③ Object.prototype.__proto__的值也是null
LY 示例代码

<script>
	console.log(Object.prototype.__proto__)
</script>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TypeError: Cannot convert undefined or null to object"错误通常发生在尝试将undefinednull转换为对象时。这个错误可能是由于以下几种情况引起的: 1. 对象不存在或为null:当你尝试对一个不存在或为null的对象执行操作时,就会出现这个错误。在这种情况下,你需要确保对象存在并且不为null,然后再执行操作。 2. 对象属性不存在:当你尝试访问一个对象的不存在的属性时,也会出现这个错误。在这种情况下,你需要确保对象具有该属性,或者在访问属性之前进行检查。 3. 函数参数为undefinednull:当你将undefinednull作为函数的参数传递时,也会出现这个错误。在这种情况下,你需要确保传递给函数的参数不是undefinednull。 以下是一些解决这个错误的方法: 1. 检查对象是否存在或为null: ```javascript if (commentInfo && commentInfo.explain && commentInfo.images) { // 执行操作 } else { // 处理对象不存在或为null情况 } ``` 2. 检查对象属性是否存在: ```javascript if ('explain' in commentInfo && 'images' in commentInfo) { // 执行操作 } else { // 处理属性不存在的情况 } ``` 3. 检查函数参数是否为undefinednull: ```javascript function myFunction(param) { if (param === undefined || param === null) { // 处理参数为undefinednull情况 } else { // 执行操作 } } ``` 请注意,根据你提供的引用内容,具体的解决方法可能会有所不同。你需要根据实际情况选择适合的解决方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值