js(二)——ECMAScript基礎之數據類型

變量

如何使用變量

var age = 10, name = 'zs';

變量在內存中的存儲

 


數據類型

簡單數據類型

Number、String、Boolean、Undefined、Null

Number類型

  • 數值字面量:數值的固定值的表示法

    110 1024 60.5

  • 進制

十進制
    var num = 9;
    進行算數計算時,八進制和十六進制表示的數值最終都將被轉換成十進制數值。
十六進制
    var num = 0xA;
    數字序列範圍:0~9以及A~F
八進制
    var num1 = 07;   // 對應十進制的7
    var num2 = 019;  // 對應十進制的19
    var num3 = 08;   // 對應十進制的8
    數字序列範圍:0~7
    如果字面值中的數值超出了範圍,那麼前導零將被忽略,後面的數值將被當作十進制數值解析

  • 浮點數

浮點數的精度問題

浮點數
    var n = 5e-324;   // 科學計數法  5乘以10的-324次方  
浮點數值的最高精度是 17 位小數,但在進行算術計算時其精確度遠遠不如整數
   var result = 0.1 + 0.2;    // 結果不是 0.3,而是:0.30000000000000004
   console.log(0.07 * 100);
   不要判斷兩個浮點數是否相等

  • 數值範圍

最小值:Number.MIN_VALUE,這個值爲: 5e-324
最大值:Number.MAX_VALUE,這個值爲: 1.7976931348623157e+308
無窮大:Infinity
無窮小:-Infinity

  • 數值判斷

NaN:not a number(特殊的非數字值

         NaN 與任何值都不相等,包括他本身

isNaN: is not a number(判斷是否爲非數字值)

String類型

  • 字符串字面量

'程序猿','程序媛', "黑馬程序猿",'abc' "abc" 

  • 轉義符

  • 字符串長度 

length屬性用來獲取字符串的長度

var str = '黑馬程序猿 Hello World';
console.log(str.length);
  • 字符串拼接

字符串拼接使用 + 連接

console.log(11 + 11);
console.log('hello' + ' world');
console.log('100' + '100');
console.log('11' + 11);
console.log('male:' + true);
  1. 兩邊只要有一個是字符串,那麼+就是字符串拼接功能

  2. 兩邊如果都是數字,那麼就是算術功能。

Boolean類型

  • Boolean字面量: true和false,區分大小寫

  • 計算機內部存儲:true爲1,false爲0

Undefined和Null

  1. undefined表示一個聲明瞭沒有賦值的變量,變量只聲明的時候值默認是undefined

  2. null表示一個空,變量的值如果想爲null,必須手動設置

複雜數據類型

Object


獲取變量的類型

typeof

var age = 18;
console.log(typeof age);  // 'number'

註釋

單行註釋 //

多行註釋/*   */


數據類型轉換

轉換成字符串類型

  • toString()

var num = 5;
console.log(num.toString());
  • String()
String()函數存在的意義:有些值沒有toString(),這個時候可以使用String()。比如:undefined和null
  • 拼接字符串方式
num  +  "",當 + 兩邊一個操作符是字符串類型,一個操作符是其它類型的時候,
會先把其它類型轉換成字符串再進行字符串拼接,返回字符串

轉換成數值類型

  • Number()

Number()可以把任意值轉換成數值,如果要轉換的字符串中有一個不是數值的字符,返回NaN

  • parseInt()

var num1 = parseInt("12.3abc");  // 返回12,如果第一個字符是數字會解析知道遇到非數字結束
var num2 = parseInt("abc123");   // 返回NaN,如果第一個字符不是數字或者符號就返回NaN

  • parseFloat()

parseFloat()把字符串轉換成浮點數
parseFloat()和parseInt非常相似,不同之處在與
    parseFloat會解析第一個. 遇到第二個.或者非數字結束
    如果解析的內容裏只有整數,解析成整數

  • +,-0等運算

var str = '500';
console.log(+str);        // 取正
console.log(-str);        // 取負
console.log(str - 0);

轉換成布爾類型

  • Boolean()

0 ''(空字符串) null undefined NaN 會轉換成false 其它都會轉換成true

  • 隱式轉換

 

 

轉換爲true   非空字符串  非0數字  true 任何對象
轉換成false  空字符串  0  false  null  undefined

// 結果是什麼?
var a = !!'123';

 

算術運算符

+ - * / %  

++ 自身加1

-- 自身減1

邏輯運算符(布爾運算符)

&& 與 兩個操作數同時爲true,結果爲true,否則都是false
|| 或 兩個操作數有一個爲true,結果爲true,否則爲false
!  非  取反

關係運算符(比較運算符)

<  >  >=  <= == != === !==

==與===的區別:==只進行值得比較,===類型和值同時相等,則相等

var result = '55' == 55;      // true
var result = '55' === 55;     // false 值相等,類型不相等
var result = 55 === 55;     // true

賦值運算符

= += -= *= /= %=

 

 

發佈了108 篇原創文章 · 獲贊 31 · 訪問量 9314
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章