JavaScript數據類型

知識內容:html

1.JavaScript數據類型綜述python

2.JavaScript原始數據類型(基本數據類型)數組

3.JavaScript對象類型瀏覽器

補充:JavaScript中的類型轉換函數

 

參考資料:《JavaScript高級程序設計》spa

 

 

 

1、JavaScript數據類型綜述設計

1.JavaScript中的數據類型指針

JavaScript 中的數據類型分爲原始類型和對象類型:code

  • 原始類型(基本類型)
    • undefined
    • 數字
    • 字符串
    • 布爾值
    • 函數
  • 對象類(引用類型)
    • 對象
    • 數組
    • 字典(就是對象)
    • ...

 

 

2.typeof操做符regexp

typeof操做符:檢測給定變量的數據類型

1 var message = "some string";
2 alert(typeof message);              // "string"  
3 alert(typeof(message));           //  "string"
4 alert(typeof 43);                  //  "number"

 

 

3.檢測數據類型

  • 檢測基本數據類型:typeof
  • 檢測對象:instanceof
 1 var s = "wyb";
 2 var num = 1;
 3 var b = true;
 4 var u;
 5 var n = null; 6 var o = new Object(); 7  8 console.log(typeof(s)) 9 console.log(typeof(num)) 10 console.log(typeof(b)) 11 console.log(typeof(u)) 12 console.log(typeof(n)) 13 console.log(typeof(o))
1 console.log(person instanceof Object)
2 console.log(colors instanceof Array)
3 console.log(pattern instanceof RegExp)

 

 

 

2、JavaScript原始數據類型(基本數據類型)

1.Undefined類型和Null類型

  • null是JavaScript語言的關鍵字,它表示一個特殊值,經常使用來描述「空值」
  • undefined是一個特殊值,表示變量聲明時未初始化

另外從邏輯上看null值表示一個空對象指針,而這也是使用typeof操做符檢測null值時會返回object的緣由

二者詳細區別:http://www.ruanyifeng.com/blog/2014/03/undefined-vs-null.html

 

 

2.Boolean類型和Number類型

Boolean類型:true or false

Boolean(param):將參數param轉化成Boolean類型的值(true or false)

  • ==      比較值相等
  • !=       不等於
  • ===   比較值和類型相等
  • !===  不等於
  • ||        或
  • &&      且

 

JavaScript中不區分整數值和浮點數值,JavaScript中全部數字均用浮點數值表示

轉換:

  • Number(..)     將某值轉化成數字,不成功則返回NaN
  • parseInt(..)     將某值轉換成數字,不成功則返回NaN
  • parseFloat(..) 將某值轉換成浮點數,不成功則返回NaN

特殊值:

  • NaN,非數字。可以使用 isNaN(num) 來判斷。
  • Infinity,無窮大。可以使用 isFinite(num) 來判斷。

 

 

3.String類型

JavaScript中字符串類型相似python中字符串類型:

  • 字符串是由字符組成的數組,字符串是不可變的:能夠訪問字符串任意位置的文本,但並未提供修改已知字符串內容的方法
  • 另外用雙引號表示的字符串和單引號表示的字符串徹底相同
  • 字符串有能夠直接使用的方法

定義字符串:

1 var s = "hello world"
2 var name = 'wyb'

多行字符串:

1 var line = `
2 多行 3 字符串 4 ` 5 6 // 輸出到終端(要在瀏覽器打開檢查器的終端才能看到) 7 console.log(line)

 

字符串經常使用方法:

 1 obj.length                           長度
 2  
 3 obj.trim() 移除空白 4 obj.trimLeft() 5 obj.trimRight) 6 obj.charAt(n) 返回字符串中的第n個字符 7 obj.concat(value, ...) 拼接 8 obj.indexOf(substring,start) 子序列位置 9 obj.lastIndexOf(substring,start) 子序列位置 10 obj.substring(from, to) 根據索引獲取子序列 11 obj.slice(start, end) 切片 12 obj.toLowerCase() 大寫 13 obj.toUpperCase() 小寫 14 obj.split(delimiter, limit) 分割 15 obj.search(regexp) 從頭開始匹配,返回匹配成功的第一個位置(g無效) 16 obj.match(regexp) 全局搜索,若是正則中有g表示找到所有,不然只找到第一個。 17 obj.replace(regexp, replacement) 替換,正則中有g則替換全部,不然只替換第一個匹配項, 18  $數字:匹配的第n個組內容; 19 $&:當前匹配的內容; 20  $`:位於匹配子串左側的文本; 21 $':位於匹配子串右側的文本 22 $$:直接量$符號

 

將其餘類型轉化成字符串:

  • toString()
  • String()
 1 var number = 10;
 2 var value = true; 3 var n = null; 4 var r; 5 6 alert(String(number));  // "10" 7 alert(String(value));   // "true" 8 alert(String(n)); // "null" 9 alert(String(r));  // "undefined" 10 11 12 # toString(): 能夠傳遞一個參數控制輸出數值的基數,另外null和undefined沒有這個方法 13 var num = 10; 14 alert(num.toString()); // "10" 15 alert(num.toString(2)); // "1010" 16 alert(num.toString(8)); // "12" 17 alert(num.toString(10)); // "10" 18 alert(num.toString(16)); // "a"

 

定時器:setInterval('執行的代碼',間隔時間)

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8     <script>
 9         function f1(){
10             console.log(1); 11  } 12 13 // 建立一個定時器 14 //setInterval("alert(123);", 5000); // 每隔5秒彈框 15 setInterval("f1();", 2000); // 每隔2秒log出1 16 </script> 17 </body> 18 </html>
定時器應用-跑馬燈

 

 

4.函數類型

函數類型就是function類型,在這裏有詳細介紹:http://www.javashuo.com/article/p-fezraztr-k.html

 

 

 

3、JavaScript對象類型

1.JavaScript對象

JavaScript是一門面向對象的語言,JavaScript中不少特性都與對象有關

關於JavaScript對象的內容,在這裏有詳細介紹:http://www.javashuo.com/article/p-rjgtkwvz-h.html

 

 

2.JavaScript數組

JavaScript中數組: s = [11, 22, 33]

數組經常使用方法:

 1 obj.length          數組的大小
 2  
 3 obj.push(ele) 尾部追加元素 4 obj.pop() 尾部獲取一個元素 5 obj.unshift(ele) 頭部插入元素 6 obj.shift() 頭部移除元素 7 obj.splice(start, deleteCount, value, ...) 插入、刪除或替換數組的元素 8 obj.splice(n,0,val) 指定位置插入元素 9 obj.splice(n,1,val) 指定位置替換元素 10 obj.splice(n,1) 指定位置刪除元素 11 obj.slice( ) 切片 12 obj.reverse( ) 反轉 13 obj.join(sep) 將數組元素鏈接起來以構建一個字符串 14 obj.concat(val,..) 鏈接數組 15 obj.sort( ) 對數組元素進行排序

關於JavaScript數組中詳細內容看這裏:http://www.javashuo.com/article/p-cymgwpas-h.html

 

 

3.JavaScript字典

JavaScript中沒有字典的概念,可是能夠藉助對象來建立"字典"

JavaScript中字典: d = {"k1": "v1", "k2": "v2"},key值的引號也能夠省略,在JavaScript中的字典中引用一個不存在的值時會返回undefined

 

 

 

補充:JavaScript中的類型轉換

相關文章
相關標籤/搜索