首頁  >  文章  >  web前端  >  javascript有哪幾種資料類型

javascript有哪幾種資料類型

青灯夜游
青灯夜游原創
2021-03-30 16:12:0534164瀏覽

javascript有9種資料類型,分別為:字串(String)、數字(Number)、布林(Boolean)、Null、Undefined、Symbol、物件(Object)、陣列(Array)、函數( Function)。

javascript有哪幾種資料類型

本教學操作環境:windows7系統、ECMAScript 5版、Dell G3電腦。

JavaScript資料型別:

JavaScript語言的每一個值,都屬於某一種資料型態。 JavaScript的資料型別,共有9種:

  • 值型別(基本型別):字串(String)、數字(Number)、布林(Boolean)、空(Null)、未定義(Undefined)、Symbol。

  • 引用資料型態:物件(Object)、陣列(Array)、函數(Function)。

註:Symbol 是 ES6 引入了新的原始資料類型,表示獨一無二的值。

1、Undefined:Undefined型別只有一個值,即特殊值undefined。在使用var宣告變量,但未對其加以初始化時,這個變數值就是undefined。

2、Null:Null類型是第二個只有一個值的資料型別。其特殊值就是Nul​​l。從邏輯角度來看,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陣列的大小可以動態調整,可在陣列中新增元素或刪除元素;

【推薦學習:js基礎教學

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有哪幾種資料類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn