国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

重新回顧JavaScript的數(shù)值類型

cncoder / 2851人閱讀

摘要:中有兩中數(shù)值類型基本數(shù)值類型和對象類型引用數(shù)據(jù)類型基本數(shù)據(jù)類型新增對象類型可變與不可變基本上數(shù)據(jù)類型是不可變的,我們不能給他添加屬性,即使添加了屬性也是無效的。基本上數(shù)據(jù)類型比較很簡單,常規(guī)思維可以理解基本數(shù)據(jù)類型對比,沒毛病,很好理解。

JavaScript中有兩中數(shù)值類型:基本數(shù)值類型和對象類型(引用數(shù)據(jù)類型)

基本數(shù)據(jù)類型:

Boolean   
undefined
Null  
String       
Number  
Symbol   // (ES6新增)

對象類型:

Function
Object
Array

可變與不可變
基本上數(shù)據(jù)類型是不可變的,我們不能給他添加屬性,即使添加了屬性也是無效的。而引用數(shù)據(jù)類型則可以添加屬性,例如

var a = 1;
a.b = 2;
var c = a.b;
console.log(a);        // 1
console.log(a.b);      // undefined
console.log(c);        // undefined

顯然,當(dāng)我們試圖給a.b或者c賦值的時(shí)候,都是undefined

function fn(){};
var arr = [1,2,3];
fn.a = 1;
arr.b = 2;
console.log(fn.a);     //1
console.log(arr.b);    //2

因?yàn)樗麄儗儆趯ο箢愋停С痔砑訉?yīng)的屬性,別問為啥,因?yàn)閷ο箢愋偷挠羞@個(gè)“天生能力”

基本數(shù)值類型通過“值”來做比較,而對象數(shù)據(jù)類型通過“引用”做比較。
基本上數(shù)據(jù)類型比較很簡單,常規(guī)思維可以理解

var a = "123";
var b = "123";
console.log(a === b);   //true

基本數(shù)據(jù)類型對比,沒毛病,很好理解。第一句把“123”賦值給a,第二句把"123"賦值給b,那么a就是"123",b也是同樣的道理,比較的結(jié)果肯定相等。而引用數(shù)據(jù)類型對比,并非把等號右側(cè)的內(nèi)容賦值給左側(cè)變量,而是將左側(cè)變量指向右側(cè)內(nèi)容,舉個(gè)栗子:

var a = {a:1};
var b = {a:1};
console.log(a == b);   //false

這個(gè)時(shí)候不能用“基本數(shù)據(jù)類型”的數(shù)據(jù)比較思維來看待這個(gè)了,這里畫個(gè)圖出來,相信就很好理解了

上面的對象分別是底下變量(a和b)的引用(指向),雖然左側(cè)的{a:1}跟右側(cè)的{a:1}看起來一模一樣,但是他們還是獨(dú)立的個(gè)體,不相等的。就像科學(xué)家克隆了一個(gè)動(dòng)物,雖然可以跟母體長的一模一樣,但他們終究是兩個(gè)個(gè)體,看起來一模一樣,但起碼年齡不同的。但如果他們引用的來源相同的話,就返回值就是true了,舉個(gè)栗子:

var a = {a:1};
var b = a;
console.log(a === b)

圖示

引用(指向)是一樣的,那么他們的值肯定是相等的。就像夫妻倆生了第一胎,是個(gè)女孩A,國家開放二胎政策后,他們琢磨著再生一個(gè),結(jié)果生了雙胞胎B和C,這個(gè)時(shí)候B和C都叫A親姐姐,那么很明顯了,B的姐姐和C的姐姐肯定是同一個(gè)人。
這個(gè)時(shí)候,有人提出問題來了:如果我改變{a:1}的值,他們是否還是相等的呢?答案是只要他們指向同一個(gè)地方,無論這個(gè)指向的值怎么變,都是一樣的。就像B和C的姐姐是A,10年以后A長大了,但她還是B和C的姐姐。代碼如下:

var a = {a:1};
var b = a;
b.a = 2;
console.log(a);    // {a:2}
console.log(b);    // {a:2}

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

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/92807.html

