淺談js基本數(shù)據(jù)類(lèi)型和typeof
JavaScript數(shù)據(jù)類(lèi)型是非常簡(jiǎn)潔的,它只定義了6中基本數(shù)據(jù)類(lèi)型
•null:空、無(wú)。表示不存在,當(dāng)為對(duì)象的屬性賦值為null,表示刪除該屬性
•undefined:未定義。當(dāng)聲明變量卻沒(méi)有賦值時(shí)會(huì)顯示該值??梢詾樽兞抠x值為undefined
•number:數(shù)值。最原始的數(shù)據(jù)類(lèi)型,表達(dá)式計(jì)算的載體
•string:字符串。最抽象的數(shù)據(jù)類(lèi)型,信息傳播的載體
•boolean:布爾值。最機(jī)械的數(shù)據(jù)類(lèi)型,邏輯運(yùn)算的載體
•object:對(duì)象。面向?qū)ο蟮幕A(chǔ)
#當(dāng)彈出一個(gè)變量時(shí): var aa;alert(aa); //變量定義,彈出undefined alert(aa); //變量未定義,undefined , 未定義的變量也是undefined #當(dāng)判斷一個(gè)變量是否存在時(shí): var str;if( str == undefined ) //變量定義,可以這樣判斷 if( str == undefined ) //變量未定義,報(bào)錯(cuò)ReferenceError: str is not defined 所以,當(dāng)判斷一個(gè)變量是否不存在時(shí),用 if( typeof str == undefined )
typeof:
alert(typeof 1); // 返回字符串"number" alert(typeof "1"); // 返回字符串"string" alert(typeof true); // 返回字符串"boolean" alert(typeof {}); // 返回字符串"object" alert(typeof []); // 返回字符串"object " alert(typeof function(){}); // 返回字符串"function" alert(typeof null); // 返回字符串"object" alert(typeof undefined); // 返回字符串"undefined"
你會(huì)發(fā)現(xiàn):JavaScript解釋器認(rèn)為null是屬于object數(shù)據(jù)類(lèi)型的一種特殊形式,而function(){}是function類(lèi)型,也就是說(shuō)函數(shù)也是一種基本數(shù)據(jù)類(lèi)型,而不是對(duì)象的一種特殊形式。
實(shí)際上,在JavaScript中,函數(shù)是一個(gè)極容易引起誤解或引發(fā)歧義的數(shù)據(jù)類(lèi)型,它可以是獨(dú)立的函數(shù)類(lèi)型,又可以作為對(duì)象的方法,也可以被稱(chēng)為類(lèi)或構(gòu)造器,還可以作為函數(shù)對(duì)象而存在等。
所以,在《JavaScript權(quán)威指南》中把function被看做是object基本數(shù)據(jù)類(lèi)型的一種特殊對(duì)象,另外《悟透JavaScript》和《JavaScript高級(jí)程序設(shè)計(jì)》也把函數(shù)視為對(duì)象,而不是一種基本數(shù)據(jù)類(lèi)型。但是在《JavaScript語(yǔ)言精髓與編程實(shí)踐》中卻把function視為一種基本數(shù)據(jù)類(lèi)型,而把null視為object類(lèi)型的一種特殊形式。至于誰(shuí)對(duì)誰(shuí)錯(cuò),看來(lái)只有根據(jù)具體情況而定了。
以上這篇淺談js基本數(shù)據(jù)類(lèi)型和typeof就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- javascript基本數(shù)據(jù)類(lèi)型和轉(zhuǎn)換
- javascript基本數(shù)據(jù)類(lèi)型及類(lèi)型檢測(cè)常用方法小結(jié)
- JavaScript類(lèi)型系統(tǒng)之基本數(shù)據(jù)類(lèi)型與包裝類(lèi)型
- javascript中的五種基本數(shù)據(jù)類(lèi)型
- JavaScript基本數(shù)據(jù)類(lèi)型及值類(lèi)型和引用類(lèi)型
- Js從頭學(xué)起(基本數(shù)據(jù)類(lèi)型和引用類(lèi)型的參數(shù)傳遞詳細(xì)分析)
- JS開(kāi)發(fā)中基本數(shù)據(jù)類(lèi)型具體有哪幾種
相關(guān)文章
JavaScript語(yǔ)言對(duì)Unicode字符集的支持詳解
這篇文章主要介紹了JavaScript語(yǔ)言對(duì)Unicode字符集的支持詳解,需要的朋友可以參考下2014-12-12Array.slice()與Array.splice()的返回值類(lèi)型
Array.slice()與Array.splice()的返回值類(lèi)型...2006-10-10DOM下的節(jié)點(diǎn)屬性和操作小結(jié)
DOM 節(jié)點(diǎn)屬性操作方法小結(jié)。2009-05-05深入解析JavaScript中的arguments對(duì)象
arguments是JavaScript里的一個(gè)內(nèi)置對(duì)象,像數(shù)組結(jié)構(gòu)一樣存儲(chǔ)參數(shù)的傳遞,這里我們就來(lái)深入解析JavaScript中的arguments對(duì)象,需要的朋友可以參考下2016-06-06淺談Javascript中勻速運(yùn)動(dòng)的停止條件
這篇文章主要給我們探討了Javascript中勻速運(yùn)動(dòng)的停止條件的原理及其與緩沖運(yùn)動(dòng)的區(qū)別,需要的朋友可以參考下2014-12-12深入學(xué)習(xí)JavaScript中的Rest參數(shù)和參數(shù)默認(rèn)值
這篇文章主要介紹了深入學(xué)習(xí)JavaScript中的Rest參數(shù)和參數(shù)默認(rèn)值,是JS入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-07-07JavaScript 學(xué)習(xí)筆記之基礎(chǔ)中的基礎(chǔ)
這篇文章主要介紹了JavaScript 學(xué)習(xí)筆記系列的第一篇文章,跟所有開(kāi)篇一樣,本文我們介紹的都是些基礎(chǔ)中的基礎(chǔ)知識(shí),雖然都是基礎(chǔ),但建議大家不要略過(guò)此文2015-01-01深入解析contentWindow, contentDocument
沒(méi)有永恒的技術(shù)只有變態(tài)的需求,沒(méi)有好說(shuō)的客戶(hù)只有無(wú)奈的開(kāi)發(fā)者,如果iframe的出現(xiàn)是一個(gè)錯(cuò)誤的話(huà),iframe里邊在來(lái)一個(gè)iframe那是錯(cuò)上加錯(cuò),神話(huà)沒(méi)有在遠(yuǎn)古的塵囂中消失,卻在懷具的今天不斷上演2013-07-07