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

資訊專(zhuān)欄INFORMATION COLUMN

javascript中的數(shù)據(jù)類(lèi)型

2450184176 / 3324人閱讀

摘要:中具有兩種數(shù)據(jù)類(lèi)型的值,分別是基本類(lèi)型值和引用類(lèi)型值。在中,基本類(lèi)型值指的是簡(jiǎn)單的數(shù)據(jù)段,引用類(lèi)型值指那些可能由多個(gè)值構(gòu)成的對(duì)象?;緮?shù)據(jù)類(lèi)型基本數(shù)據(jù)類(lèi)型未定義的值的默認(rèn)值尚未存在的對(duì)象數(shù)字字符串。

整理以及總結(jié)一下,回溯下基礎(chǔ)。

ECMAScript中具有兩種數(shù)據(jù)類(lèi)型的值,分別是 基本類(lèi)型值和引用類(lèi)型值。

在ECMAScript中,基本類(lèi)型值指的是簡(jiǎn)單的數(shù)據(jù)段,引用類(lèi)型值指那些可能由多個(gè)值構(gòu)成的對(duì)象。

基本數(shù)據(jù)類(lèi)型

基本數(shù)據(jù)類(lèi)型:undefined(未定義的值的默認(rèn)值) null(尚未存在的對(duì)象) boolean(true or false) number(數(shù)字) string(字符串)。
基本類(lèi)型的值不能添加屬性。

var str = "I am basic";
str.type="basic";//it is wrong!!!

這五種數(shù)據(jù)類(lèi)型是按值訪問(wèn)的,也就是操作的是保存在變量中實(shí)際的值,改變了就是改變了。
引用類(lèi)型:這種類(lèi)型就是在操作的時(shí)候,操作的是其自身的引用,而不是實(shí)際的對(duì)象。當(dāng)然這一塊還要再細(xì)化一點(diǎn),當(dāng)操作動(dòng)作是復(fù)制時(shí),操作的是對(duì)象的引用。當(dāng)操作動(dòng)作是添加時(shí),操作的是實(shí)際的對(duì)象。

下面說(shuō)說(shuō)一些操作以及開(kāi)發(fā)中的注意點(diǎn)

基本操作

基本類(lèi)型:就是復(fù)制,copy,你會(huì)得到兩個(gè)一模一樣的東西,并且這兩個(gè)之間是相互獨(dú)立的

var a = 111;
var b = a;
a+=10;
console.log(a);//121
console.log(b);//111

引用類(lèi)型:引用類(lèi)型在接受到復(fù)制操作這個(gè)命令時(shí),也是會(huì)把變量對(duì)象中的值復(fù)制一份放到一個(gè)新的空間中。但是,這個(gè)值并不是真正的值,而是一個(gè)指針或者說(shuō)是路徑,它指向了存儲(chǔ)在堆中的一個(gè)對(duì)象。復(fù)制之后的這兩個(gè)變量只是兩個(gè)指針,指向同一個(gè)地方。
這樣的話,改變一個(gè),另一個(gè)也得變化。

var a ={};
var b=a;
a.age=18;
console.log(b.age);//18

拷貝操作

所以在日常開(kāi)發(fā)中,經(jīng)常會(huì)用到對(duì)象的賦值操作,這里直接用‘=’可能會(huì)引起不必要的一些bug,這里一般用一些方法避免掉。

for循環(huán),鍵值對(duì)應(yīng)賦值,數(shù)據(jù)對(duì)象都可以,這里要注意一個(gè)深淺拷貝,深拷貝要對(duì)當(dāng)前對(duì)象的所有的屬性進(jìn)行遍歷賦值
深入剖析 JavaScript 的深復(fù)制

arrB=arrA.slice(0)
js的數(shù)組操作方法 slice會(huì)返回一個(gè)新的數(shù)組,接受兩個(gè)參數(shù)(start,end),如果沒(méi)有傳end,默認(rèn)為從start到數(shù)組尾部.

arrB=arrA.concat()
js的數(shù)組操作方法,同樣返回一個(gè)新數(shù)組。

   var arrA=[1,2,3];
   var [...arrB]=arrA;
   console.log(arrB)//[1,2,3]

這里用上了es6的擴(kuò)展運(yùn)算符,原理就是先拆掉再放進(jìn)數(shù)組里。

var objB=JSON.parse(JSON.stringify(objA))
拷貝一個(gè)字符串(基本類(lèi)型)會(huì)新開(kāi)辟出一個(gè)存儲(chǔ)地址,這樣就沒(méi)有之前的引用了。

   var objA={"name":"11","age":"22"}
   var {...objB}=objA;

是的,這樣也可以的。。。

這樣開(kāi)發(fā)中可以根據(jù)需要復(fù)制的數(shù)據(jù)來(lái)選擇相對(duì)簡(jiǎn)單方便的方法。

小結(jié)

非?;A(chǔ)的知識(shí)點(diǎn)了,但是開(kāi)發(fā)中不注意也會(huì)引起不必要的麻煩,同時(shí)在日常開(kāi)發(fā)中可以針對(duì)不同的需求提前寫(xiě)好工具函數(shù),統(tǒng)一起來(lái)。方法多不一定是好事,群魔亂舞。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/93252.html

