国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

javaScript學習之隱式轉換

peixn / 1616人閱讀

摘要:搬家篇三開胃菜因為大于等于的比較,不是相等的比較,所以值得注意的操作符一元操作符通過進行轉換其中包括號運算符,號運算符,都是經轉換邏輯運算符等價于將操作數進行布爾值類型轉換位操作當一邊操作數為時,可等價于操作數為由以下變化可以證得加號運算

搬家篇三
開胃菜
[] == ![]                  //true  ==> "" == false
123 ^ []                   //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);         //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]"

當一方為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()處理

比較運算:==, >, <, >=, >=, != 遵循規則(摘自高程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);         //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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/97931.html

相關文章

  • JavaScript習之Object(下)this

    摘要:為什么用能夠動態的取值,實現了隱式傳遞一個對象的引用上面的例子中想在中取的值用就能簡單搞定一定程度上實現了動態取值這個就是綁定了,這個就是上下文對象也就是調用棧是什么始終是一個對象,函數在被調用時發生綁定,具體綁定了什么看調用的位置,有一定 this 為什么用this this能夠動態的取值,實現了隱式傳遞一個對象的引用 var obj = { ...

    liuyix 評論0 收藏0
  • javaScript習之數值強轉換

    摘要:搬家篇二數據類型分為基本數據類型和引用數據類型基本數據引用數據當,小數點后大于等于位時會自動轉換成科學計數法當,當整數部分大于等于位時會自動轉換成科學計數法。 搬家篇二 javascript數據類型分為基本數據類型和引用數據類型 基本數據:Number, Boolean, Undefined, Null, String; 引用數據:Object; 當0.000...01,小數點后大于等...

    klivitamJ 評論0 收藏0
  • JavaScript機器習之線性回歸

    摘要:不能用于機器學習太慢幻覺矩陣操作太難有函數庫啊,比如只能用于前端開發開發者笑了機器學習庫都是開發者機器學習庫神經網絡神經網絡自然語言處理卷積神經網絡一系列庫神經網絡深度學習我們將使用來實現線性回歸,源代碼在倉庫。 譯者按: AI時代,不會機器學習的JavaScript開發者不是好的前端工程師。 原文: Machine Learning with JavaScript : Part 1 ...

    gitmilk 評論0 收藏0
  • JavaScript機器習之KNN算法

    摘要:是的縮寫,它是一種監督學習算法。每一個機器學習算法都需要數據,這次我將使用數據集。其數據集包含了個樣本,都屬于鳶尾屬下的三個亞屬,分別是山鳶尾變色鳶尾和維吉尼亞鳶尾。四個特征被用作樣本的定量分析,它們分別是花萼和花瓣的長度和寬度。 譯者按: 機器學習原來很簡單啊,不妨動手試試! 原文: Machine Learning with JavaScript : Part 2 譯者: Fund...

    enrecul101 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<