JS-undefined/null

if 判断语句中,两者都会被转换为false

转换成数字的时候

       null是一个表示无的对象,转换为数值为0;
       
       undefined表示一个无的原始值,转化为数值为NAN(与任何数字相加也为NAN)
       
       Number(null)输出为0, Number(undefined)输出为NaN

意义不同

null表示该对象不存在

	   1.作为函数的参数,表示该函数的参数不是对象

       2.作为对象原型链的终点

undefined表示该变量已经定义但是没有值

情形如下

	   1.变量被声明了但是没赋值时
		
       2.调用函数时,应该提供的参数没提供,则该参数为undefined

       3.函数没有返回值时,默认返回undefined

       4.对象没有赋值的属性

例子

/*以下例子均是在谷歌浏览器中的控制台中输出 第一行为待验证代码 第二行为结果*/
null
null
var hong;
undefined
//定义一个函数 可以通过shift + enter 不执行回车
function test(a) {
console.log(a);
}
undefined
//调用函数
test();
//输出没有定义
VM205:2 undefined
//返回没有定义
undefined
//调用没有定义的对象
var obj = {};
undefined
obj.h;
undefined
//null的类型是对象
typeof null
"object"
//null和undefined是相等,毕竟undefined是从null派生出来的,所以把它们定义为相等的
null == undefined
true
//在一些情况下,我们一定要区分这两个值,那应该使用===不转换类型直接进行比较 或者使用typeof null == typeof undefined
null === undefined
false
//即使强制复制为null仍然会输出undefined
var n = null
undefined
//字符串与没有定义的直接相连会直接报错
'test'+abc
VM2380:1 Uncaught ReferenceError: abc is not defined
    at <anonymous>:1:8
(anonymous) @ VM2380:1
//而如果跟未赋值的变量会出现直接加上undefined
'test'+undefined
"testundefined"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]和\[2\]中提到了一个报错信息,报错信息是关于在使用webpack和vue-loader时出现的错误。错误信息指出需要安装vue-template-compiler作为peer dependency,或者通过选项传递一个兼容的编译器实现。\[2\]中还提到了一个Module build failed的错误,错误类型是TypeError,原因是无法读取undefined的parseComponent属性。根据这些信息,可以初步判断问题可能出现在vue-loader的配置或者依赖安装上。 引用\[3\]中提到了一个api变量的引入路径,这可能与问题有关。根据这些引用内容,可以推测问题可能出现在vue-loader的配置或者依赖安装上。 为了解决这个问题,可以尝试以下几个步骤: 1. 确保已经安装了vue-template-compiler作为peer dependency。可以通过运行命令`npm install vue-template-compiler --save-dev`来安装。 2. 检查webpack配置文件中关于vue-loader的配置,确保配置正确。可以参考官方文档或者其他可靠资源来配置vue-loader。 3. 检查依赖安装是否完整和正确。可以尝试重新安装依赖,或者更新依赖版本。 4. 如果以上步骤都没有解决问题,可以尝试搜索类似的问题和解决方案,或者向相关的开发社区寻求帮助。 总结起来,这个报错信息是关于在使用webpack和vue-loader时出现的错误,可能是由于缺少vue-template-compiler或者配置错误导致的。可以通过安装vue-template-compiler、检查配置和依赖安装来解决这个问题。 #### 引用[.reference_title] - *1* [Module Error (from ./node_modules/vue-loader/lib/loaders/templateLoader.js):(Emitted value instead o](https://blog.csdn.net/weixin_53071920/article/details/121662490)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [ERROR in ./src/App.vue Module Error (from ./node_modules/vue-loader/lib/index.js): [vue-loader] v...](https://blog.csdn.net/weixin_40664145/article/details/110405259)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [vue-loader分析](https://blog.csdn.net/dglf54292/article/details/101232461)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值