亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

淺談JS中的數(shù)據(jù)類型

lufficc / 2579人閱讀

摘要:中的每一個(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è)值:truefalse,分別表示真假

undefined:未定義或不存在

null:空值,此處為空

object:對(duì)象,各種值的集合

在ES6中引入了第七種類型的值:symbol

數(shù)值、字符串和布爾值一般被稱為原始類型,是最基礎(chǔ)的類型;對(duì)象被稱為合成類型,是比較復(fù)雜的類型。undefinednull是特殊的值。

數(shù)值

JavaScript的數(shù)值有許多種表示類型。

常規(guī)的十進(jìn)制:首數(shù)字不為0。 520
二進(jìn)制:前綴為0b0B。 0b101
八進(jìn)制:前綴為0o0O0o363
十六進(jìn)制:前綴為0x0X。 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ì)于nullundefined,都可以表示沒有,含義相似。這也與歷史上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)真值表。

對(duì)象

這是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:undefined
typeof運(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)文章

  • 淺談JS中的數(shù)據(jù)類型轉(zhuǎn)換

    摘要:關(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....

    CarlBenjamin 評(píng)論0 收藏0
  • 淺談ES6中基本數(shù)據(jù)類型的操作方法

    摘要:值得注意的是,中整數(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...

    longmon 評(píng)論0 收藏0
  • 淺談node.js中的stream(流)

    摘要:在可讀流事件里我們就必須調(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)注是否從...

    elliott_hu 評(píng)論0 收藏0
  • 淺談vuex

    摘要:概念淺談是一個(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)以...

    chaos_G 評(píng)論0 收藏0
  • 淺談:快速理解JS的原型與原型鏈

    摘要:中有基本類型和復(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...

    ZoomQuiet 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<