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

首頁 > 編程 > JavaScript > 正文

js隱式轉換的知識實例講解

2019-11-19 12:49:39
字體:
來源:轉載
供稿:網友

開胃菜

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

值得注意的操作符:

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

+undefined  //NaN

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

位操作:~, |, &, ^;當一邊操作數為NaN時,可等價于操作數為0;

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

加號運算符,比較復雜

優先級最高的是字符串,任何操作數與字符串相加都將其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);     //2console.log(1 + true);   //2 console.log(1 + undefined); //NaNconsole.log(1 + NaN);    //NaNconsole.log(1 + null);   //1console.log(1 + {});    //"1[object,Object]"

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

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

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

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

1.null和undefined是相等的

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

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

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

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

當都是兩邊都是字符串時,按字符編碼大小進行比較

當一方操作數為boolean,string,object,轉成number類型的數值再進行比較;

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丰县| 呼和浩特市| 西贡区| 海安县| 漯河市| 大关县| 兴安盟| 丹凤县| 乾安县| 茌平县| 西丰县| 六安市| 新密市| 汝南县| 安庆市| 长兴县| 嫩江县| 瑞安市| 沙田区| 清丰县| 宁津县| 抚顺县| 三江| 古丈县| 读书| 翼城县| 芜湖市| 崇文区| 含山县| 密山市| 顺平县| 明光市| 佛学| 普格县| 永德县| 黔东| 公安县| 永兴县| 宣威市| 永善县| 长武县|