js ‘undefined’与undefined在== 与===有什么区别?

js ‘undefined’与undefined在== 与===有什么区别?

阅读 5.8k
6 个回答

==是字面量的比较
===是内存地址的比较,恒等判断类型和值都需要相等才为true
多说点undefined是一个单独的js类型
'underfined'是string类型
undefined 表示未定义!

//值得注意的
alert(null == undefined);  //输出 "true"

'undefined' 是字符串
undefined 是一个JavaScript的 原始数据类型,一个没有被赋值的变量的类型。

相等(==)
比较操作符会为两个不同类型的操作数转换类型,然后进行严格比较。

一致/严格相等 (===)
一致运算符不会进行类型转换,仅当操作数严格相等时返回true

 typeof ('undefined'==undefined)
"boolean"

 'undefined'==undefined // '' 单引号包含起来的为string 类型 
false

 'undefined'===undefined
false

typeof(undefiend) === "undefined"

'undefined' 是字符串
undefined 是原始类型
图片描述
== :相等运算符,仅判断数据的值是否相等,会进行隐式转换
=== :严格相等运算符,判断数据的值 与 数据的类型 是否都相等
所以有时候会有这样的事情
图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题