关于JS中比较符==和===的判断不同解释
来源:互联网 发布:买别人的淘宝店铺 编辑:程序博客网 时间:2024/05/22 09:35
通常在JS中判断两个值是否相等,可以使用“==”比较符,如果在if判断语句中使用了单引号,则意思是只要相应的赋值操作取得成功,那这个条件的求值结果就是true.
比如:
var oneWord = "think";var twoWord = "javaScript";if(oneWord = twoWord){ alert("those words is same.")}
上面这种错误的判断方式就是在于,把变量twoWord赋值给变量oneWord,而不是在判断他们是否相等,一般基本这种赋值操作总会成功,但是有个例外就是下面这种,条件语句结果返回的是false
//特例if(a=false){ alert("这句就不会执行");}
比较符“==”其实不是严格的判断相等,比如我们这样比较:
var a = false;var b = "";if(a==b){ alert("a equals b");}
这个语句的条件语句返回的就是true,为什么比较操作符“==”会认为false和“”相同呢?因为“==”不是严格的比较,其认为false和空字符串的含义相同,所以这种判断必须用严格的判断了,就要使用另一种判断比较符“===”,这种比较符会对变量进行严格的比较操作,它不仅比较的是变量的值,而且会比较变量的类型:
var a = false;var b = "";if(a === b){ alert("a equals b!");}
这次的条件表达式结果就是false了,因为虽然false与空字符串有相同的含义,但是Boolean和String不是一种类型,当然如果项要对不等操作进行严格判断,就要使用判断符“!==”
0 0
- 关于JS中比较符==和===的判断不同解释
- 关于js中''、0、false、[]和{}等==的判断逻辑
- 关于java中比较所用的"=="与s.equals()方法的不同
- IE和FF对href=""的不同解释
- 关于String类型常亮进行“==” 和equal()比较的不同
- 关于比较js中两个对象相等 ==
- js中比较运算符'=='和'==='的区别
- JS中typeof() !== 'undefined'的解释
- js中==比较符的原则
- js中var self=this的解释
- js中var self=this的解释
- js中var self=this的解释
- js中==和===的使用,0和“ ”的比较
- Java中关于i=i++的正确解释方法
- 关于字符串的比较问题,"=="与"equals"的不同
- 关于java和c++中 i=i++结果不同的分析
- Java中"=="和equals方法在字符串比较中的不同
- java中==、equals的不同AND在js中==、===的不同
- 学习书籍
- 7、PCIE总线-PCI、PCIE关系及信号定义
- ubuntu16.04开wifi
- 【Java学习笔记】——JDK与JRE的区别
- JAVA值传递和引用传递
- 关于JS中比较符==和===的判断不同解释
- 【数据结构与算法】——基数排序
- How can we double the data rate of 802.11a?
- Lightoj 1043
- 8大经典数据挖掘算法
- 十道海量数据处理面试题
- js中json与数组字符串的相互转化
- Two Sum(easy)
- Python删除列表元素不全