引用類型

来源:https://www.cnblogs.com/coco-bear/archive/2018/01/07/8228419.html
-Advertisement-
Play Games

1. Object類型 創建對象的方式 1) 構造函數方式 var obj = new Object(); // Object為構造函數 2)字面量方式 var obj = {} 2. Array類型 ECMAscript數組的每一項可以保存任何類型的數據 創建數組的方式 1)var color = ...


1. Object類型

  創建對象的方式

  1) 構造函數方式   var obj = new Object();   // Object為構造函數

  2)字面量方式  var obj = {}

2. Array類型

    ECMAscript數組的每一項可以保存任何類型的數據

  創建數組的方式

  1)var color = new Array();

  如果預先知道數組要保存的項目數量,可以給構造函數傳遞改數量,該數量會自動變成length屬性的值

  var arr = new Array(20);

  也可以向構造函數中傳遞數組中應該包含的項

  var arr = new Array('xhk', 'coco', 'lover');

  如果給構造函數傳遞一個值

  這個值是數字, 創建包含給定項數的數組,

  這個值是其他類型參數,創建包含這個值只有一項的數組

  使用Array構造函數的時候可以省略new操作符

  var arr = Array(3);

  2) 數組字面量 var arr = [];

  檢測數組

  instanceof Array

  棧方法(後進先出)

  push(): 接受任意數量的參數,把他們逐個添加到數組末尾,並返回修改後的數組的長度。

  pop(): 從數組末尾移除最後一項,減少數組的長度,並返回被移除的項。

  隊列方法(先進先出)

  隊列在列表的末端添加項,從列表的前端移除項。

  shift(): 從數組前端移除項,並返回該項。

  unshift(): 在數組前端添加任意個項並返回新數組的長度。

  

  重排序方法:reverse()  sort()

  reverse(): 反轉數組項的順序, 返回重新排序後的數組。

  sort(): 預設按升序排列數組項,小到大,為了實現排序sort()方法會調用每個數組項的toString()轉型方法,然後比較得到字元串,以確定如何排序,即使數組中的每一   項都是數值,sort()方法比較的也是字元串。返回重新排序後的數組。

  var arr = [0, 1, 5, 15, 20];  // [0, 1, 15, 20, 5]

  操作方法

  concat(): 先創建一個當前數組的副本,然後將接收到的參數追加到這個副本的末尾,返回新構建的數組。如果傳遞給concat()方法的是一個或多個數組,該方法會將這   些數組中的每一項都添加到結果數組中。原數組不變。

  slice(): 基於當前數組的一個或多個項創建一個新數組。接受一個或兩個參數,參數一:返回項的起始位置;參數二:返回項的結束位置;

  不會影響原始數組

  如果只有一個參數,則返回從該參數指定位置到數組末尾的所有項。

  如果兩個參數,返回起始和結束位置之間的項, 不包含結束位置的項。

  如果slice()方法的參數中有一個是負數,則用數組長度加上該數來確定相應的位置,eg: arr.length = 5; slice(-2, -1); 實際上應該返回slice(3, 4)這一段新數組;

  splice(): 向數組中部插入項。返回包含從原始數組中刪除的項。如果沒有刪除任何項,則返回一個空數組。

  1)刪除:刪除任意數量的項:返回被刪除的項;兩個參數,參數一,要刪除的第一項的位置,參數二,要刪除的項數。

  2)插入:指定位置插入任意數量的項,參數一,起始位置;參數二,0(要刪除的項數);參數三,要插入的項

  3) 替換:向指定位置插入任意數量的項,且同時刪除任意數量的項。參數一,起始位置;參數二,要刪除的項數;參數三,要插入的任意數量項。

  位置方法

  indexOf(): 參數:參數一,要查找的項,參數二,(可選)表示查找起點位置的索引;從數組的二開頭向後開始查找, 返回查找的項在數組中的位置

  lastIndexOf():參數:參數一,要查找的項,參數二,(可選)表示查找起點位置的索引;從數組的末尾開始向前查找,返回查找的項在數組中的位置

  迭代方法

  每個方法都接受兩個參數,參數一,在每一項上運行的函數,參數二,(可選),運行該函數的作用域對象——影響this的值

  every(): 對數組中的每一項運行給定的函數,如果該函數的每一項都返回true,則返回true;

  filter(): 對數組中的每一項運行給定的函數,返回該函數會返回true的項組成的數組;查詢符合某些條件的所有數組項有用。

  forEach(): 對數組中的每一項運行給定的函數,沒有返回值。
  map():對數組中的每一項運行給定的函數,返回每次函數調用的結果組成的數組。適合創建包含的項與另一個數組一一對應的數組。

  some():對數組中的每一項運行給定的函數,如果該函數對任一項返回true,則返回true。

  歸併方法

  都是兩個參數,參數一,在每一項上調用的函數;參數二,(可選),作為歸併基礎的初始值。第一次迭代發生在數組的第二項。

  reduce(), reduceRight():接受四個參數,參數一,前一個值;參數二,當前值;參數三,項的索引;參數四,數組對象。函數返回的任何值都會作為第一個參數傳  給下一項。

  reduce():從數組的第一項開始,逐項遍歷到最後,

  reduceRight():從數組的第一項開始,逐個遍歷到最後。

 

  Date類型

  var date = new Date();

  Date.parse():根據字元串參數返回相應的日期毫秒數;

  Date.now(): 返回調用這個函數時的日期和時間的毫秒數;

  var start = +new Date();   // 使用+操作符獲取Date對象的時間戳;

 

  RegExp類型

  var pattern = new RegExp('匹配的字元串模式', '可選的標誌字元串');

  

  RegExp實例方法

  exec(要應用模式的字元串):專門為捕獲而設計,返回包含第一個匹配項信息的數組,沒有匹配項的情況下返回null;

  test(字元串參數):在模式與改參數匹配的情況下返回true,否則返回false。是否匹配,不需要知道內容的情況下使用。

  

 

  

  

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、相容情況 說到ECMAScript6,順便提一下ECMAScript5,先看一下ES5的相容情況。ES5瀏覽器支持情況: Opera 11.60;Internet Explorer 9*;Firefox 4;Safari 5.1**;Chrome 13* IE9不支持嚴格模式 — IE10 添加 ...
  • 【獲得成就-十五篇博文打卡】 很開心不知不覺開通博客已經半個月了,雖然中間有兩天斷了,但是好歹沒放棄,一直在堅持,其實最難的事情還是堅持寫博客啊…… 今天狀態其實比昨天好些了,起碼晚上有足夠的時間寫代碼了,昨天那個sort的次數問題,今天也百度了很久,問了一些人,但是都還是沒弄懂,想了想就算了吧,要 ...
  • 寫在前面 其實網路上已經有許多關於如何美化博客園個人站點的文章,而我卻忍不住總是想寫點什麼。主要是因為我之前在如何選擇和美化博客園個人站點這個問題上走了許多彎路,一開始徘徊於如何選擇一個好看的模板,後來又在調整模板樣式上總覺得不盡如意。直到有一天,我看見了一片博客園的文章,頓時覺得其版權大氣而簡潔, ...
  • Javascipt數組 在Javascript中數組的做用是:使用單獨的變數名來儲存一系列的值。 數組只有一個屬性,就是length,length表示的數組所占記憶體空間的數目。 1.創建數組 創建數組方法1: 創建數組方法2: 2.數組合併 數組合併方法1: 數組合併方法2: 3.把數組合成字元串 ...
  • Javascript流程式控制制 1.條件語句 (1)if(exp)執行一句代碼 (2)if(exp){執行代碼段;} (3)if(exp){exp為true執行代碼段}else{exp為false執行的代碼段} (4)if...else if... (5)if嵌套 2.迴圈語句 (1)for 迴圈 ( ...
  • Koa 是由 Express 原班人馬打造的超輕量服務端框架 與 Express 相比,除了自由度更高,可以自行引入中間件之外,更重要的是使用了 ES6 + async,從而避免了回調地獄 不過也是因為代碼升級,所以 Koa2 需要 v7.60 以上的 node.js 環境 一、創建項目 手動創建一 ...
  • Javascript變數 javascript變數是什麼呢?javascript變數就是用來儲存數據的一個容器。 1.javascript變數應該註意什麼? (1)變數必須以字母開頭 (2)變數也能以 $ 和 _ 符號開頭,但是我們不推薦這麼做 (3)變數名稱對大小寫敏感。Y 和 y 是不同的變數 ...
  • 說起css佈局,那麼一定得聊聊盒模型,清除浮動,position,display什麼的,但本篇本不是講這些基礎知識的,而是給出各種佈局的解決方案。 水平居中佈局 首先我們來看看水平居中 1.margin + 定寬 相必是個前端都見過,這定寬的水平居中,我們還可以用下麵這種來實現不定寬的 2. tab ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...