摘要:基本類型存放在棧中,其大小確定,內存空間自動分配。我們無法直接訪問和操作堆中的數據,只能通過一個指針間接的對引用類型的數據進行操作。
這篇文章主要 解決的問題 為: js的基本類型有那些?引用類型有哪些? 基本類型和引用類型有什么區別?null和undefined的區別? 哪一個存在堆上面,哪一個存在棧上面。
JavaScript有5種基本類型:
undefined null boolean string number 五種按值訪問的類型
var a; // undefined表示變量聲明了,卻沒有賦值 var a=null; // null表示空值 var a="字符串"; // string字符串 var a=false; // boolean布爾值包括true,false var a=1; // number,可以是整數和小數 var a=NaN // 非數字
4種引用類型:
Object Array Data RegExp
var a=[1,2,3]; // Array var a=new Date(); // Date var a={}; // Object
Null和Undefined的區別:
null :
是一個空對象,同時也是js保留的關鍵字,用來定義一個空值。
在數值運算中自動轉化為0,轉為Boolean時為false。
typeof null; "object"
undefined :
是全局對象的一個特殊屬性,代表一個未確定的值
變量被聲明的但未賦值的時候為undefined;函數沒有返回值時,返回undefined
參與運算的時候,結果為NAN,轉為Boolean時為false
"undefined" in window ture
哪一個存在棧上?哪一個存在堆上?
簡單的說一下:
棧 會自動分配內存空間,由系統自動釋放。
堆 時動態分配的內存,大小不確定,不會自動釋放,而且不允許直接訪問。
基本類型: 存放在棧中,其大小確定,內存空間自動分配。
引用類型: 存放在堆中,如數組等,它們大小不確定,不固定。
舉個栗子
var a = 1; var b = 2; var obj = { name = "holy" };
我們來看一下在內存中是如何存儲的
可以看到基本類型 a 和 b 變量名和相應的值都是存儲在 棧 中的,而引用類型 obj 在棧中存儲的是一個地址,這個地址指向 堆 中的一個位置,該位置存放的就是obj實際的值 { name = "holy" }。我們無法直接訪問和操作堆中的數據,只能通過一個指針間接的對引用類型的數據進行操作。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/110097.html
摘要:被識別為結束符。變量時被認為時有名字的容器。常量一旦被聲明初始化,值并不能被改變。字符串可以看成右字符組成的數組,可能被誤認為可變的。表達式沒有顯示的返回任何內容。 Java script 簡介 Javascript 是一門跨平臺,面向對象的輕量級腳本語言,運行于Javascript解釋權/引擎 avascript內置了一個包含一系列對象的標準庫,比如數組,日期,數字和一個語言元素合...
摘要:以和為例,說明中的數字數據如何轉換為二進制數據。對象用來表示通用的固定長度的原始二進制數據緩沖區。中的數字數據如何轉換為二進制數據對和有了一個大概的了解,下面讓我們來看下它是如何進行二進制數據操作的。 概述 本文主要通過對JavaScript中數字數據與二進制數據之間的轉換,讓讀者能夠了解在JavaScript中如何對數字類型(包括但不限于Number類型)進行處理。 二進制數據在日常...
摘要:變量與常量變量定義變量是存儲數據信息的容器。中,變量是弱類型,也被稱為松散類型。三類型布爾類型只有兩個值均為小寫如果大寫活著大小寫混合,識別為另一個變量名稱。 JavaScript簡介 JavaScript是一門跨平臺、面向對象的輕量級腳本語言,運行于JavaScript解釋器或者引擎中。JavaScript中,包括三個主要的部分1.核心語法內容(ECMAScript)2.文檔對象模型...
摘要:解釋一行,執行一行這也意味著你可以使用同一個變量保存不同類型的數據二數據類型最新的標準定義了種數據類型種原型數據類型布爾值,和一個表明值的特殊關鍵字。我們稱這些類型的值為原始值四布爾值布爾值數據類型只能有兩個值,它們是文本和。 一、動態類型 JavaScript 是一種弱類型或者說動態語言。這意味著你不用提前聲明變量的類型,在程序運行過程中,類型會被自動確定。(解釋一行,執行一行)這也...
摘要:通常一個完成的不僅僅包含了還包括了以及相關版本該版本在中使用。基于原型函數先行的語言使用基于原型的的繼承機制,函數是的第一等公民其他相關的語言特性編譯型語言把做好的源程序全部編譯成二進制代碼的可運行程序。 轉載請注明出處,創作不易,更多文章請戳 https://github.com/ZhengMaste... 前言:JavaScript誕生于1995年,它是一門腳本語言,起初的目...
摘要:字符串類型的字符串類型用于表示文本數據。例如,使用一個分隔符,一個可以模仿一個列表一個的數組可能更適合一些。不幸的是,當一個分隔符在用于列表中的元素時,打亂了這個列表。屬性的值可以是任意類型,包括具有復雜數據結構的對象。 編程語言都具有內建的數據結構,但各種編程語言的數據結構常有不同之處。本文試圖列出 JavaScript 語言中內建的數據結構及其屬性,它們可以用來構建其他的數據結構;...
閱讀 1259·2021-09-22 15:18
閱讀 2588·2021-09-22 15:17
閱讀 2216·2019-08-30 15:55
閱讀 1566·2019-08-30 15:54
閱讀 1032·2019-08-30 13:12
閱讀 618·2019-08-30 13:12
閱讀 1672·2019-08-29 11:33
閱讀 1433·2019-08-26 17:04