JavaScript基礎知識(資料類型及轉換、運算子)

來源:互聯網
上載者:User

標籤:基礎知識   字串拼接   0.12   定義   type   oat   修改   png   效能   

9、資料類型

概念:表示當前儲存的資料的分類(表示數字 - 整數和小數)

u  原始類型(原始值) -----【typeof運算子:判斷變數的原始類型】

  *number(數字):表示數字                    var num1 = 10.123; console.log(num1);

  * NaN(不是一個數字): 全稱為 Not a Number

  *boolean(布爾):只有true/false值              var boo = true;  console.log(boo);

*undefined:只有一個值undefined  [變數只定義,不賦值]   變數之間賦值為undefined

  *null  作用:資源釋放                       var n2=null;

u 參考型別        -----【instanceof運算子:判斷變數的參考型別】

  * Number:new Number(數字)                    var num1 = new Number(200);

  * String: new String(字串)                    var str2 = new String(‘hello’);

  * Boolean:new Boolean(true/false )               var boo3 = new Boolean(true);

10、類型轉換

u 隱式類型轉換

  • ? 轉換成字串類型【num + ‘ ‘  boo + ‘ ‘】格式:var result1 = num + ‘ ‘; 結果: ‘數字‘ ‘文本‘
  • ? 轉換成數字類型  【+str  +boo】       格式:var result2 = +str;   

*布爾類型:  true => 1;  false => 0

*字串類型:數字‘  => 數字 ;    常值內容‘  =>  NaN

  附NaN:

  console.log(isNaN(10)); // 輸出false(10是一個數值)

console.log(isNaN("10")); // 輸出false(可以被轉換成數值 10)

console.log(isNaN("blue")); // 輸出true(不能轉換成數值)

console.log(isNaN(true)); // 輸出false(可以被轉換成數值 1)

  • 轉換成布爾類型  【!!num   !!str】   格式:var result3 = !!num;

* number類型:0、NaN => false;    非0 => true

* string類型: Null 字元串 => false;   非Null 字元串 => true

*undefined:=> false;

*null:=> false

【返回undefined】:

訪問未修改的變數undefined;   訪問不存在的屬性;   任何被設定為 undefined 值的變數

沒有定義return運算式的函數隱式;   return 運算式沒有顯式的返回任何內容

u 顯式類型轉換

(1)建構函式方式

2 Number( )

var result1 = Number(str);     var result2 = Number(boo);

2  String( )

     var result1 = String(num1);     var result2 = String(boo2);

2  Boolean( )

     var result1 = Boolean(num1);   var result2 = Boolean(str2);

(2)轉換方法

u  toString( ) - 轉換為字串

 var result1 = num1.toString( );  var result2 = boo2.toString( );      

u  parseInt( ) - 轉換為數位整數

     var result1 = parseInt(str3);     var result2 = parseInt(boo4);

*數字開頭的字串 => 前邊的數字。   *非數字開頭的字串 => NaN。

u  parseFloat( ) - 轉換為數位小數

     var result3 = parseFloat(str5);     var result4 = parseFloat(boo6);

附:轉換包含數字和字元的字串        [parseInt( )或者parseFloat( )方法]

  eg:  var str = ‘10str‘;

      var result1 = parseInt(str);   //10       var result2 = parseFloat(str);  //10

12、運算子

u    算數運算子

2 number [+-*/、% ]

註:% 求餘,A % B = 得到的整數部位,且加號或減號取決於A的正負

2 string + number   ==>  【string + string】類型   結果:‘ ’

2 string + boolean   ==>  【string + string】類型   結果:‘ ’

註:加號 - 不是表示加法計算,而是表示字串的串連符(出現string類型 -拼串)

★一個數字類型和一個非數字字串相減,得到的是NaN   eg: console.log(‘hi’-3); //NaN

★一個數字類型和一個非數字字串相除,得到的是NaN

2 boolean + number  ==> 【number + number】類型  進行加法計算

2  自增或自減運算子

自增運算子(++) --- 每次增加1;   自減運算子(- -) --- 每次減少1

前置型:自增運算子位於運算數之前。先加 1,再賦值。

後置型:自增運算子位於運算數之後。先賦值,再加 1

u   比較子

==    != 不相等   >      >=    <      <= 

不同類型的比較子:

==   !==      數值相同,類型不同; 只比較數值   結果:數值相同,true

=== (全等)    類型、值均相同 結果:true

!== (不全等)  類型、值有一個不相同 結果:true ;類型、值均不相同 結果:false ;

* NaN值的比較(NaN與自身不等): console.log(NaN == NaN); // false

* isNaN( )方法:判斷指定變數是否不是一個數字  eg:  var result = Number(‘string‘);//NaN

                                                 console.log(isNaN(result));//true

u   邏輯運算子

&& 與 (符號真取後;假取前)       || 或 (符號真取前;假取後)      

短路原則:

&& --&&前面為false,結果將返回&&前面的值;前面為true,結果將返回&&後面的值。

|| --- ||前面為false,結果都將返回||後面的值;前面為true,結果都將返回||前面的值。

u   賦值運算子

A += B 即A = A + B;  A -= B 即A = A - B;    A *= B 即A = A * B;

A /= B 即A = A / B;  A %= B 即A = A % B;   註:左邊的效率 > 右邊的效率

u   字串串連運算子

數字+數字 ==> 加法計算;           數字+字串  ==> 字串拼接計算

* 運算子命名方式:

一元運算子:只操作一個變數; 二元運算子:操作兩個變數;三元運算子:操作三個變數

u   條件(三元)運算子: 

格式: 運算式 ? 結果1:結果2

結果為true,執行結果1;結果為false,執行結果2.

允許嵌套,但嵌套的層級過多時,效能下降、可讀性降低

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.