簡體   English   中英

有關不同內置數組方法的術語Javascript

[英]Terminology regarding different built-in array methods Javascript

當使用Javascript中可用於數組的內置方法時,某些方法將直接作用於調用數組。 例如,myArray.sort()將以字母或數字的升序對myArray進行排序。

myArray.sort();
// sort() acts directly on myArray, changing it in its place thereafter
// ... also myArray.reverse() amongst others.

而諸如slice()之類的其他方法則需要一些東西,要么是變量,要么是其他輸出,以使其值返回到...。

var need_a_new_array = myArray.slice(10, 21);
// a new placeholder is needed for the results of slice... if not using 
// the results immediately (i.e. passing to another function or 
// outputting the results)

我想知道這些方法及其區別的正確術語是什么。 我在這里以數組為例,但是我敢肯定,對於一般的對象來說,同樣適用。 感謝您的幫助。 謝謝。

正確的術語是mutatoraccessor

突變方法 變異 (變化)它被稱為上,而一個存取存取 (和返回)的對象時,它被稱為上的對象的值。

通過查看Array.prototype的方法列表,可以看到兩種類型的示例。 請注意,它們分為幾類,其中兩種是Mutator方法“這些方法修改數組” )和Accessor方法“這些方法不修改數組並返回數組的某些表示形式。”

不能在不可變對象上調用變量

另請參見軟件工程SE上的相關問題: 用於描述修改其所調用對象的功能/方法的術語是什么?

您要查找的術語是“不可變”和“可變”。 Array.prototype.sort是一種可變方法,因為它可以“改變”(更改)原始數組,其中Array.prototype.slice是不可變的,因為它使用結果創建了一個新數組,並使原始數組完好無損。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM