JavaScript中怎么理解=、==和===
問(wèn)題描述
JavaScript中怎么理解=、==和===,如何理清這三者之間的關(guān)系?
問(wèn)題解答
回答1:= : 賦值操作
==: 用來(lái)判斷兩個(gè)值是否相等,但是這里的判斷是經(jīng)過(guò)隱式轉(zhuǎn)換的結(jié)果。例如
1 == ’1’; // true1 == true; // true0 == false; // true
===: 也是用來(lái)判斷兩個(gè)值是否相等,但是不會(huì)有隱式轉(zhuǎn)換的過(guò)程,而是直接判斷,因此也叫做絕對(duì)相等/全等。
1 === ’1’; // false1 === true; // false0 === false; // false
1、對(duì)于string,number等基礎(chǔ)類型,==和===是有區(qū)別的
不同類型間比較,==之比較“轉(zhuǎn)化成同一類型后的值”看“值”是否相等,===如果類型不同,其結(jié)果就是不等
同類型比較,直接進(jìn)行“值”比較,兩者結(jié)果一樣
2、對(duì)于Array,Object等高級(jí)類型,==和===是沒(méi)有區(qū)別的
進(jìn)行“指針地址”比較
3、基礎(chǔ)類型與高級(jí)類型,==和===是有區(qū)別的
對(duì)于==,將高級(jí)轉(zhuǎn)化為基礎(chǔ)類型,進(jìn)行“值”比較
因?yàn)轭愋筒煌?==結(jié)果為false
回答2:’=’: 表示賦值,
var a = 1, b = 2;return a = b; //返回2,為a賦值b,即a為2
’==’: 判斷值是否相同,不判斷類型
var a = 1, b = ’1’;return a == b; //返回true
’===’: 精確判斷,不僅判斷值還判斷類型
var a = 1, b = ’1’;return a === b; //返回false
1、對(duì)于string,number等基礎(chǔ)類型,==和===是有區(qū)別的
不同類型間比較,==之比較“轉(zhuǎn)化成同一類型后的值”看“值”是否相等,===如果類型不同,其結(jié)果就是不等
同類型比較,直接進(jìn)行“值”比較,兩者結(jié)果一樣
2、對(duì)于Array,Object等高級(jí)類型,==和===是沒(méi)有區(qū)別的進(jìn)行“指針地址”比較
3、基礎(chǔ)類型與高級(jí)類型,==和===是有區(qū)別的
對(duì)于==,將高級(jí)轉(zhuǎn)化為基礎(chǔ)類型,進(jìn)行“值”比較
因?yàn)轭愋筒煌?==結(jié)果為false
回答3:=是賦值運(yùn)算符
let a=b // 將值b賦給變量a
== 和===是比較運(yùn)算符
a == b 比較a與b值是否相等a === b 比較a與b是否全等,值和類型都要相同回答4:
==會(huì)進(jìn)行隱式數(shù)據(jù)類型轉(zhuǎn)換,===不會(huì),就是比較兩側(cè)是否真的相等http://www.softwhy.com/articl...
回答5:“=”用來(lái)賦值,直接賦值。
'=='運(yùn)算符,會(huì)先轉(zhuǎn)換,在運(yùn)算。
'==='絕對(duì)相等,兩邊的值和類型都相等才相等。
回答6:盡量多用=== ==很容易出問(wèn)題
相關(guān)文章:
1. java類加載機(jī)制-類定義中new如何理解2. android - 使用vue.js進(jìn)行原生開(kāi)發(fā)如何進(jìn)行Class綁定3. 小白問(wèn)題getDay()4. java - c++ 經(jīng)常出現(xiàn)error LNK20195. 大數(shù)據(jù)處理 - mysql百萬(wàn)級(jí)記錄分頁(yè)查詢優(yōu)化方式有幾種方式?6. mySql排序,序號(hào)7. mysql取模分表與分表8. 常量在外面不加引號(hào)會(huì)報(bào)錯(cuò)。9. 怎么在phpstudy中用phpexcel上傳數(shù)據(jù)到MYSQL?10. dump(Db::query(’SELECT * FROM `user`’));的時(shí)候提醒錯(cuò)誤。
