您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關javascript有多少種數據類型,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
javascript有9種數據類型,分別為:字符串(String)、數字(Number)、布爾(Boolean)、Null、Undefined、Symbol、對象(Object)、數組(Array)、函數(Function)。
JavaScript數據類型:
JavaScript語言的每一個值,都屬于某一種數據類型。JavaScript的數據類型,共有9種:
值類型(基本類型):字符串(String)、數字(Number)、布爾(Boolean)、空(Null)、未定義(Undefined)、Symbol。
引用數據類型:對象(Object)、數組(Array)、函數(Function)。
注:Symbol 是 ES6 引入了一種新的原始數據類型,表示獨一無二的值。
1、Undefined:Undefined類型只有一個值,即特殊值undefined。在使用var聲明變量,但未對其加以初始化時,這個變量值就是undefined。
2、Null:Null類型是第二個只有一個值的數據類型。其特殊值就是Null。從邏輯角度上看,null是一個空的對象指針。而這也正是使用typeof操作符檢測null值,會返回“object”的原因。
3、Boolean:即布爾類型,該類型有兩個值:true
false。需要注意的是,Boolean類型的字面值true和false是區分大小寫的。也就是說,True和False(以及其它的混合大小形式)都不是Boolean值,只是標識符。
4、Number:該類型的表示方法有兩種形式,第一種是整數,第二種為浮點數。整數:可以通過十進制,八進制,十六進制的字面值來表示。浮點數:就是該數值中必須包含一個小數點,且小數點后必須有一位數字。
5、String:String類型用于表示由零或多個16位的Unicode字符組成的字符序列,即字符串。至于用單引號,還是雙引號,在js中還是沒有差別的。記得成對出現。
6、Symbol類型
符號 (Symbols) 是 ECMAScript 第 6 版新定義的。符號類型是唯一的并且是不可修改的
var s = Symbol()
Symbol 函數前不能使用 new 命令,否則會報錯。這是因為生成的 Symbol 是一個原始類型的值,不是對象
Symbol 函數可以接受一個字符串作為參數,表示對 Symbol 實例的描述
7、Object:Object數據類型,稱為對象,是一組數據和功能(函數)的集合。可以用new操作符后跟要創建的對象類型的名稱來創建。也可以用字面量表示法創建。在其中添加不同名(包含空字符串在內的任意字符串)的屬性。
8、Array
JavaScript 數組用方括號書寫。數組的項目由逗號分隔。
下面的代碼聲明(創建)了名為 cars 的數組,包含三個項目(汽車品牌):
var cars = ["Porsche", "Volvo", "BMW"];
數組索引基于零,這意味著第一個項目是 [0],第二個項目是 [1],以此類推。
ECMAScript中的數組和其他語言的數組有著相當大的區別:
ECMAScript 數組的每一項可以保存任何類型的數據;
ECMAScript數組的大小可以動態調整,可向數組添加元素或者刪除元素;
9、Function
ECMAScript中的函數是對象,與其他引用類型一樣具有屬性和方法。因此,函數名實際是一個指向函數對象的指針。
1)、函數聲明
function sum(num1,num2){ return num1+num2; }//函數聲明 var sum = function(num1,num2){ return num1+num2; }; //函數表達式 這里的分號很重要
2)、沒有重載
function addSomeNumber(num){ return num + 100; } function addSomeNumber(num){ return num + 200; } var result = addSomeNumber(100); //300
創建第二個函數時覆蓋了引用第一個函數的變量addSomeNumber。
3)、函數聲明與函數表達式
alert (sum(10,10)); function sum(num1,num2){ return num1+num2; }
這樣的代碼可以正常執行。代碼開始執行前,解析器會率先讀取函數聲明并將其添加到執行環境中,對代碼求值前,JS引擎在第一遍會聲明函數并將它們放到源代碼樹的頂部。但改為函數表達式就會出錯。
4)、作為值的函數
像傳遞參數一樣把一個函數傳遞給另一個函數
function callSomeFunction(someFunction,someArgument){ return someFunction(someArgument); } function add10(num){ return num+10; } var result1 = callSomeFunction(add10,10); alert(result1); //20 function getGreeting(name){ return "Hello"+name; } var result2 = callSomeFunction(getGreeting,"Mike"); alert(result2); //Hello Mike //callSomeFunction是通用的,函數作為第一個參數傳遞進去,返回執行第一個參數后的結果
從一個函數中返回另一個函數
function createComparisonFunction(propertyName){ return function(object1,object2){ var value1 = object1[propertyName]; var value2 = object2[propertyName]; if(value1<value2){ return -1; }else if(value1>value2){ return 1; }else{ return 0; } } } var date = [{name:"Mike", age:28},{name:"Amy", age:29}];//創建包含兩個對象的數組 date.sort(creatComparisonFunction("name")); alert(date[0].name);//Amy date.sort(creatComparisonFunction("age")); alert(date[0].name);//Mike
關于“javascript有多少種數據類型”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。