DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> javascript基本數據類型及類型檢測常用方法小結
javascript基本數據類型及類型檢測常用方法小結
編輯:關於JavaScript     

本文實例講述了javascript中的基本數據類型以及類型檢測的幾種方法。分享給大家供大家參考,具體如下:

1.JS中有6種基本的數據類型,JS中的所有操作都是基於這五種基本類型得到的。

(1)Object

對象類型

(2)number

數字類型

(3)String

字符串類型

(4)null

(5)underfined

(6)boolean

布爾類型:true或者為false

I)JS中的數據類型轉換(非嚴格模式下)

“12”==12 // true 在非嚴格模式下,字符串可以向數字轉換
true==1 // true 布爾值在等號兩邊會嘗試轉換為0或者1
“1”==true //true
null==underfined //true
new Object()==new Object() //true
NaN==NaN //false

II)JS中的數據類型轉換(非嚴格模式下)

上述中的等號均不成立

注:特別的如果為基本類型中的string或者number,在必要的情況下,可以將string或者number轉化為對象object類型,轉化不是持續的。

比如:

var x=”hello” ; alert(a.length) // 5

數據類型中的隱式轉化補充:

“32”+32 //轉化為string
"32"-32 //轉化為number

JS中的類型檢測方法

(1)通過typeof來進行類型檢測

我們先來看幾個例子:

typeof 100 —->number

typeof “hello” ——>string

typeof true —–> boolean

typeof Number ——>function

typeof new Object()——->object

typeof Object ——->function

typeof null ——–>object

typeof underfined ——–>underfined

總結:如果右邊的是基本類型,則typeof會嘗試得到最基本的類型,比如number,string等等,如果是函數名,那麼則返回function,這裡Object,Number,String,等等都可以看成函數名,如果右邊是一個基本的對象,則返回object(返回的都是小寫哦)。

注:我們發現typeof null,結果返回了object,這是一個很早之前的BUG,一直沿用至今

試用范圍:如果通過typeof來判斷類型,適用於判定基本類型,或者判斷是否為函數(function)。

2.instanceof

同樣舉例來說明:

[1,2] instanceof Array ——> true

“1,2” instanceof Array ——->false

總結:instanceof 會沿著原型鏈查找,如果左邊對象的原型鏈上,具有右邊的對象,那麼會返回true,並且注意只用於判斷擴展的對象類型(非number,string等)

比如:

instanceof Number —–> false
"hell"  instanceof String  ------>string

補充:instanceof的右邊必須是函數,或者是構造器,如果不是則會報錯,檢測的是左邊的對象的原型鏈上,是否有右邊函數的prototype。

3.Object.prototype.toString

通過對象原型上的toSting方法,同樣也可以判斷類型,我們來舉例子:

Object.prototype.toString.apply([]) ——>[object Object]

Object.prototype.toString.apply(function(){}) —->[object Function]

Object.prototype.toString.apply(Number) ——->[object Function]

Object.prototype.toString.apply(String) ——–>[object Function]

Object.prototype.toString.apply(null) ———–>[object Null]

Object.prototype.toString.apply(undefined)–>[object Undefined]

使用類型:原生對象和基本類型

此外還有

(4)constructor

(5)duck type等

更多關於JavaScript相關內容可查看本站專題:《javascript面向對象入門教程》、《JavaScript中json操作技巧總結》、《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved