【JavaScript】js 中一些須要注意的問題 js中的|| 與 && Interesting JavaScript JavaScript編程題(含騰訊2016校招題)

  1. 關於js中邏輯運算符
  2. sort()方法

1. 關於js中邏輯運算符:|| 和 &&

  • 在js邏輯運算中,0、""、null、false、undefined、NaN都會判爲false,其餘都爲true
  • 對兩個非,即!!,其做用是能夠把一個其餘類型的變量轉換爲boolean類型值,好比 typeof 5輸出「number」,而typeof (!!5)輸出「boolean」
  • 短路原則:如&&中第一個表達式爲假就不會去處理第二個表達式,而||正好相反。 
  • a&& b :若是執行a後返回true,則執行b並返回b的值;若是執行a後返回false,則整個表達式返回a的值,b不執行;
    a || b :若是執行a後返回true,則整個表達式返回a的值,b不執行;若是執行a後返回false,則執行b並返回b的值;
  • && 優先級高於 ||;
  • 舉例: 
    var a = "" || null || 3 || 4;    //3    
    var b = 4 && 5 && null && "0";    //null
  • 一些妙用
    • var attr = attr || 「」;  這個運算常常用來判斷一個變量是否已定義,若是沒有定義就給他一個初始值,這在給函數的參數定義一個默認值的時候比較有用
      注意:若是實參須要是0、""、null、false、undefined、NaN的時候也會當false來處理。 
    • a >= 5 && alert("你好");  能夠表示:if(a>=5){ alert("你好");}

 參考:js 與或運算符 || && 妙用   js中的|| 與 &&html

  

 2. sort()方法:

  • sort()方法用於對數組的元素進行排序。
  • arrayObject.sort(sortby);    //參數sortby可選。規定排序順序。必須是函數。

    返回對數組的引用,數組在原數組上進行排序,不生成副本編程

  • 若是調用該方法時沒有使用參數,將按字母順序對數組中的元素進行排序,說得更精確點,是按照字符編碼的順序進行排序。要實現這一點,首先應把數組的元素都轉換成字符串(若有必要),以便進行比較。數組

  • 若是想按照其餘標準進行排序,就須要提供比較函數,該函數要比較兩個值,而後返回一個用於說明這兩個值的相對順序的數字。比較函數應該具備兩個參數 a 和 b,其返回值以下:函數

    • 若 a 小於 b,在排序後的數組中 a 應該出如今 b 以前,則返回一個小於 0 的值。
    • 若 a 等於 b,則返回 0。
    • 若 a 大於 b,則返回一個大於 0 的值。

3. null和object的關係:

[typeof null, null instanceof Object]的輸出結果是post

正確答案:object, false 
解析: 
null爲一個空的對象,這個對象存在可是裏面一點東西都沒有,至關於有堆空間可是裏面沒有屬性。而undefined能夠理解爲連堆空間都沒有(至少表現出來是這樣的不是嗎?) 
null instanceof Objectfalse是由於null連屬性都沒有,更沒有檢測原型鏈的_proto_prototype了。編碼

    

 

更多博文: url

Interesting JavaScriptspa

JavaScript編程題(含騰訊2016校招題).net

相關文章
相關標籤/搜索