相關(guān)文章

  • JavaScript學(xué)習(xí)總結(jié)(一)基礎(chǔ)部分

    摘要:前綴規(guī)范每個(gè)局部變量都需要有一個(gè)類(lèi)型前綴,按照類(lèi)型可以分為表示字符串。例如,表示以上未涉及到的其他對(duì)象,例如,表示全局變量,例如,是一種區(qū)分大小寫(xiě)的語(yǔ)言。布爾值與字符串相加將布爾值強(qiáng)制轉(zhuǎn)換為字符串。 基本概念 javascript是一門(mén)解釋型的語(yǔ)言,瀏覽器充當(dāng)解釋器。js執(zhí)行時(shí),在同一個(gè)作用域內(nèi)是先解釋再執(zhí)行。解釋的時(shí)候會(huì)編譯function和var這兩個(gè)關(guān)鍵詞定義的變量,編譯完成后從...

    AlanKeene 評(píng)論0 收藏0
  • JS程序

    摘要:設(shè)計(jì)模式是以面向?qū)ο缶幊虨榛A(chǔ)的,的面向?qū)ο缶幊毯蛡鹘y(tǒng)的的面向?qū)ο缶幊逃行┎顒e,這讓我一開(kāi)始接觸的時(shí)候感到十分痛苦,但是這只能靠自己慢慢積累慢慢思考。想繼續(xù)了解設(shè)計(jì)模式必須要先搞懂面向?qū)ο缶幊?,否則只會(huì)讓你自己更痛苦。 JavaScript 中的構(gòu)造函數(shù) 學(xué)習(xí)總結(jié)。知識(shí)只有分享才有存在的意義。 是時(shí)候替換你的 for 循環(huán)大法了~ 《小分享》JavaScript中數(shù)組的那些迭代方法~ ...

    melody_lql 評(píng)論0 收藏0
  • JavaScript入門(mén)

    摘要:被識(shí)別為結(jié)束符。變量時(shí)被認(rèn)為時(shí)有名字的容器。常量一旦被聲明初始化,值并不能被改變。字符串可以看成右字符組成的數(shù)組,可能被誤認(rèn)為可變的。表達(dá)式?jīng)]有顯示的返回任何內(nèi)容。 Java script 簡(jiǎn)介 Javascript 是一門(mén)跨平臺(tái),面向?qū)ο蟮妮p量級(jí)腳本語(yǔ)言,運(yùn)行于Javascript解釋權(quán)/引擎 avascript內(nèi)置了一個(gè)包含一系列對(duì)象的標(biāo)準(zhǔn)庫(kù),比如數(shù)組,日期,數(shù)字和一個(gè)語(yǔ)言元素合...

    AaronYuan 評(píng)論0 收藏0
  • JavaScript中的基本數(shù)據(jù)類(lèi)型

    摘要:中有種基本數(shù)據(jù)類(lèi)型和。在介紹的基本數(shù)據(jù)類(lèi)型前,有必要提到兩個(gè)關(guān)鍵字和。由于中的變量是松散類(lèi)型的,所以它提供了一種檢測(cè)當(dāng)前變量的數(shù)據(jù)類(lèi)型的方法,也就是關(guān)鍵字。輸出的結(jié)果為用于表示由零數(shù)字或字符組成的字符序列,即字符串。 如果你是一名IT前端人員,怎么會(huì)不懂JavaScript的美?如果你是一名前端在學(xué)人員,接觸JavaScript后,怎么會(huì)不明白JavaScript中基本數(shù)據(jù)類(lèi)型?大家都...

    ispring 評(píng)論0 收藏0
  • WebSocket系列之JavaScript中數(shù)字數(shù)據(jù)如何轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)

    摘要:以和為例,說(shuō)明中的數(shù)字?jǐn)?shù)據(jù)如何轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)。對(duì)象用來(lái)表示通用的固定長(zhǎng)度的原始二進(jìn)制數(shù)據(jù)緩沖區(qū)。中的數(shù)字?jǐn)?shù)據(jù)如何轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)對(duì)和有了一個(gè)大概的了解,下面讓我們來(lái)看下它是如何進(jìn)行二進(jìn)制數(shù)據(jù)操作的。 概述 本文主要通過(guò)對(duì)JavaScript中數(shù)字?jǐn)?shù)據(jù)與二進(jìn)制數(shù)據(jù)之間的轉(zhuǎn)換,讓讀者能夠了解在JavaScript中如何對(duì)數(shù)字類(lèi)型(包括但不限于Number類(lèi)型)進(jìn)行處理。 二進(jìn)制數(shù)據(jù)在日常...

    MASAILA 評(píng)論0 收藏0
  • 《JSON必知必會(huì)》學(xué)習(xí)筆記(一)

    摘要:基于對(duì)象字面量,但是獨(dú)立于任何編程語(yǔ)言,真正重要的是表示法本身,所以在學(xué)習(xí)之前不必先學(xué)習(xí)。鍵必須是字符串,值可以是合法的數(shù)據(jù)類(lèi)型字符串?dāng)?shù)字對(duì)象數(shù)組布爾值或。布爾類(lèi)型中的布爾值僅可使用小寫(xiě)形式或,其他任何寫(xiě)法都會(huì)報(bào)錯(cuò)。 什么是JSON JSON全稱是Javascript Object Notation(對(duì)象表示法),是一種在不同平臺(tái)間傳遞數(shù)據(jù)的文本格式(數(shù)據(jù)交換格式)。常見(jiàn)的數(shù)據(jù)交換格式...

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

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

0條評(píng)論

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