久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

javascript中有幾種類型

有9種數據類型:1、字符串類型,是一段以引號包裹起來的文本;2、數值類型,用來定義數值;3、布爾類型,只有兩個值;4、Null類型,表示一個“空”值,即不存在任何值;5、Undefined類型,表示未定義;6、Symbol類型,表示獨一無二的值;7、對象類型,是一組由鍵、值組成的無序集合;8、數組類型,是一組按順序排列的數據的集合;9、函數類型,是一段具有特定功能的代碼塊。

javascript中有幾種類型

前端(vue)入門到精通課程:進入學習
API 文檔、設計、調試、自動化測試一體化協作工具:點擊使用

本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

數據類型指的是可以在程序中存儲和操作的值的類型,每種編程語言都有其支持的數據類型,不同的數據類型用來存儲不同的數據,例如文本、數值、圖像等。

JavaScript 是一種動態類型的語言,在定義變量時不需要提前指定變量的類型,變量的類型是在程序運行過程中由 JavaScript 引擎動態決定的,另外,您可以使用同一個變量來存儲不同類型的數據,例如:

var a;  // 此時 a 為 Undefined a = "http://c.biancheng.net/"; // 此時 a 為 String 類型 a = 123;  // 此時 a 為 Number 類型
登錄后復制

JavaScript 中的數據類型可以分為兩種類型:

  • 基本數據類型(值類型):字符串(String)、數字(Number)、布爾(Boolean)、空(Null)、未定義(Undefined)、Symbol;

  • 引用數據類型:對象(Object)、數組(Array)、函數(Function)。

提示:Symbol 是 ECMAScript6 中引入的一種新的數據類型,表示獨一無二的值。

1、String 類型

字符串(String)類型是一段以單引號''或雙引號""包裹起來的文本,例如 '123'、"abc"。需要注意的是,單引號和雙引號是定義字符串的不同方式,并不是字符串的一部分。

2、Number 類型

數值(Number)類型用來定義數值,JavaScript 中不區分整數和小數(浮點數),統一使用 Number 類型表示

注意:Number 類型所能定義的數值并不是無限的,JavaScript 中的 Number 類型只能表示 -(2∧53 – 1) 到 (2∧53 -1) 之間的數值。

3、Boolean 類型

布爾(Boolean)類型只有兩個值,true(真)或者 false(假),在做條件判斷時使用的比較多,您除了可以直接使用 true 或 false 來定義布爾類型的變量外,還可以通過一些表達式來得到布爾類型的值

4、Null 類型

Null 是一個只有一個值的特殊數據類型,表示一個“空”值,即不存在任何值,什么都沒有,用來定義空對象指針。

使用 typeof 操作符來查看 Null 的類型,會發現 Null 的類型為 Object,說明 Null 其實使用屬于 Object(對象)的一個特殊值。因此通過將變量賦值為 Null 我們可以創建一個空的對象。

5、Undefined 類型

Undefined 也是一個只有一個值的特殊數據類型,表示未定義。當我們聲明一個變量但未給變量賦值時,這個變量的默認值就是 Undefined。

6、Symbol 類型

Symbol 是 ECMAScript6 中引入的一種新的數據類型,表示獨一無二的值。

Symbol值通過Symbol函數生成。對象的屬性名可以有兩種類型,一種是原來就有的字符串,另一種就是新增的 Symbol 類型。屬性名屬于 Symbol 類型的,都是獨一無二的,可以保證不會與其他屬性名產生沖突。

let s1=Symbol() let s2=Symbol() console.log(s1) //Symbol() console.log(s2) //Symbol() console.log(s1===s2) //false  //Symbol函數能接受字符串作為參數,表示對Symbol實例的描述 let s1=Symbol('xxx') let s2=Symbol('hhh') console.log(s1) //Symbol(xxx) console.log(s2) //Symbol(hhh) console.log(s1===s2) //false復制代碼
登錄后復制

Symbol函數前不能使用new命令,會報錯。這是因為生成的 Symbol 是一個原始類型的值,不是對象。也就是說,由于 Symbol 值不是對象,所以不能添加屬性。相當于是一種特殊的字符串。

應用場景

  • 作為屬性名

由于 Symbol 值都是不相等的,這意味著 Symbol 值可以作為標識符,用在對象的屬性名,就能保證不會出現同名的屬性。這對于一個對象由多個模塊構成的情況非常有用,防止某一個鍵被不小心改寫或覆蓋。

