引用型別
引用類型是一種資料結構,用於將資料和功能組織在一起。它也常被稱為類,但這種稱呼並不妥當。儘管 ECMAScript從技術上講是一門物件導向的語言,但它不具備傳統的物件導向語言所支援的類別和介面等基本結構。引用型別有時也被稱為物件定義,因為它們描述的是一類物件所具有的屬性和方法。
前面提到過,引用類型的值便是對象,在ECMAScript中,引用類型是一種資料結構,用於將資料和功能組織在一起,而對象則是某個特定引用類型的實例。
var a=new Object();
上面便宣告了一個引用型別為Object的實例,並將這個實例儲存到變數a中,也就是說這個變數實際上並不是包含了這個實例本身,而是指向這個實例的指標。
對於Object類型,常用物件字面量表示法來建立實例 既var a={name:"Nick",age:20}這樣做的優點是給人封裝的感覺。而物件的存取則是使用了點表示法或方括號表示法。 a.name等價於a["name"],注意此處的"name"是以字串表示的。
對於Array型,則可以使用陣列字面量表示法。
對於Array型,可以使用length來改變陣列的長度。 (從陣列的末端新增或移除項目)
偵測陣列的方法是Array.isArray(value)方法
轉換方法:toString()轉換成以“,”分割各項的一個字串。 valueOf(),傳回的依舊是數組。 toLocaleString()可以用下例實作。
var p1={ toString:function(){return "guo";}, toLocaleString:function(){return "yuzhe";} } var p2={ toString:function(){return "song";}, toLocaleString:function(){return "hap";} } var p=[p1,p2]; alert(p); //guo,song alert(p.toLocaleString()); //yuzhe,hap
可見 alert在輸出前先呼叫了toString()方法,此外還有join()方法,用於以指定的符號返回成字串 ,其預設的(不設定參數)為“,”。
棧方法:push()在末尾新增項,傳回數組長度。 pop()在最後刪除項,傳回刪除項。
隊列方法:shift()溢位數組第一項,傳回該項。 unshift()在首段新增項,傳回數組長度。
重排序方法(傳回值為陣列):
reverse()反轉順序。 a[length-1]=a[0]
sort()升序排序法 預設的sort()是以ASCII排序的,而非我們認為的數字大小,所以比較大小需要這樣使用
function compare(no1,no2){ if(no1<no2){ return -1;} else if(no1>no2){ return 1;} else{ return 0;} } var a=[1,2,3,4,6,5]; a.sort(compare); alert(a)
若想產生降序效果,只需反轉if語句。
操作方法:
concat()創建了一個副本,對原數組無影響,作用是添加接受的參數到數組的末尾。
slice()建立一個副本,接受1或2個參數(傳回項目的起始和結束位置,不包含結束位置),在只有一個參數的情況下,傳回從指定位置到結尾所有項目。若參數為負數,則結果為length+arguments,若結束位置小於起始位置,則傳回空數組。
splice():1.刪除方法--指定兩個參數,刪除的第一項的位置和刪除的項數。
2.插入方法--指定三個參數,起始位置,0(要刪除的數量),要插入的項。
3.替換方法--指定三個參數,起始位置,刪除的個數,要插入的項
插入/替換的位置是起始位置。
位置方法:
indexOf()傳回要尋找的項目的陣列下表,沒有則傳回-1.參數:要尋找的項目和(可選的)找出起點位置的索引(下標)。
lastIndexOf()是indexOf()的逆序。
迭代方法:
2個參數:要運行的函數和(可選的)的作用域,傳入這些方法中的函數需要有三個參數(item(數組項的值),index(該項的位置),array (數組物件本身)).
every()對數組中的每一項運行給定函數,每一項都回傳ture 則傳回true
filter()傳回會傳回true的項組成的陣列
forEach()對每一項運行給定函數,無回傳值
map()傳回每次函數執行結果所組成的陣列
some()若有一項為true,則回傳true
<script> var a=[1,2,3,4]; var b=a.every(function(item,index,array){ return item>2; }); alert(b); //false </script>
归并方法:
reduce()从数字第一项开始遍历,reduceRight()从数组最后一项开始遍历
使用reduce()来求数组中的所有和
<script> var a=[1,2,3,4]; var b=a.reduce(function(prve,cur,index,array){ return prve+cur; }); alert(b); //10
第一次执行时,prev为1,cur为2 ,第二次执行时,prev为3,cur为3。
以上所述是小编给大家介绍的JavaScript入门教程之引用类型的相关内容,希望对大家有所帮助!

C 和JavaScript通過WebAssembly實現互操作性。 1)C 代碼編譯成WebAssembly模塊,引入到JavaScript環境中,增強計算能力。 2)在遊戲開發中,C 處理物理引擎和圖形渲染,JavaScript負責遊戲邏輯和用戶界面。

JavaScript在網站、移動應用、桌面應用和服務器端編程中均有廣泛應用。 1)在網站開發中,JavaScript與HTML、CSS一起操作DOM,實現動態效果,並支持如jQuery、React等框架。 2)通過ReactNative和Ionic,JavaScript用於開發跨平台移動應用。 3)Electron框架使JavaScript能構建桌面應用。 4)Node.js讓JavaScript在服務器端運行,支持高並發請求。

Python更適合數據科學和自動化,JavaScript更適合前端和全棧開發。 1.Python在數據科學和機器學習中表現出色,使用NumPy、Pandas等庫進行數據處理和建模。 2.Python在自動化和腳本編寫方面簡潔高效。 3.JavaScript在前端開發中不可或缺,用於構建動態網頁和單頁面應用。 4.JavaScript通過Node.js在後端開發中發揮作用,支持全棧開發。

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。1)C 用于解析JavaScript源码并生成抽象语法树。2)C 负责生成和执行字节码。3)C 实现JIT编译器,在运行时优化和编译热点代码,显著提高JavaScript的执行效率。

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

理解JavaScript引擎內部工作原理對開發者重要,因為它能幫助編寫更高效的代碼並理解性能瓶頸和優化策略。 1)引擎的工作流程包括解析、編譯和執行三個階段;2)執行過程中,引擎會進行動態優化,如內聯緩存和隱藏類;3)最佳實踐包括避免全局變量、優化循環、使用const和let,以及避免過度使用閉包。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!