JavaScript中怎么理解=、==和===
問題描述
JavaScript中怎么理解=、==和===,如何理清這三者之間的關(guān)系?
問題解答
回答1:= : 賦值操作
==: 用來判斷兩個值是否相等,但是這里的判斷是經(jīng)過隱式轉(zhuǎn)換的結(jié)果。例如
1 == ’1’; // true1 == true; // true0 == false; // true
===: 也是用來判斷兩個值是否相等,但是不會有隱式轉(zhuǎn)換的過程,而是直接判斷,因此也叫做絕對相等/全等。
1 === ’1’; // false1 === true; // false0 === false; // false
1、對于string,number等基礎(chǔ)類型,==和===是有區(qū)別的
不同類型間比較,==之比較“轉(zhuǎn)化成同一類型后的值”看“值”是否相等,===如果類型不同,其結(jié)果就是不等
同類型比較,直接進行“值”比較,兩者結(jié)果一樣
2、對于Array,Object等高級類型,==和===是沒有區(qū)別的
進行“指針地址”比較
3、基礎(chǔ)類型與高級類型,==和===是有區(qū)別的
對于==,將高級轉(zhuǎn)化為基礎(chǔ)類型,進行“值”比較
因為類型不同,===結(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、對于string,number等基礎(chǔ)類型,==和===是有區(qū)別的
不同類型間比較,==之比較“轉(zhuǎn)化成同一類型后的值”看“值”是否相等,===如果類型不同,其結(jié)果就是不等
同類型比較,直接進行“值”比較,兩者結(jié)果一樣
2、對于Array,Object等高級類型,==和===是沒有區(qū)別的進行“指針地址”比較
3、基礎(chǔ)類型與高級類型,==和===是有區(qū)別的
對于==,將高級轉(zhuǎn)化為基礎(chǔ)類型,進行“值”比較
因為類型不同,===結(jié)果為false
回答3:=是賦值運算符
let a=b // 將值b賦給變量a
== 和===是比較運算符
a == b 比較a與b值是否相等a === b 比較a與b是否全等,值和類型都要相同回答4:
==會進行隱式數(shù)據(jù)類型轉(zhuǎn)換,===不會,就是比較兩側(cè)是否真的相等http://www.softwhy.com/articl...
回答5:“=”用來賦值,直接賦值。
'=='運算符,會先轉(zhuǎn)換,在運算。
'==='絕對相等,兩邊的值和類型都相等才相等。
回答6:盡量多用=== ==很容易出問題
相關(guān)文章:
1. python - 如何判斷字符串為企業(yè)注冊名稱2. html - 移動端radio無法選中3. php - 微信開發(fā)驗證服務(wù)器有效性4. javascript - 我的站點貌似被別人克隆了, google 搜索特定文章,除了域名不一樣,其他的都一樣,如何解決?5. Python2中code.co_kwonlyargcount的等效寫法6. [python2]local variable referenced before assignment問題7. 求救一下,用新版的phpstudy,數(shù)據(jù)庫過段時間會消失是什么情況?8. python中怎么對列表以區(qū)間進行統(tǒng)計?9. javascript - vue+iview upload傳參失敗 跨域問題后臺已經(jīng)解決 仍然報403,這是怎么回事啊?10. mysql - 請問數(shù)據(jù)庫字段為年月日,傳進的參數(shù)為月,怎么查詢那個月所對應(yīng)的數(shù)據(jù)
