011_JavaScript数据类型
1. JavaScript有5種常用的數(shù)據(jù)類型: 字符串值(String), 數(shù)字(Number), 布爾值(Boolean), 數(shù)組(Array), 對(duì)象(Object)。
2. JavaScript有還有2種特殊的數(shù)據(jù)類型: 空(Null)、未定義(Undefined)。
3. JavaScript字符串
3.1. JavaScript字符串是引號(hào)中的零個(gè)或多個(gè)Unicode字符。
3.2. 字符串可以使用單引號(hào)或雙引號(hào):
var x = 'hello world'; var y = "hello world";3.3. Java則是用雙引號(hào)聲明字符串, 用單引號(hào)聲明字符。但是由于JavaScript沒有字符類型, 所以可使用這兩種表示法中的任何一種。
4. JavaScript數(shù)字
4.1. JavaScript只有一種數(shù)字類型(Number)。數(shù)字可以帶小數(shù)點(diǎn), 也可以不帶。帶小數(shù)點(diǎn)是浮點(diǎn)數(shù), 不帶小數(shù)點(diǎn)是整數(shù)。
4.2. 數(shù)字的取值范圍: 5e-324 ~ 1.7976931348623157e+308 。
4.3. 特殊的數(shù)字類型: NaN(not a number)、Infinity(正無窮大)、-Infinity(負(fù)無窮大)。
4.4. 實(shí)例
var a = 100; var b = 1.11; var c = NaN; var d = Infinity; var e = -Infinity;5. JavaScript布爾值
5.1. JavaScript布爾值只有兩個(gè)值: true或false。
5.2. 實(shí)例
var x = true; var y = false;6. JavaScript數(shù)組
6.1. JavaScript數(shù)組用于在單一變量中存儲(chǔ)多個(gè)值。
6.2. 創(chuàng)建數(shù)組最簡(jiǎn)單的方式是使用中括號(hào)[]包含項(xiàng), 多個(gè)項(xiàng)用逗號(hào)分割。
6.3. 實(shí)例
var x = []; var y = [0, true, 'hello world'];6.4. 我們通過引用索引號(hào)(下標(biāo)號(hào))來引用某個(gè)數(shù)組元素。
6.5. 數(shù)組索引從0開始。[0]是數(shù)組中的第一個(gè)元素, [1]是第二個(gè), 依此類推。
7. JavaScript對(duì)象
7.1. 創(chuàng)建對(duì)象最簡(jiǎn)單的方式是使用花括號(hào){}包含項(xiàng)。
7.2. 在花括號(hào)內(nèi)部是對(duì)象的屬性, 屬性以名稱和值對(duì)的形式(name: value)來定義, 名稱和值以冒號(hào)分割。
7.3. 在花括號(hào)內(nèi)部的多個(gè)屬性以逗號(hào)分割。
7.4. 實(shí)例
var x = {}; var y = {id: 100, name: 'zs', isMan: false};8. Undefined類型
8.1. Undefined類型只有一個(gè)值, 即undefined。
8.2. undefined字面意思是未定義, 但是它卻表示沒有值的變量。即當(dāng)聲明的變量未初始化時(shí), 該變量的默認(rèn)值是undefined。
8.3. 下面這段代碼, 第一行聲明變量x, 沒有初始值, 該變量將被賦予值undefined。第二行代碼顯示"true", 說明這兩個(gè)值確實(shí)相等。
var x; window.alert(x == undefined); //輸出true8.4. 值undefined并不同于未聲明的變量。但是, typeof運(yùn)算符并不真正區(qū)分這兩種值。考慮下面的代碼:
var x; window.alert(typeof x); //輸出undefined window.alert(typeof y); //輸出undefined8.5. 上面的代碼對(duì)兩個(gè)變量輸出的都是"undefined", 即使變量y從未被聲明過。如果對(duì)y使用除typeof之外的其他運(yùn)算符的話, 會(huì)引起錯(cuò)誤, 因?yàn)槠渌\(yùn)算符只能用于已聲明的變量上。例如, 下面的代碼將引發(fā)錯(cuò)誤:
var x; window.alert(y == undefined);8.6. 當(dāng)函數(shù)無明確返回值時(shí), 返回的也是值"undefined", 如下所示:
function myFunc() { } window.alert(myFunc() == undefined); // 輸出true9. Null類型
9.1. Null類型也只有一個(gè)值, 即null。
9.2. null表示尚未存在的對(duì)象。
9.3. 其實(shí)undefined是從值null派生來的, 因此JavaScript把它們定義為相等的:
window.alert(null == undefined); // 輸出true9.4. 盡管這兩個(gè)值相等, 但它們的含義不同。undefined是聲明了變量但未對(duì)其初始化時(shí)賦予該變量的值, null則用于表示尚未存在的對(duì)象。
9.5. 如果函數(shù)或方法要返回的是對(duì)象, 那么找不到該對(duì)象時(shí), 返回的通常是null。
9.6. 可以通過將變量的值設(shè)置為null來清空對(duì)象。
9.7. 在JavaScript中, null的數(shù)據(jù)類型是對(duì)象。
10. 例子
10.1. 代碼
<!DOCTYPE html> <html> <head><title>數(shù)據(jù)類型</title><meta charset="utf-8" /> </head> <body><script type="text/javascript">var a, b = undefined;var c = null;var d = 'hello world';var e = 1, f = 3.14, g = NaN, h = Infinity, i = -Infinity;var j = true, k = false;var l = [100, true, 'zhangsan'];var m = {id: 1001, name: 'zs', isMan: true};document.write('a = ' + a + ', b = ' + b + '<br />');document.write('c = ' + c + '<br />');document.write('(b == c) = ' + (b == c) + '<br />');document.write('d = ' + d +'<br />');document.write('e = ' + e + ', f = ' + f + ', g = ' + g + ', h = ' + h + ', i = ' + i + '<br />');document.write('j = ' + j + ', k = ' + k + '<br />');document.write('l =' + l + '<br />');document.write('m =' + m + '<br />');m = null;document.write('m =' + m + '<br />');</script> </body> </html>10.2. 效果圖
11. typeof運(yùn)算符
11.1. 您可使用typeof運(yùn)算符來確定JavaScript變量或表達(dá)式的類型。
11.2. typeof運(yùn)算符把對(duì)象、數(shù)組或null返回object。
11.3. typeof運(yùn)算符把函數(shù)返回function。
11.4. 例子
11.4.1. 代碼
<!DOCTYPE html> <html> <head><title>typeof運(yùn)算符</title><meta charset="utf-8" /> </head> <body><script type="text/javascript">var a, b = undefined;var c = null;var d = 'hello world';var e = 1, f = 3.14, g = NaN, h = Infinity, i = -Infinity;var j = true, k = false;var l = [100, true, 'zhangsan'];var m = {id: 1001, name: 'zs', isMan: true};document.write('a =' + a + ', a的數(shù)據(jù)類型是: ' + typeof a + '<br />');document.write('b =' + b + ', b的數(shù)據(jù)類型是: ' + typeof b + '<br />');document.write('c =' + c + ', c的數(shù)據(jù)類型是: ' + typeof c + '<br />');document.write('d =' + d + ', d的數(shù)據(jù)類型是: ' + typeof d + '<br />');document.write('e =' + e + ', e的數(shù)據(jù)類型是: ' + typeof e + '<br />');document.write('f =' + f + ', f的數(shù)據(jù)類型是: ' + typeof f + '<br />');document.write('g =' + g + ', g的數(shù)據(jù)類型是: ' + typeof g + '<br />');document.write('h =' + h + '。 h的數(shù)據(jù)類型是: ' + typeof h + '<br />');document.write('i =' + i + ', i的數(shù)據(jù)類型是: ' + typeof i + '<br />');document.write('j =' + j + ', j的數(shù)據(jù)類型是: ' + typeof j + '<br />');document.write('k =' + k + ', k的數(shù)據(jù)類型是: ' + typeof k + '<br />');document.write('l =' + l + '。 l的數(shù)據(jù)類型是: ' + typeof l + '<br />');document.write('m =' + m + ', m的數(shù)據(jù)類型是: ' + typeof m + '<br />');function myFunction(){}document.write('myFunction =' + myFunction + ', myFunction的數(shù)據(jù)類型是: ' + typeof myFunction + '<br />');document.write('(' + f + ' + ' + e + ')表達(dá)式的數(shù)據(jù)類型是: ' + typeof (f + e));</script> </body> </html>11.4.2. 效果圖
12. JavaScript字面量
12.1. 字符串、數(shù)字包括NaN和Infinity和-Infinity、布爾、Null、Undefined都是字面量(沒有使用new關(guān)鍵字創(chuàng)建對(duì)象的值)。
12.2. 字面量跟常量的意思差不多。
12.3. 實(shí)例
'' '你好' 0 3.14 NaN Infinity -Infinity true false null Undefined13. JavaScript值
13.1. JavaScript有兩種類型的值: 字面量值和變量值。
13.2. 實(shí)例
var x = 1; var y = x + 3.14; // 算數(shù)運(yùn)算, 使用了x這個(gè)變量值總結(jié)
以上是生活随笔為你收集整理的011_JavaScript数据类型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 008_JavaScript输出
- 下一篇: 096_JavaScript事件