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