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