摘要:中的每一個(gè)值,都是一種數(shù)據(jù),屬于一種數(shù)據(jù)類型。數(shù)值的數(shù)值有許多種表示類型。對(duì)象這是中最核心的概念,也是最復(fù)雜的數(shù)據(jù)類型。對(duì)象的每一個(gè)鍵名又稱為屬性,它的鍵值可以是任何數(shù)據(jù)類型。特例函數(shù)返回,但是我們要注意并沒有這一數(shù)據(jù)類型。
JS中的數(shù)據(jù)類型。什么是數(shù)據(jù)類型?
和我們平時(shí)交流一樣一樣。
什么是漢字,什么是拼音,什么是標(biāo)點(diǎn)符號(hào),什么又是現(xiàn)在流行的表情包?類型,可以是語(yǔ)言的分類,也一定是理解一門語(yǔ)言或了解一個(gè)事物的基礎(chǔ)。
JavaScript中的每一個(gè)“值”,都是一種數(shù)據(jù),屬于一種數(shù)據(jù)類型。
我們常用的數(shù)據(jù)類型,有六種:
number:數(shù)值,包括整數(shù)與小數(shù)
string:字符串,理解為文本
boolean:布爾值,只有兩個(gè)值:true和false,分別表示真假
undefined:未定義或不存在
null:空值,此處為空
object:對(duì)象,各種值的集合
在ES6中引入了第七種類型的值:symbol
數(shù)值、字符串和布爾值一般被稱為原始類型,是最基礎(chǔ)的類型;對(duì)象被稱為合成類型,是比較復(fù)雜的類型。undefined和null是特殊的值。
數(shù)值JavaScript的數(shù)值有許多種表示類型。
常規(guī)的十進(jìn)制:首數(shù)字不為0。 520
二進(jìn)制:前綴為0b或0B。 0b101
八進(jìn)制:前綴為0o或0O。 0o363
十六進(jìn)制:前綴為0x或0X。 0xdd
科學(xué)計(jì)數(shù)法:字母e或E后面接整數(shù)表示指數(shù)部分。314e-3
NaN是一種特殊的數(shù)值,表示"非數(shù)字"。
字符串字符串就是排在一起的多個(gè)字符,用英文雙引號(hào)"或單引號(hào)"表示。
雙引號(hào)內(nèi)部可以引用單引號(hào),單引號(hào)內(nèi)部也可以引用雙引號(hào)。
當(dāng)引號(hào)使用出現(xiàn)歧義時(shí),比如單引號(hào)中的單引號(hào),雙引號(hào)中的雙引號(hào),就要用到轉(zhuǎn)義。
反斜杠 可以用來表示一些特殊字符,被稱為轉(zhuǎn)義符。
常見的轉(zhuǎn)義符有:
:換行符
:制表符
:回車鍵
:后退鍵
":?jiǎn)我?hào)
":雙引號(hào)
:反斜杠
null 和 undefined對(duì)于null和undefined,都可以表示沒有,含義相似。這也與歷史上JavaScript的設(shè)計(jì)有關(guān)。
大致可以像下面這樣理解。
null表示空值,即該處的值現(xiàn)在為空。
比如調(diào)用函數(shù)時(shí),某個(gè)參數(shù)未設(shè)置任何值,這時(shí)就可以傳入null,表示該參數(shù)為空。
undeined則表示此處未定義,不存在。
布爾值true為真,false為假。
布爾值運(yùn)算關(guān)系有 “與”:&&和 “或”:||,真值關(guān)系符合標(biāo)準(zhǔn)真值表。
這是JavaScript中最核心的概念,也是最復(fù)雜的數(shù)據(jù)類型。
對(duì)象就是一組“鍵值對(duì)”即key-value的集合,是一種無序的復(fù)合數(shù)據(jù)集合。
var obj= { k1 : "My", k2 : "Love", k3 : 18, k4 : undefined, k5 : {k6 : "998"} };
每一個(gè)鍵值對(duì)用逗號(hào),隔開。
冒號(hào)左邊為鍵名,默認(rèn)為字符串,加不加引號(hào)都可以。
但若鍵名不符合標(biāo)識(shí)名規(guī)則,則必須加上引號(hào),否則會(huì)報(bào)錯(cuò)。 "3+4" "678xyz"
對(duì)象的每一個(gè)鍵名又稱為“屬性”,它的“鍵值”可以是任何數(shù)據(jù)類型。如果一個(gè)屬性的值為函數(shù),通常把這個(gè)屬性稱為“方法”,它可以像函數(shù)那樣調(diào)用。
讀取對(duì)象的屬性,有兩種方法,一種是使用點(diǎn)運(yùn)算符,還有一種是使用方括號(hào)運(yùn)算符。
obj.k1; obj["k1"];
如果使用方括號(hào)運(yùn)算符,鍵名必須放在引號(hào)里面,否則會(huì)被當(dāng)作變量處理。
這種方法不僅可以用來讀取值,還可以用來賦值。
var obj = {}; obj.k1 = "998"; obj["k2"] = undefined;
可以使用Object.keys來查看一個(gè)對(duì)象本身的所有屬性。
var obj = { k1 : "uux", k2 : 18 }; Object.keys(obj); //["k1","k2"]
可以用delete命令刪除對(duì)象的屬性,刪除成功后返回true。
var obj = { k1 : "123", k2 : "234" }; delete obj.k1; //true obj.k1; //undefined Object.keys(obj); //["k2"]
in用于檢查對(duì)象是否包含某個(gè)屬性,如果包含就返回true,否則返回false。
var obj = {}; "k1" in obj; //false
for...in循環(huán)用來遍歷一個(gè)對(duì)象的全部屬性。
var obj = { k1 : "Male", k2 : 18, k3 : undefined }; for (var i in obj) { console.log("Key:", i); console.log("Value:", obj[i]); } // Key:k1 // Value:"Male" // Key:k2 // Value:18 // Key:k3 // Value:undefinedtypeof運(yùn)算符
typeof運(yùn)算符可以返回一個(gè)值的數(shù)據(jù)類型。
typeof 998; //"number" typeof "998"; //"string" typeof true; //"boolean" typeof undefined; //"undefined" typeof {}; //"object"
var a = {}; typeof a; //"object"特例:
function xxx() {}; typeof xxx; //"function"
函數(shù)返回function,但是我們要注意并沒有function這一數(shù)據(jù)類型。
typeof null; //"object"
這只是一個(gè)BUG,是由歷史原因造成的。
typeof []; //"object"
空數(shù)組的類型也是object。
typeof document; //"object" typeof window; //"object" ...
參考文獻(xiàn):《JavaScript教程——阮一峰》
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/100177.html
摘要:關(guān)于中的各種數(shù)據(jù)類型的簡(jiǎn)單轉(zhuǎn)換。轉(zhuǎn)換為布爾值全局方法方法注意要區(qū)分空字符串和有空格的字符串。如果預(yù)期某個(gè)位置應(yīng)該是布爾值,會(huì)將該位置上現(xiàn)有的值自動(dòng)轉(zhuǎn)為布爾值。常規(guī)轉(zhuǎn)換取反兩次,對(duì)應(yīng)的布爾值不變。 關(guān)于JavaScript中的各種數(shù)據(jù)類型的簡(jiǎn)單轉(zhuǎn)換。 轉(zhuǎn)換為字符串 toString 可以用toString這個(gè)API將其他數(shù)據(jù)類型轉(zhuǎn)換為字符串,其中也有一些特例。 var a = 1; a....
摘要:值得注意的是,中整數(shù)和浮點(diǎn)數(shù)采用的是同樣的儲(chǔ)存方法位雙精度浮點(diǎn)數(shù),所以和被視為同一個(gè)值。 在Javascript中,數(shù)據(jù)類型分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型兩大類,其中,Array和Function在本質(zhì)上仍然是一種特殊的對(duì)象: 基本類型: String / Number / Boolean / Null / Undefined引用類型: Object / Array / Functio...
摘要:在可讀流事件里我們就必須調(diào)用方法。當(dāng)一個(gè)對(duì)象就意味著我們想發(fā)出信號(hào)這個(gè)流沒有更多數(shù)據(jù)了自定義可寫流為了實(shí)現(xiàn)可寫流,我們需要使用流模塊中的構(gòu)造函數(shù)。我們只需給構(gòu)造函數(shù)傳遞一些選項(xiàng)并創(chuàng)建一個(gè)對(duì)象。 前言 什么是流呢?看字面意思,我們可能會(huì)想起生活中的水流,電流。但是流不是水也不是電,它只是描述水和電的流動(dòng);所以說流是抽象的。在node.js中流是一個(gè)抽象接口,它不關(guān)心文件內(nèi)容,只關(guān)注是否從...
摘要:概念淺談是一個(gè)專為應(yīng)用程序開發(fā)的狀態(tài)管理模式。它采用集中式存儲(chǔ)管理應(yīng)用的所有組件的狀態(tài),并以相應(yīng)的規(guī)則保證狀態(tài)以一種可預(yù)測(cè)的方式發(fā)生變化。更改的中的狀態(tài)的唯一方法,類似。允許我們將分割成模塊。 通過購(gòu)物車的一個(gè)案列,把vuex學(xué)習(xí)了一篇。 vuex概念淺談 Vuex 是一個(gè)專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式。它采用集中式存儲(chǔ)管理應(yīng)用的所有組件的狀態(tài),并以相應(yīng)的規(guī)則保證狀態(tài)以...
摘要:中有基本類型和復(fù)雜類型的區(qū)分。原型與原型鏈這里,就引入了兩個(gè)新的概念。原型對(duì)象就是用來存放聲明對(duì)象中共有的那部分屬性。而原型對(duì)象自身也是一個(gè)對(duì)象,它也有自己的原型對(duì)象。這樣層層上溯,就形成了一個(gè)類似鏈表的結(jié)構(gòu),這就是原型鏈。 JavaScript中有基本類型和復(fù)雜類型的區(qū)分。 當(dāng)我們?cè)诼暶饕粋€(gè)基本類型時(shí): var n1= 1; console.log(n1); //1 這時(shí)我們可以用N...
閱讀 3138·2021-11-24 11:14
閱讀 3661·2021-11-22 15:22
閱讀 3279·2021-09-27 13:36
閱讀 798·2021-08-31 14:29
閱讀 1385·2019-08-30 15:55
閱讀 1856·2019-08-29 17:29
閱讀 1195·2019-08-29 16:24
閱讀 2529·2019-08-26 13:48