在 ES5 中,存在 6 種數(shù)據(jù)類(lèi)型。
公司主營(yíng)業(yè)務(wù):網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)公司推出河津免費(fèi)做網(wǎng)站回饋大家。
基本類(lèi)型(值類(lèi)型): String、Number、Boolean、undefined、null
對(duì)象類(lèi)型(引用類(lèi)型):Object,其中 Object 有三種特殊的對(duì)象(Function、Array、Date)
PS: undefined 和 null 的第一個(gè)字母都是小寫(xiě)
Q: undefined 和 null 有什么區(qū)別?
A: 當(dāng)一個(gè)變量被聲明,但是還沒(méi)有賦值的時(shí)候,則為 undefined.
當(dāng)一個(gè)變量被聲明了,并且已經(jīng)賦值了,賦的值為 null,則為 null
根本區(qū)別就是在于在聲明的時(shí)候有沒(méi)有被賦值
常用的判斷數(shù)據(jù)類(lèi)型的方法
劃重點(diǎn)!??! typeof(xxx) 返回的是一個(gè)字符串
舉個(gè)栗子1
舉個(gè)栗子2
舉個(gè)栗子3
typeof 可以判斷以上 4 中基本類(lèi)型(Number、String、Boolean、undefined)
判斷不了 null 類(lèi)型
舉個(gè)栗子4
是不是很奇怪?null 作為基礎(chǔ)類(lèi)型,但是在判斷類(lèi)型的時(shí)候卻為 object?
其實(shí)設(shè)計(jì)者是這么想的,他先定義了一個(gè)變量,這個(gè)變量是準(zhǔn)備賦值為對(duì)象的,由于某些原因,比如對(duì)象的屬性還不清楚,所以一開(kāi)始就給變量賦值為 null,表明這個(gè)變量將來(lái)是個(gè)對(duì)象。
null 還有另外一個(gè)作用,在最后的時(shí)候,給變量賦值為 null,可以讓變量指向的對(duì)象成為垃圾對(duì)象,從而被垃圾回收器回收。
上面的例子證明,null 類(lèi)型和 對(duì)象類(lèi)型通過(guò) typeof 是無(wú)法區(qū)分的。
沒(méi)錯(cuò),JS 的開(kāi)發(fā)者就是不想讓你們這么好過(guò),只記住一個(gè)規(guī)矩就想闖天下了嗎??? Naive?。?!
為了讓你們多學(xué)點(diǎn)本領(lǐng),于是就有了 instanceof
instanceof 字面意思就是實(shí)例。a instanceof b, a 是 b 的實(shí)例,b 為 構(gòu)造函數(shù) 。返回值為 布爾值
實(shí)現(xiàn)原理是通過(guò)檢測(cè) b.prototype 是否存在于 a 的原型鏈上
舉個(gè)栗子1
但是吧,你想用來(lái)判斷 null 類(lèi)型,不好意思,直接報(bào)錯(cuò), null 并不是一個(gè)對(duì)象
先看完下面的例子,再來(lái)看怎么判斷 null
下面看個(gè)有迷惑行為的例子
言歸正傳,怎么說(shuō)來(lái)說(shuō)去都沒(méi)說(shuō)怎么判斷是不是 null 類(lèi)型
===
直接上全等于 === 不就好了嘛,就是這么簡(jiǎn)單快捷?。。?/p>
typeof:
可以判斷除了 null 之外的值類(lèi)型 Number、String、Boolean、undefined
還可以判斷一個(gè)引用類(lèi)型 Function
不能區(qū)分: null 和 Object
instanceof:
判斷對(duì)象的具體類(lèi)型
===
判斷 undefined 和 null
一般情況下,使用 typeof 去判斷就可以了。
當(dāng)確定是 Object 類(lèi)型的數(shù)據(jù),則使用 instanceof 去具體區(qū)分是屬于 Function/Array/Date 的哪種類(lèi)型
很多情況下,都要判斷數(shù)據(jù)不能為 undefined 和 null,那就可以直接判斷 xxx !== undefined xxx !== null
Javascript(JS)是一種腳本語(yǔ)言,主要用于 Web,它用于增強(qiáng) HTML 頁(yè)面,通??梢郧度?HTML 代碼中。
學(xué)計(jì)算機(jī)編程的朋友應(yīng)該對(duì)js這個(gè)詞是非常熟悉的,很多人會(huì)經(jīng)常用到j(luò)s,那么下面我來(lái)跟大家說(shuō)說(shuō)js是什么意思。
詳細(xì)內(nèi)容
01
Javascript(JS)是一種腳本語(yǔ)言,主要用于 Web。它用于增強(qiáng) HTML 頁(yè)面,通常可以嵌入 HTML 代碼中。JavaScript 是一種解釋型語(yǔ)言。因此,它不需要編譯。JavaScript 以交互式和動(dòng)態(tài)的方式呈現(xiàn)網(wǎng)頁(yè)。這允許頁(yè)面對(duì)事件做出反應(yīng),展示特殊效果,接受可變文本,驗(yàn)證數(shù)據(jù),創(chuàng)建 cookie,檢測(cè)用戶的瀏覽器等。
02
HTML 頁(yè)面適用于顯示靜態(tài)內(nèi)容,例如簡(jiǎn)單的圖像或文本。但是,現(xiàn)在大多數(shù)頁(yè)面很少是靜態(tài)的。今天的許多頁(yè)面都有菜單,表單,幻燈片甚至是提供用戶交互的圖像。Javascript 是 Web 開(kāi)發(fā)人員用來(lái)提供此類(lèi)交互的語(yǔ)言。由于 JavaScript 適用于 HTML 頁(yè)面,因此開(kāi)發(fā)人員需要了解 HTML 才能充分發(fā)揮這種腳本語(yǔ)言的作用。雖然還有其他語(yǔ)言可用于在 Web 上編寫(xiě)腳本,但實(shí)際上它基本上都是 Javascript。
03
在 HTML 文件中使用 JavaScript 有兩種方法。第一種方法涉及在 HTML 代碼中嵌入所有 JavaScript 代碼,而第二種方法則使用從 Script 元素中調(diào)用的單獨(dú) JavaScript 文件,即由 Script 標(biāo)記包含。JavaScript 文件由.js 擴(kuò)展名標(biāo)識(shí)。
04
雖然 JavaScript 主要用于與 HTML 對(duì)象交互,但也可以與其他非 HTML 對(duì)象進(jìn)行交互,例如瀏覽器插件,CSS(層疊樣式表)屬性,當(dāng)前日期或?yàn)g覽器本身。要編寫(xiě) JavaScript 代碼,您只需要一個(gè)基本的文本編輯器,如 Windows 中的記事本,Linux 中的 Gimp 或 BBEdit。一些文本編輯器,如 BBEdit,為 JavaScript 提供了語(yǔ)法高亮功能。這將允許您輕松識(shí)別 JavaScript 代碼的元素。
這是一個(gè)更通用的方法
var count=10
for(var i=0;icount;i++){
var ii = "0000000000" + i;
ii = ii.substring(ii.length - 2);//輸出001就-3
alert(ii);
}