相關(guān)文章

  • JavaScript數(shù)據(jù)類型回顧

    摘要:一門語言可以使用的值的類型,稱為該語言的數(shù)據(jù)類型。中沒有為字符串定義特殊的數(shù)據(jù)類型。布爾類型表示值和值。輸出支持的布爾操作包括邏輯與邏輯或和邏輯非。在很多常見任務(wù)中,布爾操作對于檢驗(yàn)要求輸入的字符串非常有用。 1、標(biāo)識(shí)符(Names) 標(biāo)識(shí)符由一個(gè)字母、下劃線和美元符開頭,其后可以選擇性的加上一個(gè)或多個(gè)字母、數(shù)字或下劃線。標(biāo)識(shí)符不能使用下面這些保留字: abstract boolean...

    ralap 評論0 收藏0
  • JavaScript數(shù)據(jù)類型回顧

    摘要:一門語言可以使用的值的類型,稱為該語言的數(shù)據(jù)類型。中沒有為字符串定義特殊的數(shù)據(jù)類型。布爾類型表示值和值。輸出支持的布爾操作包括邏輯與邏輯或和邏輯非。在很多常見任務(wù)中,布爾操作對于檢驗(yàn)要求輸入的字符串非常有用。 1、標(biāo)識(shí)符(Names) 標(biāo)識(shí)符由一個(gè)字母、下劃線和美元符開頭,其后可以選擇性的加上一個(gè)或多個(gè)字母、數(shù)字或下劃線。標(biāo)識(shí)符不能使用下面這些保留字: abstract boolean...

    ideaa 評論0 收藏0
  • JavaScript回顧學(xué)習(xí):數(shù)據(jù)類型

    摘要:本篇文章將回顧學(xué)習(xí)種基本類型和及數(shù)據(jù)類型之間的轉(zhuǎn)化。如果不能,再調(diào)用對象的方法,再測試返回值是否可以被轉(zhuǎn)化為數(shù)值。首先可以用于任何數(shù)據(jù)類型,另外兩個(gè)則是專門用于把字符串轉(zhuǎn)換成數(shù)值。 概述 ECMAScript中有5中基本數(shù)據(jù)類型:Undefined,Null,Boolean,Number,String,還有一種復(fù)雜數(shù)據(jù)類型對象(Object),Object本質(zhì)上是由一組無序的名值對組成...

    youkede 評論0 收藏0
  • 基礎(chǔ)回顧javascript數(shù)據(jù)類型

    摘要:棧區(qū)由編譯器自動(dòng)分配釋放,存放函數(shù)的參數(shù)值,局部變量的值等。其操作方式類似于數(shù)據(jù)結(jié)構(gòu)中的棧。屬性返回對創(chuàng)建此對象的構(gòu)造函數(shù)的引用。所有的和都是宿主對象參考高級程序設(shè)計(jì)堆和棧的概念和區(qū)別全面解析中的數(shù)據(jù)類型與類型轉(zhuǎn)換 數(shù)據(jù)類型 數(shù)據(jù)類型劃分 javascript中定義了6中基本數(shù)據(jù)類型(原始值類型),和一種復(fù)雜數(shù)據(jù)類型(引用類型),所謂復(fù)雜類型,其本質(zhì)是由無序的名值對(key:val...

    codergarden 評論0 收藏0
  • javascript基礎(chǔ)篇小結(jié)

    摘要:表示尚未存在的對象是一個(gè)有特殊意義的值。可以為變量賦值為,此時(shí)變量的值為已知狀態(tài)不是,即。用來初始化變量,清除變量內(nèi)容,釋放內(nèi)存結(jié)果為但含義不同。且它倆與所有其他值比較的結(jié)果都是。,需要兩個(gè)操作數(shù)同時(shí)轉(zhuǎn)為。 轉(zhuǎn)載請聲明出處 博客原文 隨手翻閱以前的學(xué)習(xí)筆記,順便整理一下放在這里,方便自己復(fù)習(xí),也希望你有也有幫助吧 第一課時(shí) 入門基礎(chǔ) 知識(shí)點(diǎn): 操作系統(tǒng)就是個(gè)應(yīng)用程序 只要是應(yīng)用...

    hiyang 評論0 收藏0

發(fā)表評論

0條評論

cncoder

|高級講師

TA的文章

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