[javascript] 清空 array 的方法介紹與比較(new、pop 及 shift…等)

紀錄一下幾個 javascript 清空陣列的方法比較。 指派一個新的空陣列 reference arr = []; ps. 如果有其他變數仍然指到原本的陣列,會造成占較多 memory,以至於效能不佳。 長度設為 0 arr.length = 0; splice 移除 arr.splice(0, arr.length); 迴圈 pop 清空 迴圈 shift 清空 來看看上面這幾個清空陣列的 jsperf 效能比較:https://jsperf.com/array-destroy/40 在多數瀏覽器,pop 和 shift 的方法最有效率,但在 firefox new 的方法效率遠大於其他方法。   參考資料: http://www.jstips.co/en/javascript/two-ways-to-empty-an-array/

Continue reading


[javascript] 函式建構(function constructor),new 關鍵字的用法與解析

在 javascript 中,有一個關鍵字為 new 它可以幫我們透過函式建構(function constructor)一個物件,並賦予相關的屬性及方法。 我們直接來看程式碼範例吧~ 上面這段程式碼,透過 new 會幫我們創造一個空的物件 接下來我們看一些賦予屬性與方法的例子 PS. 以下的 this.fullName 方法並不適合這樣寫,詳細請見https://wp.me/p7kqsB-bz 這樣原本空的物件,就會被賦予相關屬性與方法,有點像 C++ 或 JAVA 中的 class。 再來,我們看看若我們宣告的函式有相關回傳值的話呢? 最後,若我們嘗試回傳一個物件呢? 可以看到,若我們回傳物件的話,將會以回傳的物件為主,原有的物件屬性與方法將不會回傳。 參考資料: https://pjchender.blogspot.tw/2016/06/javascriptfunction-constructornew.html

Continue reading