對新手有用的JavaScript開發小建議
這篇文章將向你分享一些不為人知的但很有用的JavaScript小建議,對那些剛涉及使用JavaScript程式語言的初級開發者應該有很大的幫助。
1. 用陣列長度擷取陣列
我們都知道,物件都是通過使用JavaScript引用的,但這並不是唯一的準則,請看下面的檢驗案例:
var arr1 = arr2 = [1, 2, 3]; //Change arr1 arr1 = [];// arr2 will still be [1,2,3]
最初,arr1和arr2都指向了陣列[1,2,3],之後當arr1重新指向[ ]的時候,arr2的引用並沒有發生什麼變化,仍然指向[1,2,3]。但是如果我們想讓arr1和arr2都指向[ ]的話,那應該怎麼做呢?我們可以利用陣列的長度屬性。當設定arr1.length=0的時候,arr1裡面的要素將被清空。而引用是不會改變的,所以arr1和arr2指向[ ]。
2. 用push來合併陣列
我們通常使用concat()來合併兩個陣列,例如:
var arr1=[1,2,3]; var arr2=[4,5,6]; var arr3=arr1.concat(arr2); arr3; [1, 2, 3, 4, 5, 6]
我們同樣可以利用push()來達到這種效果:
var arr1=[1,2,3]; var arr2=[4,5,6]; Array.prototype.push.apply(arr1,arr2); arr1 [1, 2, 3, 4, 5, 6]
應用這種方法可以把一個陣列作為第二個引數,因此,arr2能夠被推送到arr1裡面。
3. 特徵檢測
在我們使用的很多API裡,我們能看到一些特徵檢測語句,這些語句是用來檢查瀏覽器是否支援特定的屬性或方法,以便能夠支援跨瀏覽器相容性。可以這樣做:
if(window.opera){ console.log("OPERA"); }else{ console.log("NOT OPERA"); }
這樣的運作方式是正確的,但它的缺點是效率不高。這種型別的物件檢測將在瀏覽器裡初始化資源。更有效地方式是檢查金鑰是否在某一個物件裡。
if("opera" in window){ console.log("OPERA"); }else{ console.log("NOT OPERA"); }
4. 檢查某一個物件是不是陣列
在JavaScript程式語言裡,我們可以使用typeof來檢查變數的型別,typeof可以返回數字、布林值、字串、物件、函式和未定義的物件。事實上這裡沒有陣列,typeof陣列就是一個物件。所以我們怎麼來決定一個物件就是一個陣列呢?在ECMAScript 5程式語言裡,我們可以使用 Array.isArray(obj)來檢查這裡所提到的問題。但是目前ECMAScript 5還沒有得到廣泛使用。
不過,我們可以使用下面的方法:
var obj=[]; Object.prototype.toString.call(obj)=="[object Array]"; true
英文原文:Pixels Tech
相關文章
- 對 Linux 新手有用的 20 個命令Linux
- 微信小程式--關於加快小程式開發的幾個小建議微信小程式
- 對新手學習嵌入式軟體開發的基本建議薦
- 對 Linux 新手非常有用的 20 個命令Linux
- 對 Linux 新手非常有用的20個命令Linux
- Java後臺求職小建議Java求職
- 圖靈社群小建議圖靈
- 程式設計路上,對於迷失者的一些小小建議程式設計
- 給 5.1 版的框架提點小建議框架
- 對Web開發人員有用的8個網站Web網站
- 對開發者非常有用的16個 JavaScript 庫JavaScript
- 對新手Linux使用者非常有用的20個命令Linux
- 10個除錯和排錯的小建議除錯
- 教孩子程式設計的 6 個小建議程式設計
- 一些實用的 python 小建議Python
- 給移動應用開發新手的6個建議
- 對於Web開發很有用的jQuery效果製作教程WebjQuery
- 對iPhone開發人員非常有用的10個工具iPhone
- 對Android開發有用的技術棧(一)架構篇Android架構
- 如何助力平凡工作做不凡? 幾點小建議
- 對Web開發人員和設計師有用的10個流程圖Web流程圖
- 為ABAQUS軟體初學者提供的一些小建議
- 給Java初學者的十條小建議,快來收藏吧!Java
- 選擇“心儀”的HR管理系統的六個小建議
- 【引用】 PB絕對有用的未公開函式函式
- 新手錦囊:Web前端開發小白的學習建議和路線圖Web前端
- 給JAVA設計開發新手的一些建議和意見(4)Java
- 給JAVA設計開發新手的一些建議和意見(3)Java
- 給JAVA設計開發新手的一些建議和意見(2)Java
- 給JAVA設計開發新手的一些建議和意見(1)Java
- 10 個新的很有用的開發框架框架
- 對Web設計和開發人員有用的15個Chrome擴充套件WebChrome套件
- 給新手的 10 個有用 Linux 命令列技巧Linux命令列
- 移動社交網路營銷的5個小建議–資訊圖
- Java開發對於新手來說難度大不大?Java
- 優化重構Python程式碼6個小建議優化Python
- Docker 部署 redis教程,附帶部分小建議,防止踩坑DockerRedis
- 關於圖靈自創圖書封面的小建議圖靈