const grade={     張三:{address:'qqq',tel:'111'},     李四:{address:'aaa',tel:'222'},     李四:{address:'sss',tel:'333'}, } console.log(grade) //張三: {address: "qqq", tel: "111"} 李四: {address: "sss", tel: "333"} //對象的key值不能重復 如果有重復 后面的value值就會覆蓋前面的   //使用Symbol解決,相當于一個獨一無二的字符串 const stu1=Symbol('李四') const stu2=Symbol('李四') console.log(stu1===stu2) //false const grade={     [stu1]:{address:'aaa',tel:'222'},     [stu2]:{address:'sss',tel:'333'}, } console.log(grade) //李四:{address:'sss',tel:'222'} 李四:{address:'sss',tel:'333'} console.log(grade[stu1]) //李四:{address:'sss',tel:'222'} console.log(grade[stu2]) //李四:{address:'sss',tel:'333'}
登錄后復制

  • 屬性遍歷

const sym=Symbol('imooc') class User{     constructor(name){         this.name=name         this[sym]='imooc.com'     }     getName(){         return this.name+this[sym]     } } const user=new User('www')  //for in的方法不能遍歷到Symbol屬性 像被隱藏了 for(let key in user){     console.log(key)//name  }  //Object.keys(obj)方法也不能遍歷到Symbol屬性 for(let key of Object.keys(user)){     console.log(key)//name  }  //Object.getOwnPropertySymbols(obj)只能獲取到Symbol屬性 for(let key of Object.getOwnPropertySymbols(user)){     console.log(key)//Symbol(imooc)  }  //Reflect.ownKeys(obj)對象的屬性都能獲取到 for(let key of Reflect.ownKeys(user)){     console.log(key)     //name      //Symbol(imooc)  }
登錄后復制

  • 消除魔術字符串

魔術字符串指的是,在代碼中多次出現、與代碼形成強耦合的某一個具體的字符串或者數值。風格良好的代碼,應該盡量消除魔術字符串,改成一些含義清晰的變量代替。

function getArea(shape) {     let area = 0     switch (shape) {         case 'Triangle':             area = 1             break         case 'Circle':             area = 2             break     }     return area } console.log(getArea('Triangle')) //Triangle和Circle就是魔術字符串。多次出現,與代碼形成了“強耦合”,不利于后面的修改和維護。  const shapeType = {     triangle: Symbol(),     circle: Symbol() }  function getArea(shape) {     let area = 0     switch (shape) {         case shapeType.triangle:             area = 1             break         case shapeType.circle:             area = 2             break     }     return area } console.log(getArea(shapeType.triangle))
登錄后復制

7、Object 類型

Object數據類型,稱為對象,是一組由鍵、值組成的無序集合??梢杂胣ew操作符后跟要創建的對象類型的名稱來創建。也可以用字面量表示法創建。在其中添加不同名(包含空字符串在內的任意字符串)的屬性。

1)構造對象

使用 new 運算符調用構造函數,可以構造一個實例對象。具體用法如下:

var objectName = new functionName(args);
登錄后復制

參數說明如下:

  • objectName:返回的實例對象。

  • functionName:構造函數,與普通函數基本相同,但是不需要 return 返回值,返回實例對象,在函數內可以使用 this 預先訪問。

  • args:實例對象初始化配置參數列表。

示例

下面示例使用不同類型的構造函數定義各種實例。

var o = new Object(); //定義一個空對象

var a = new Array(); //定義一個空數組

var f = new Function(); //定義一個空函數

2)對象直接量

使用直接量可以快速創建對象,也是最高效、最簡便的方法。具體用法如下:

var objectName = {     屬性名1 : 屬性值1,     屬性名2 : 屬性值2,     ...     屬性名n : 屬性值n };
登錄后復制

在對象直接量中,屬性名與屬性值之間通過冒號進行分隔,屬性值可以是任意類型的數據,屬性名可以是 JavaScript 標識符,或者是字符串型表達式。屬性于屬性之間通過逗號進行分隔,最后一個屬性末尾不需要逗號。

在 JavaScript 中,對象類型的鍵都是字符串類型的,值則可以是任意數據類型。要獲取對象中的某個值,可以使用對象名.鍵的形式,如下例所示:

var person = {     name: 'Bob',     age: 20,     tags: ['js', 'web', 'mobile'],     city: 'Beijing',     hasCar: true,     zipcode: null }; console.log(person.name);       // 輸出 Bob console.log(person.age);        // 輸出 20
登錄后復制

