最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js隱式轉(zhuǎn)換的知識實例講解

 更新時間:2018年09月28日 15:05:00   投稿:laozhang  
在本篇文章中,小編給大家分享了關(guān)于js隱式轉(zhuǎn)換的相關(guān)知識點內(nèi)容,有興趣的朋友們參考學(xué)習(xí)下。

開胃菜

[] == ![]         //true ==> "" == false
123 ^ []          //123  ==> 123 ^ 0
~{}            //-1  ==> ~0
{} >= {1,2}        //true ==>因為大于等于的比較,不是相等的比較,所以[object Object] >=[object Object]
[null] == ""        //true ==> [""] == ""

值得注意的操作符:

一元操作符:通過Number()進行轉(zhuǎn)換;其中包括*號運算符,/號運算符,都是經(jīng)Number()轉(zhuǎn)換

+undefined  //NaN

邏輯運算符:!等價于Boolean(),將操作數(shù)進行布爾值類型轉(zhuǎn)換

位操作:~, |, &, ^;當(dāng)一邊操作數(shù)為NaN時,可等價于操作數(shù)為0;

//由以下變化可以證得:
NaN ^ NaN ^ NaN = 0

加號運算符,比較復(fù)雜

優(yōu)先級最高的是字符串,任何操作數(shù)與字符串相加都將其String(x)成字符串,再進行字符串拼接

console.log("a" + 1);      //"a1"
console.log("a" + "1");     //"a1"
console.log("a" + false);    //"afalse"
console.log("a" + undefined);  //"aundefined"
console.log("a" + NaN);     //"aNaN"
console.log("a" + null);    //"anull"
console.log("a" + {});     //"a[object Object]"

其次number,而object在正常情況下輸出的就是string類型

//console.log(1 + "1");   //"11"
console.log(1 + 1);     //2
console.log(1 + true);   //2 
console.log(1 + undefined); //NaN
console.log(1 + NaN);    //NaN
console.log(1 + null);   //1
console.log(1 + {});    //"1[object,Object]"

當(dāng)一方為Boolean,或者兩方都是Boolean時,都將其進行Number處理,同理undefined與null也一樣

console.log(true + true);   //2 
console.log(true + undefined); //NaN
console.log(true + NaN);    //NaN
console.log(true + null);   //1
console.log((true + [NaN]));  //"trueNaN"

減號,則將兩邊都進行Number()處理

比較運算:==, >, <, >=, >=, != 遵循規(guī)則(摘自高程3):

1.null和undefined是相等的

2.要比較相等之前,不能將null和undfined轉(zhuǎn)換成其他任何值

3.如有一個操作數(shù)為NaN,相等操作符返回fasle,不相等操作符返回true, NaN不等于NaN

4.兩個對象之間的比較,兩者指向同一個對象(地址相同),相等操作符返回true,否則返回false

值得注意的是:對象間的>=與==(!=)比較方式是不同的,前者是toString()返回值的比較,后者是引用地址的比較

當(dāng)都是兩邊都是字符串時,按字符編碼大小進行比較

當(dāng)一方操作數(shù)為boolean,string,object,轉(zhuǎn)成number類型的數(shù)值再進行比較;

console.log("NaN" == NaN);     //false
console.log(undefined == null);  //true
console.log({} >= {1:2});     //true
console.log({1:2} != {});     //true
console.log({} == {1:2});     //false
console.log([1] == [1]);      //false
console.log(null == 0);      //false

相關(guān)文章

最新評論

西吉县| 巫溪县| 江津市| 凤凰县| 封开县| 宜州市| 交口县| 屏东县| 田林县| 清丰县| 平泉县| 广德县| 元氏县| 云浮市| 三江| 汉中市| 九龙坡区| 定州市| 安陆市| 久治县| 靖安县| 桑日县| 乌拉特前旗| 黄浦区| 额尔古纳市| 永登县| 临海市| 巴彦淖尔市| 兴化市| 兴国县| 武平县| 鄂托克旗| 虹口区| 道真| 万源市| 惠州市| 龙泉市| 清镇市| 英德市| 东乡| 无极县|