javascript權威指南-資料類型筆記

來源:互聯網
上載者:User

標籤:

 原始值與應用值

1.原始實值型別資料室不可變的 (改變原始實值型別資料, 返回的是一個新的對象)

var str0 = ‘test‘;var str1 = str.replace(‘t‘, ‘a‘);alert(str1);   // 輸出 ‘aest‘alert(str0);   // 輸出 ‘test‘

2.應用實值型別是可變的(他的值是可以修改的)

// 對象直接量var o = {x:1, y:2, z:3};console.log(o);     // 輸出 Object { x=1,  y=2,  z=3}o.z = 4;console.log(o);     // 輸出 Object { x=1,  y=2,  z=4}// 數組直接量var arr = [1, 2, 3];console.log(arr)     // 輸出 [1,2,3]arr[2] = 4;console.log(arr)     // 輸出[1, 2,4]
幾個知識點1.javascript是ECMAscript的實現,其組成部分有:

2. 原始類型與參考型別(以下是w3school的解釋很清晰)

  原始值: 儲存在棧(stack)中的簡單資料區段,也就是說,它們的值直接儲存在變數訪問的位置。

  引用值: 儲存在堆(heap)中的對象,也就是說,儲存在變數處的值是一個指標(point),指向儲存物件的記憶體處。

  

  (*在許多語言中,字串都被看作參考型別,而非原始類型,因為字串的長度是可變的。ECMAScript 打破了這一傳統。)

3.javascript變數聲明及範圍  

  1).js中變數聲明有如下幾種(分為 使用關鍵字var , 不使用關鍵字var)

//------------------------------------------//
// 分別用var聲明var a;var b; a = ‘hello‘; b = ‘world‘;// 單var聲明var a, b;// 單var 聲明並賦值var a = 1, b = 2, c;//------------------------------------------//// 不使用var聲明 g = ‘test‘; // 需要注意的是這種不用var聲明變數 直接賦值的方式, 在任何地方使用都會被視作全域對象的屬性, 可以使用delete刪除, 但是不推薦這種用法(EC5strict 模式下報錯)

  2).js中變數的範圍分為全域範圍()和局部範圍(由函數function構成)倆種

  

  (** js引擎執行時, 每進入一個範圍(環境), 會根據當前上下文, 建立一個針對該環境的內容物件,在這個階段,variableObject對象,範圍鏈,以及this所指向的對象都會被確定推薦閱讀)

4. 對象的比較,即使倆個對象包含同樣的屬性及同樣的值, 他們也是不相等的( 各個索引完全相等的兩個數組也不相等)

 對象的比較是引用的比較,若且唯若他們引用同一個對象時, 它們才相等

 (這個好比現實中 有姓名相同和年齡相同但是不是同一個人, 但是如果這個人還有個小名(其它引用)那麼這個小名和他的大名就都指他一個人了)

var o1 = {name:‘zhang‘, age:23};console.log(o1);          // 輸出Object { x=1,  y=1}var o2 = {name:‘zhang‘, age:23};console.log(o1);          // 輸出Object { x=1,  y=1}console.log( o1 === o2 );     // 輸出falsevar o3 = o1;console.log(o3);          // 輸出Object { x=1,  y=1}console.log( o3 === o1 );     // 輸出true

 

javascript權威指南-資料類型筆記

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.