“=”“==”“===”

前言

  今天突然听到了===觉得很好奇,便有了这篇文章。

正文

  整体来说:
  在C中,=是一种赋值运算符,==是一种关系运算符,在js中,==是比较值,===是比较类型值。
  具体来说:
  在C语言中,举个例子,
  (1)a=10,意思是把10赋值给a;
  (2)a==10,不会改变10的值,也不会改变a的值,只是将a中的值和10进行比较,如果相等,则为Ture,反之,则为False。

  在js中,举个例子,
  (1)a==10,意思是将a中的值和10进行比较,如果相等,则为Ture,反之,则为False;
  (2)a===10
   ①意思是把a的类型和值和10的类型和值进行比较,比如,a是string类型,值为10,10的类型为Int,值为10 ,即使值都是10 ,但是类型不同,它们就不相同。
   ②如果两个值都为int类型的,而且值都为10,那么除非其中一个或两个都是NaN(Not a Number)(这种情况它们不是等同的),否则它们是等同的。值NaN永远不会与其他任何值等同,包括它自身,要检测一个值是否是NaN,可以使用全局函数isNaN()。
   ③如果a和10都是string类型的,而且在串中同一位置上的字符完全相同,那么它们就完全等同。如果字符串的长度或内容不同,则不相等。
   ④如果a和10都是布尔型为true,或者a和10都是布尔型为false,则相等。
   ⑤如果a和10引用的是同一个对象、数组或函数,则相等,反之,引用的不是同一个,则不相等。
   如果两个值都是null或都是undefined,它们完全相同。

总结

  不怕不知道,就怕不知道。不管是哪个C中,只有“=”和“==”用作运算符,但是在js中,“=”“==”和“===”都非常常见。

评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值