摘要:對(duì)象類(lèi)型除了原始類(lèi)型的值以外,其他都是對(duì)象。例如對(duì)象有屬性,值為,還有屬性,值為重要的特殊對(duì)象特殊對(duì)象函數(shù)數(shù)組日期正則全局錯(cuò)誤。
重新鞏固JS系列,都是比較基礎(chǔ)的東西,可以進(jìn)行查漏補(bǔ)缺,很快看完,這是第一篇。
其他JS重新鞏固系列:
重新鞏固JS(二)——JavaScript操作符與表達(dá)式
重新鞏固JS(三)——JavaScript語(yǔ)句
JavaScript基本類(lèi)型在編程領(lǐng)域中,數(shù)據(jù)類(lèi)型(data type)用來(lái)將變量的值(value)進(jìn)行分類(lèi),這樣在對(duì)變量的值進(jìn)行數(shù)學(xué)、關(guān)系、邏輯等運(yùn)算時(shí)就不會(huì)產(chǎn)生錯(cuò)誤了。例如: 2 * 2是合法的,2 * John就不合法了。
JS中的基本類(lèi)型分為原始類(lèi)型和對(duì)象類(lèi)型兩種。
1. 原始類(lèi)型:原始類(lèi)型(6種): Number、String、Boolean、Symbol、Null、Undefined。
1.1 數(shù)值—Number采用標(biāo)準(zhǔn):不區(qū)分整數(shù)和浮點(diǎn)數(shù),所有數(shù)值都用浮點(diǎn)數(shù)表示,采用IEEE 754標(biāo)準(zhǔn)定義的64位浮點(diǎn)格式。
整數(shù):范圍是-2 ^53 ~ 2^53,有十進(jìn)制,二進(jìn)制(binary,以0b為前綴,之后的值由0~1組成)、八進(jìn)制(octal,以0o為前綴,之后的值由0~7組成,注:不推薦以0為前綴的表示法)、十六進(jìn)制(hexadecimal,以0x為前綴,之后的值由0~9和a~f(10~15)組成)表示。例如:
//二進(jìn)制
0b11 //合法
0b22 //不合法
//八進(jìn)制
0o67 //合法
0o89 //不合法
//十六進(jìn)制
0xAf //合法
0xjk //不合法
浮點(diǎn)數(shù):數(shù)值中必須包含一個(gè)小數(shù)點(diǎn),小數(shù)點(diǎn)后至少要有一位數(shù)字,浮點(diǎn)數(shù)計(jì)算可能會(huì)有誤差,對(duì)于極大或極小的數(shù)值可以用e表示法,例如:
//存在誤差
0.1 + 0.2 = 0.30000000000000004
//e表示法
3.14e5 //即為314000
特殊數(shù)值,主要來(lái)自:全局直接量(無(wú)窮大Infinity、非數(shù)字NaN)、Number對(duì)象的屬性(Number.MAX_VALUE、Number.MIN_VALUE等)、Math對(duì)象(Math.PI,Math.E等)的屬性等。
采用標(biāo)準(zhǔn):用來(lái)表示文本,由0個(gè)或多個(gè)16位Unicode字符組成的字符序列。
可以使用單引號(hào)或者雙引號(hào)(效果一樣,必須成對(duì)出現(xiàn)),在JS代碼中經(jīng)常會(huì)出現(xiàn)HTML字符串,由于HTML標(biāo)簽中的屬性值推薦的是雙引號(hào),所以JS字符串推薦使用單引號(hào),例如:
let imgEl = "
"
索引從0開(kāi)始,長(zhǎng)度是字符的個(gè)數(shù)。
let str = "Hello World"
str.length // => 11
str[0] // => "H"
字符串不能直接換行,如果想拆分成多行,需要在每行的結(jié)尾添加反斜杠,輸出的結(jié)果還是單行。
// 錯(cuò)誤寫(xiě)法 "ab c" //正確寫(xiě)法 let str = "multiple lines end" str // => "multiplelinesend"
轉(zhuǎn)義字符:反斜杠后加一個(gè)字符表示轉(zhuǎn)義字符,比如 表示換行符,如果斜杠后面的字符沒(méi)有特殊含義,則忽略斜杠。常見(jiàn)轉(zhuǎn)義字符:
字符 | 含義 |
---|---|
換行 | |
斜杠 | |
" | 單引號(hào),在用單引號(hào)表示的字符串中使用 |
" | 雙引號(hào),在用雙引號(hào)表示的字符串中使用 |
xnn | 十六進(jìn)制代碼表示的一個(gè)字符(其中n為0~F)。例如,x41表示"A" |
unnnn | 十六進(jìn)制代碼表示的unicode字符(其中n為0~F)。例如,u03a3表示希臘字符"∑" |
模板字符串(ES6新增):使用反引號(hào)(重音符, " ` "),里面的變量使用${}包裹,可以直接換行。
let name = "cc"
name // => "cc"
`Hello, ${name}` //=> "Hello, cc"
1.3 布爾值—Boolean
用來(lái)表示真或假,開(kāi)或關(guān)等含義。
只有兩種值: true和false,通常用于if/else語(yǔ)句中,若為true則執(zhí)行if語(yǔ)句中的邏輯,否則執(zhí)行else里面的邏輯。
if( status === "open") {
console.log("Door is open");
} else {
console.log("Door is closed");
}
假值和真值:JS中任意值都可以轉(zhuǎn)換為布爾值。一共6個(gè)值(undefined、null、0、-0、NaN、"")會(huì)被轉(zhuǎn)換成false,其他值都是true 。
可用作對(duì)象的非字符串屬性,它是唯一且不可變的,例如:
let uniqueName = Symbol();
let person = {};
person[uniqueName] = "cc";
console.log(person[uniqueName]); // => cc
(備注:后期詳細(xì)講解)
1.5 Undefined表示未定義或不存在,只有一個(gè)值undefined。
let abc;
console.log(abc); // => undefined
console.log(abcd); //報(bào)錯(cuò),注意未賦值和未聲明的區(qū)別
let obj = {};
console.log(obj.name) // => undefined
1.6 Null
表示空值,Null類(lèi)型只有一個(gè)值null。如果定義一個(gè)變量來(lái)表示一個(gè)對(duì)象的話,聲明時(shí)推薦將其設(shè)置為null。
let obj = null;
obj = { name: "cc"}
2. 對(duì)象類(lèi)型—Object:
除了原始類(lèi)型的值以外,其他都是對(duì)象。對(duì)象是鍵值對(duì)的集合,值可以是原始值,也可以是對(duì)象。例如:
//author對(duì)象:有name屬性,值為"cc",還有age屬性,值為100
let author = {
name: "CC",
age: 100
}
2.1 重要的特殊對(duì)象
特殊對(duì)象: 函數(shù) Function、數(shù)組 Array、日期 Date、正則 RegExp、全局 Global、錯(cuò)誤 Error。 (備注:后期多帶帶詳細(xì)講解)
3 類(lèi)型識(shí)別可以使用typeof操作符來(lái)檢測(cè)變量的數(shù)據(jù)類(lèi)型,它返回的值為一個(gè)小寫(xiě)的字符串。
變量abc的取值 | typeof abc 的結(jié)果 |
---|---|
let abc; | "undefined" |
let abc = true; | "boolean" |
let abc = 123; | "number" |
let abc = "abc"; | "string" |
let abc = function () {}; | "function" |
let abc = {}; //[]、null | "object" |
let abc = Symbol(); | "symbol" |
說(shuō)明:整理自網(wǎng)易公開(kāi)課。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/6977.html
摘要:重新鞏固系列,都是比較基礎(chǔ)的東西,可以進(jìn)行查漏補(bǔ)缺,很快看完,這是第二篇。關(guān)系運(yùn)算符用于比較操作符左右的操作數(shù)的大小。邏輯運(yùn)算符主要通過(guò)與或非來(lái)判斷一個(gè)表達(dá)式的值是否為。注意與和或操作具有短路計(jì)算效果。重新鞏固JS系列,都是比較基礎(chǔ)的東西,可以進(jìn)行查漏補(bǔ)缺,很快看完,這是第二篇。 其他JS重新鞏固系列: 重新鞏固JS(一)——JavaScript基本類(lèi)型 重新鞏固JS(三)——JavaSc...
摘要:重新鞏固系列,都是比較基礎(chǔ)的東西,可以進(jìn)行查漏補(bǔ)缺,很快看完,這是第三篇。其中,部分可以省略條件語(yǔ)句語(yǔ)句例子為,小于但大于,故輸出語(yǔ)句當(dāng)表達(dá)式的值等于值時(shí),執(zhí)行語(yǔ)句,遇到語(yǔ)句則跳出語(yǔ)句,若都沒(méi)匹配到值,則執(zhí)行中的語(yǔ)句。重新鞏固JS系列,都是比較基礎(chǔ)的東西,可以進(jìn)行查漏補(bǔ)缺,很快看完,這是第三篇。 其他JS重新鞏固系列: 重新鞏固JS(一)——JavaScript基本類(lèi)型 重新鞏固JS(二)...
摘要:基礎(chǔ)鞏固基礎(chǔ)總結(jié)使用已經(jīng)好幾年了,由于工作主要是做服務(wù)端開(kāi)發(fā),在工作中逐漸發(fā)現(xiàn)的使用范圍原來(lái)越廣泛。這里要注意,務(wù)必將基礎(chǔ)部分掌握牢靠,磨刀不誤砍柴功,只有將基礎(chǔ)部分掌握并建立起系統(tǒng)的知識(shí)體系,在后面學(xué)習(xí)衍生的其他模式才能游刃有余。 基礎(chǔ)鞏固:JavaScript基礎(chǔ)總結(jié) 使用JavaScript已經(jīng)好幾年了,由于工作主要是做服務(wù)端開(kāi)發(fā),在工作中逐漸發(fā)現(xiàn)JavaScript的使用范圍原...
摘要:為了由簡(jiǎn)入繁,不妨將這些類(lèi)型劃分為基本類(lèi)型復(fù)合類(lèi)型。以下將漸進(jìn)式的對(duì)的這些類(lèi)型進(jìn)行了解。實(shí)際上,有一種屬性描述對(duì)象,是通過(guò)獲取的。但無(wú)論如何,類(lèi)型檢查是可以排除大部分錯(cuò)誤的。在函數(shù)的類(lèi)型聲明中,繼續(xù)來(lái)鞏固這條規(guī)則的寫(xiě)法。 幾個(gè)月前把 ES6 的特性都過(guò)了一遍,收獲頗豐?,F(xiàn)在繼續(xù)來(lái)看看 TypesScript(下文簡(jiǎn)稱(chēng)為 TS)。限于經(jīng)驗(yàn),本文一些總結(jié)如有不當(dāng),歡迎指正。 概述 官網(wǎng)有這...
摘要:中所有函數(shù)的參數(shù)都是按值傳遞的?;绢?lèi)型本身是按值傳遞,具有不可變性,對(duì)基本類(lèi)型的修改,實(shí)質(zhì)上都是在棧內(nèi)存中創(chuàng)建了新的值。中把這種拷貝也認(rèn)為是按值傳遞。 本文共 1200 字,讀完只需 5 分鐘 概述 參數(shù)的傳遞分為按值傳遞和按引用傳遞,而 JavaScript 中參數(shù)的傳遞只有按值傳遞。 ECMAScript 中所有函數(shù)的參數(shù)都是按值傳遞的。 所謂按值傳遞就是: 把函數(shù)外部的值復(fù)制給...
閱讀 784·2023-04-25 22:50
閱讀 1623·2021-10-08 10:05
閱讀 1059·2021-09-30 09:47
閱讀 2012·2021-09-28 09:35
閱讀 894·2021-09-26 09:55
閱讀 3489·2021-09-10 10:51
閱讀 3490·2021-09-02 15:15
閱讀 3357·2021-08-05 09:57