关于js中!==与!=的区别的问题

一天要饭生活又开始啦 2012-08-31 10:34:54
js中!==与!=的区别是什么啊?可以这样吗?如:
var a;
if (a!==null) {...
...全文
178 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
似梦飞花 2012-08-31
  • 打赏
  • 举报
回复
一个考虑类型 一个不考虑
wu5224311 2012-08-31
  • 打赏
  • 举报
回复
!= 是值相等
!== 是值和类型都要一样
xuyanlu 2012-08-31
  • 打赏
  • 举报
回复
!==比!=多比较一层类型,如var a = "";

alert(a != 0);// false;
alert(a !== 0); //true;
如果不比较类型的话,false 、null、0是相同的,即用==号比较,如果用===比较的话,他们都不同。
likeajin 2012-08-31
  • 打赏
  • 举报
回复
===要求字面值相等且值类型相等。==只要求字面值相等。
'1'==1为true
'1'===1为false

undefined是从null派生来的
typeof undefined=='undefined'
typeof null=='object'

undefined==null为true
undefined===null为false

var a;
alert(typeof a);//'undefined'
alert(a===undefined);//true
展S开K双Y翼 2012-08-31
  • 打赏
  • 举报
回复
===是类型也强制相等,==不用比类型。
!==就是类型或值不相等,!=只是值不相等。

变量没初始化是 undefined
scj7777777 2012-08-31
  • 打赏
  • 举报
回复
==比较值 ===比较值和类型
!=比较值 !==比较值或类型不相等
scj7777777 2012-08-31
  • 打赏
  • 举报
回复
==比较值 ===比较值和类型
!=比较值 !==比较值或类型不相等
pxxaish9527 2012-08-31
  • 打赏
  • 举报
回复
还是第一次遇到这种问题,学习到了,谢谢大伙
不訴離傷 2012-08-31
  • 打赏
  • 举报
回复
没错,我一般都是用值类型都相等来判断。extjs里的源码也大部分这样写的。[Quote=引用 4 楼 的回复:]

!= 是值相等
!== 是值和类型都要一样
[/Quote]

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