Javascript 學習筆記

來源:互聯網
上載者:User

標籤:sci   數字   work   資料   包含   control   lan   字串的比較   str   

Javascript note

chapter one 1.1 值      js中有六種基本的實值型別:number,string,boolean,object,function,undifined1.2 number電腦使用序列的方式存放資料到記憶體中,js使用固定長度為64的位序列來儲存數字值,對於二進位來說,64位可以表示2^64個數字但實際上並沒有那麼大,因為這個64位的位序列需要表示負數,所以有一個符號位用來表示數位正負;另外還需要一些位來儲存小數點位置的資訊(具體的書中沒說明,有點複雜 暫不學習)由於電腦處理浮點數的機制,計算整數時,計算結果會十分準確,但計算小數時就會有精度損失,因此計算小數都是近似值1.2算術ps:無需記熟運算子的優先順序,不確定時只需要大膽加braces()1.2.2特殊數字+/-InfinityNaN 非數值 在Infinity-Infinity ,0/0等情況會出現1.3字串在JS中 "" , ‘‘ 括起來的都是字串ps: 特殊情況 就是字串裡有 "" ‘‘ 這個時候就要用到 轉義符 (和Java一樣啦)------‘\‘  如 \n 為換行 如 "fuck ‘\n‘ " 需要寫成  "fuck \"\\n\""  可以用‘+‘來串連 多個字串1.4 一元運算子     如 typeof   sizeof1.5 boolean只有兩種取值 true false特別注意 字串的比較機制(java.lang.String是不允許使用 < , >等 operator 來比較的),在js中是按unicode值(首字母)來比較的實質上就是按照Unicode值來比較的http://www.imkevinyang.com/2009/02/%E5%AD%97%E7%AC%A6%E7%BC%96%E8%A7%A3%E7%A0%81%E7%9A%84%E6%95%85%E4%BA%8B%EF%BC%88ascii%EF%BC%8Cansi%EF%BC%8Cunicode%EF%BC%8Cutf-8%E5%8C%BA%E5%88%AB%EF%BC%89.html1.5.2邏輯運算子(&&,||, !)注意一下 運算子優先順序問題,簡單來說 || 優先順序最低,其次是&&接著是比較子(<,>,==)*三元運算子   ?  :1.6 undefined  nulljs特有的undefined(感覺是) 在js中和null差別不大1.7自動類型轉換js會自動把運算子兩端的值轉換成自己期望的類型,稱為 類型強制轉換 
1 console.log(5 +"6" );
<!--56-->2 console.log(5 -"3");
<!--2-->3 console.log(5 +‘1‘);
<!--51-->4 console.log(5 * ‘2‘);
<!--10-->
但有些值js無法轉換,如NaN , 字串 ,此時就會產生NaN ,包含 NaN的運算結果仍然是NaN,
相同類型的值之間使用"=="進行比較時,運算結果很好預測(只要兩端沒有NaN搞事,只要兩個值相同,則返回true),
1 console.log(NaN == 5);
<!--false-->2 console.log(NaN == undefined);
<!--false-->3 console.log(NaN == "");
<!--false-->4 console.log(NaN == null);
<!--false-->
 另外,當使用一個值和boolean 的false比較時,js的比較規則是,0,"",NaN 都等價於false,其他都等價於true如果運算子兩端存在null 或者undefined ,那隻有兩端都是null 或者 undefined 才為 true順便一提,嚴格比較符 ‘===‘ ,則要求完全一致才返回true 
console.log(null == undefined);
<!--true-->
console.log(null === undefined);
<!--false-->

 

由於當operator兩端的實值型別不同,js的轉換規則比較複雜,請事先確定兩端實值型別一致至於使用相等運算子會不會對後續代碼造成意外影響,答案是有可能會。 #程式結構##control flow ### if elsejs 與 java有點不同文法是if()doWork;else if()doWork;elsedoWork;#章節習題 

 

  

Javascript 學習筆記

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.