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