ecmascript中有5種簡單資料型別(也稱為基本資料型別):undefined、null、boolean、number、string。還有一種複雜資料型別——object,本質上是由一組無序的名值隊組成。ecmascript不支援任何建立自定義型別機制,所有值都是上述6種資料型別之一。由於ecmascript資料型別具有動態性,因此沒有再定義其他資料型別的必要。
因為ecmascript是鬆散型別的,所以typeof操作符就是用來檢測給定變數的資料型別的。對乙個值使用typeof操作符可能返回下列某個字串:
"undefined"——如果這個值未定義;
"boolean"——如果這個值是布林值;
"string"——如果這個值是字串;
"number"——如果這個值是數值;
"object"——如果這個值是物件或null;
"function"——如果這個值是函式。
var message="some string";alert (
typeof message);//
"string"
alert (typeof (message));//
"string"
alert (typeof 95);//
"number"
typeof 操作符的運算元可以使變數(message),也可以是數值字面量。
函式在ecmascript 中是物件,不是一種資料型別。函式也確實有一些特殊的屬性,因此通過typeof操作符來區分函式和其他物件是有必要的。
undefined型別只有乙個值,即特殊的undefined。在使用var宣告變數但未對其加以初始化時,這個變數的值就是undefined。
即便未初始化的變數會自動被賦予undefined值,但初始化變數依然是明智的選擇。如果能做到這一點,那麼當typeof操作符返回"undefined"值時,我們就知道被檢測的變數還沒有被宣告,而不是尚未初始化。
從邏輯角度來看,null值表示乙個空物件指標,而這也正式使用typeof操作符檢測null值時會返回"object"的原因。
var car = null;alert (
typeof car);//
"object"
undefined 值是派生自null 值的,位於null和undefined之間的相等操作符(==)總是返回true。儘管null和undefined有這樣的關係,但是它們的用途完全不同。只要意在儲存物件的變數還沒有真正儲存物件,就應該明確地讓該變數儲存null值。這樣做不僅可以體現null作為空物件指標的慣例,而且也有助於進一步不區分null和undefined。
這是ecmascript中使用得最多的一種型別,該型別只有兩個字面值:true和false。這兩個與數字值不是一回事,因此true不一定等於1,而false也不一定等於0。
需要注意的是,boolean型別的字面值true和false是區分大小寫。
雖然boolean型別的字面值只有兩個,但ecmascript中所有型別的值都有與這兩個boolean值等價的值。要將乙個值轉換為其對應的boolean值,可以呼叫轉型函式boolean(),如:
var message ="hello world!";var messageasboolean = boolean(message);
字串message被轉換成了乙個boolean值,該值被儲存在messageasboolean變數中。可以對任何資料型別的值呼叫boolean()函式,而且總會返回乙個boolean值。至於是返回true還是false,取決於要轉換的資料型別及其實際值。
資料型別 轉換為true的值 轉換為false的值
boolean
true
false
string
任何非空字串
""(空字串)
number
任何非零數字值(包括無窮大)
0和nan
object
任何物件
null
undefined
n/a
undefined
這些轉換規則對理解流控制語句(如if語句)自動執行相應的boolean轉換非常重要。
在使用時應該確切地知道在流控制語句中使用的是什麼變數至關重要,錯誤地使用乙個物件而不是乙個boolean值,就有可能徹底改變應用程式的流程。
oracle基本概念2
資料庫的工作分為管理,開發,使用三個角色。即管理資料,開發資料,服務程式設計師使用資料。管理dba 複製,拷貝,調優,恢復,容錯等等。資料庫開發工程師 通過資料庫開發語言,新建全域性變數名 資料庫名 例項名 乙個例項程序和相應的監控程序 表空間,使用者,表 函式,儲存過程,檢視,索引 填充資料等。主...
基本概念 C 基本概念
由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...
DB2基本概念
一 系統簡介 1.1 db2與os 390的關係 1.2 db2是乙個關係型資料庫 1.3 db2的體系結構 1.4 db2的日誌 1.1 db2與os 390的關係 db2是基於ibm主機os390作業系統的乙個子系統,且是乙個資料庫管理子系統,它與cics ims tso協同 工作,通過cics...