8、Array 類型

數組(Array)是一組按順序排列的數據的集合,數組中的每個值都稱為元素(Element),每個元素的名稱(鍵)被稱為數組下標(Index)。數組的長度是彈性的、可讀寫的。

數組中可以包含任意類型的數據。

在 JavaScript 中定義(創建或者聲明)數組的方法有兩種:構造數組和數組直接量。

1)構造數組

使用 new 運算符調用 Array() 類型函數時,可以構造一個新數組。

示例:

  • 直接調用 Array() 函數,不傳遞參數,可以創建一個空數組。

var a = new Array();  //空數組
登錄后復制

  • 傳遞多個值,可以創建一個實數組。

var a = new Array(1, true, "string", [1,2], {x:1,y:2});  //實數組
登錄后復制

每個參數指定一個元素的值,值得類型沒有限制。參數的順序也是數組元素的順序,數組的 length 屬性值等于所傳遞參數的個數。

  • 傳遞一個數值參數,可以定義數組的長度,即包含元素的個數。

var a = new Array(5);  //指定長度的數組
登錄后復制

參數值等于數組 length 的屬性值,每個元素的值默認值為 undefined。

  • 如果傳遞一個參數,值為 1,則 JavaScript 將定義一個長度為 1 的數組,而不是包含一個元素,其值為 1 的數組。

var a = new Array(1); console.log(a[0]);
登錄后復制

2)數組直接量

數組直接量的語法格式:在中括號中包含多個值列表,值之間用逗號分隔。

下面代碼使用數組直接量定義數組。

var a = [];  //空數組 var a = [1, true, "0", [1,0], {x:1,y:0}];  //包含具體元素的數組
登錄后復制

推薦使用數組直接量定義數組,因為數組直接量是定義數組最簡便、最高效的方法。

9、Function 類型

函數(Function)是一段具有特定功能的代碼塊,函數并不會自動運行,需要通過函數名調用才能運行,如下例所示:

function sayHello(name){     return "Hello, " + name; } var res = sayHello("Peter"); console.log(res);  // 輸出 Hello, Peter
登錄后復制

此外,函數還可以存儲在變量、對象、數組中,而且函數還可以作為參數傳遞給其它函數,或則從其它函數返回,如下例所示:

var fun = function(){     console.log("http://c.biancheng.net/js/"); } function createGreeting(name){     return "Hello, " + name; } function displayGreeting(greetingFunction, userName){     return greetingFunction(userName); } var result = displayGreeting(createGreeting, "Peter"); console.log(result);  // 輸出 Hello, Peter
登錄后復制

