JavaScript中的操作符==與===介紹
JavaScript中,==與===操作符均可用于判斷兩個值是否相等;不同之處在于,如果進行判斷的兩個值類型不一致,===操作符會直接返回false,而==操作符則會在類型轉換后再進行判斷。詳細的判斷規(guī)則如下:
===操作符的判斷規(guī)則
1.如果兩個值的類型不一致,返回false。
2.如果兩個值的類型一致,值一致,返回true。NaN是一個特例,NaN===NaN返回false。
3.如果兩個值均為object類型,那么與Java一樣,除非兩者引用一致(reference指向同一個對象地址),不然即使object中的內容完全一樣,也認為這兩個值不一致,相應的操作將返回false。比如,新建兩個內容完全一樣的數組,對它們進行===操作后返回結果為false — 雖然它們的內容完全一樣,但還是屬于兩個不同的對象。
4.0===-0返回true。
==操作符的判斷規(guī)則
==操作符會將值進行類型轉換后再進行比較,其類型轉換遵循以下原則:優(yōu)先轉換成number后進行比較,Date對象則優(yōu)先轉換成string后進行比較。具體判斷規(guī)則如下:
1.如果兩個值類型一致,執(zhí)行===操作后返回。
2.null==undefined為true。
3.true將轉換成1后進行比較,false將轉換成0后進行比較。
4.如果其中一個值為對象,則將其轉換成number后再進行比較,Date對象除外。
5.如果其中一個值為Date對象,則將其轉換成string后再進行比較。
實驗
console.log("3" === 3);//false
console.log(NaN === NaN);//false
var a = {x:1, y:2};
var b = {x:1, y:2};
var c = a;
console.log(a === b);//false
console.log(a === c);//true
console.log(0 === -0);//true
console.log("3" == 3);//true
console.log(null == undefined);//true
console.log(true == 1);//true
console.log(true == 9);//false
console.log([9] == 9);//true
console.log([9] == "9");//true
var d = new Date();
var s = d.toString();
var n = d.valueOf();
console.log(d == s);//true
console.log(d == n);//false
- 詳解js中==與===的區(qū)別
- javascript typeof id===''string''?document.getElementById(id):id解釋
- 淺談JS中的!=、== 、!==、===的用法和區(qū)別
- JavaScript中三個等號和兩個等號的區(qū)別(== 和 ===)淺析
- JavaScript里 ==與===區(qū)別詳解
- JavaScript知識點總結(五)之Javascript中兩個等于號(==)和三個等于號(===)的區(qū)別
- javascript中if和switch,==和===詳解
- 淺析Javascript中“==”與“===”的區(qū)別
- javascript中等于(==)與全等(===)的區(qū)別說明
- JavaScript.The.Good.Parts閱讀筆記(一)假值與===運算符
- JS中==與===操作符的比較
- javaScript中"=="和"==="的區(qū)別詳解
相關文章
JavaScript實現(xiàn)多個重疊層點擊切換效果的方法
這篇文章主要介紹了JavaScript實現(xiàn)多個重疊層點擊切換效果的方法,實例分析了javascript實現(xiàn)點擊切換效果的相關技巧,需要的朋友可以參考下2015-04-04
js中flexible.js實現(xiàn)淘寶彈性布局方案
這篇文章主要為大家詳細介紹了js中flexible.js實現(xiàn)淘寶彈性布局方案,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2015-12-12

