“=”“==”“===”
来源:互联网 发布:网络系统安全巡检方案 编辑:程序博客网 时间:2024/05/16 06:32
前言
–
今天突然听到了===觉得很好奇,便有了这篇文章。
正文
–
整体来说:
在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中,“=”“==”和“===”都非常常见。
- =
- <%=%> <%#%>
- :=
- :=
- +=
- <%%><%=%>
- ^=
- +=
- =
- +=
- \(|\)|\+|\-|\*|/|%|<+|>+|(>=)|(<=)|=|!=|\:|\!\:|([^\(\)\+\-\*/%<>=\!\:])+
- ================各种文字==========
- ==========感受=========
- Oracle====================================
- =========重新开张=========
- ========================
- ============读取联系人============
- PHP ==/===,<=>/?? ??
- Android之网络调试adb tcpip
- HDU
- Python-assert的用法
- XListView加载数据
- JVM调优之jstack 代码诊断
- “=”“==”“===”
- linux系统结构,文件寻址,文件管理编辑,正则表达式
- ArrayList源码分析
- [java]集合
- 浏览器渲染页面过程
- 状态栏
- 【Mybatis】——mapper代理方法
- HDU
- 初探GDI——基本框架(载入位图)