国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript中的操作符==與===介紹

2019-11-20 13:32:54
字體:
來源:轉載
供稿:網(wǎng)友

JavaScript中,==與===操作符均可用于判斷兩個值是否相等;不同之處在于,如果進行判斷的兩個值類型不一致,===操作符會直接返回false,而==操作符則會在類型轉換后再進行判斷。詳細的判斷規(guī)則如下:

===操作符的判斷規(guī)則

1.如果兩個值的類型不一致,返回false。
2.如果兩個值的類型一致,值一致,返回true。NaN是一個特例,NaN===NaN返回false。
3.如果兩個值均為object類型,那么與Java一樣,除非兩者引用一致(reference指向同一個對象地址),不然即使object中的內(nèi)容完全一樣,也認為這兩個值不一致,相應的操作將返回false。比如,新建兩個內(nèi)容完全一樣的數(shù)組,對它們進行===操作后返回結果為false ― 雖然它們的內(nèi)容完全一樣,但還是屬于兩個不同的對象。
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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 洛扎县| 绍兴县| 凤冈县| 柳州市| 基隆市| 利川市| 日喀则市| 襄汾县| 井研县| 凤冈县| 浦北县| 章丘市| 德化县| 北京市| 凯里市| 安徽省| 阿克苏市| 镇雄县| 仙桃市| 临安市| 土默特右旗| 夏河县| 巨野县| 那曲县| 二连浩特市| 佛坪县| 伊金霍洛旗| 色达县| 庆阳市| 类乌齐县| 堆龙德庆县| 潞城市| 房山区| 工布江达县| 旬邑县| 钟祥市| 襄汾县| 平和县| 阳朔县| 镇雄县| 山阴县|