【推薦學習:javascript高級教程】

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
蜜臀va亚洲va欧美va天堂| 尤物网精品视频| 精品欧美久久| 国产精品成人**免费视频 | 伊人久久亚洲美女图片| 日韩av首页| 日本不良网站在线观看| 另类小说一区二区三区| 日韩精品一级| 欧美亚洲在线日韩| 久久精品影视| 欧美亚洲自偷自偷| 91欧美极品| 日韩激情一区二区| 亚洲2区在线| 99久久99久久精品国产片果冰 | 亚洲女同中文字幕| 色88888久久久久久影院| 欧美精品资源| 欧美韩一区二区| 久久国产生活片100| 亚洲一区二区免费看| 1024精品久久久久久久久| 国产中文字幕一区二区三区| 国产精品嫩模av在线| 国产精品永久| 欧美偷窥清纯综合图区| 亚洲理论在线| 亚洲伊人精品酒店| 日韩精品a在线观看91| 日韩成人午夜精品| 国产欧美日本| 国产精品sss在线观看av| 欧美a在线观看| 福利一区视频| 99视频精品全国免费| 午夜久久免费观看| 免费看的黄色欧美网站| 国产亚洲精品久久久久婷婷瑜伽| 亚洲专区一区| 日韩高清电影一区| 亚洲日本网址| 日本va欧美va欧美va精品| 中文字幕在线看片| 亚洲免费毛片| 欧美精品资源| 久久激情av| 国产精品7m凸凹视频分类| 欧美日韩1区2区3区| 久久免费黄色| 欧美日韩一视频区二区| 久久亚洲国产| 欧美国产日本| 午夜国产精品视频| 久久99国产精品视频| 蜜桃视频免费观看一区| 国产h片在线观看| 日韩一区二区三区在线看| 天堂中文av在线资源库| 欧美亚洲一级| 亚洲精品1区| 国产一区二区三区精品在线观看| 先锋影音久久久| 国产一区二区三区网| 亚洲区第一页| 激情五月综合| 国产中文欧美日韩在线| 久久成人国产| 国产成人精品999在线观看| 蜜桃久久av一区| 精品丝袜在线| 国产欧美一区二区色老头| 蜜臀av免费一区二区三区| 国产精品视频一区二区三区综合| 樱桃成人精品视频在线播放| 麻豆精品久久| 日韩精品福利一区二区三区| 亚洲天堂黄色| xxxxx性欧美特大| 国产精品欧美一区二区三区不卡| 亚洲一区不卡| 久久久精品五月天| 精品网站999| 一区二区国产在线观看| 麻豆成全视频免费观看在线看| 欧美日韩亚洲一区在线观看| 国产精品美女| 午夜精品一区二区三区国产| 日韩电影在线视频| 久久97久久97精品免视看秋霞| 天堂精品久久久久| 视频一区二区国产| 99国产精品自拍| 国产精品久久久久久久久久10秀| 国产亚洲欧美日韩精品一区二区三区 | 蜜桃一区二区三区在线| 久久男女视频| 国产夫妻在线| 久久97视频| 国产精品一区二区精品视频观看 | 亚洲美女久久| 亚洲一区欧美二区| 久久国产欧美| 乱一区二区av| 欧美成a人片免费观看久久五月天| 97久久亚洲| 日韩美女精品| 日韩综合一区二区三区| 只有精品亚洲| 三级欧美韩日大片在线看| 夜夜嗨网站十八久久| 在线视频精品| 日韩一级不卡| 石原莉奈在线亚洲三区| 亚洲激情偷拍| 久久国产精品久久w女人spa| 国产麻豆综合| 视频在线在亚洲| 国产精品日韩久久久| 久久av在线| 亚洲精品自拍| 欧美日韩精品一区二区三区视频| 日本视频一区二区| 国产欧美88| 久久av综合| 国产精品99一区二区三区| 精品久久久中文字幕| 精品视频高潮| 日韩中文在线电影| 欧美日韩精品一区二区视频| 欧美va天堂| 热久久国产精品| 91欧美精品| 国产精品一区二区三区四区在线观看| 国产精品国产三级在线观看| 国产一区二区三区探花| 黑森林国产精品av| 欧美日中文字幕| 麻豆亚洲精品| 日本麻豆一区二区三区视频| 国产精品手机在线播放| 久久精品二区亚洲w码| 岛国av免费在线观看| 成人精品天堂一区二区三区| 欧美在线亚洲| 亚洲精品免费观看| 国产精品网在线观看| 91青青国产在线观看精品| 中文字幕在线高清| 美女毛片一区二区三区四区 | 99日韩精品| 日本麻豆一区二区三区视频| 久久99影视| 另类中文字幕国产精品| 中文一区二区| 国产一卡不卡| 日韩黄色大片| 首页国产欧美日韩丝袜| 国产精品密蕾丝视频下载| 日韩精品永久网址| 石原莉奈一区二区三区在线观看| 国产欧美日韩一级| av资源新版天堂在线| 国产精品婷婷| 国产欧美一区二区精品久久久 | 亚洲资源网站| 老色鬼精品视频在线观看播放| 电影亚洲精品噜噜在线观看| 视频在线观看一区| 久久99影视| 日韩视频久久| 777久久精品| 欧产日产国产精品视频| 亚洲一区二区三区中文字幕在线观看| 国产日韩一区二区三区在线 | 婷婷激情综合| 国产精品一线天粉嫩av| 久久精品免费一区二区三区 | 精品国产乱码久久久久久1区2匹| 性感美女一区二区在线观看| 在线精品视频一区| 国产一区2区在线观看| 99热精品在线观看| 牛牛精品成人免费视频| 亚洲激情久久| 久久精品一区| 麻豆久久精品| 日韩欧美精品综合| 欧美日韩亚洲一区二区三区在线| 99久久精品国产亚洲精品| 国产欧美一区二区色老头| 国产精品97| 精品一区二区三区亚洲| 视频一区二区欧美| 日韩电影免费在线观看| 国产丝袜一区| 日韩制服丝袜先锋影音| 精品国产乱码| 亚洲精品免费观看| 国产精品av一区二区|