9個極其強大的JavaScript技巧

2020-12-26 51CTO

所謂 hacker 方法,就是一種不斷改進和迭代的構建方法。有著 hacker 精神的程式設計師相信事物總有改進的餘地,沒有什麼是完美的存在。每一段代碼都有進一步優化的空間,每一個操作都有更便捷的技巧。

下面列舉一些非常強大的 JavaScript hack 技巧。

1. Replace All

我們知道 string.Replace() 函數只會替換第一個項目。

你可以在這個正則表達式的末尾添加 /g 來替換所有內容。

  1. var example = "potato potato"
  2. console.log(example.replace(/pot/, "tom"));  
  3. // "tomato potato" 
  4. console.log(example.replace(/pot/g, "tom"));  
  5. // "tomato tomato" 

2. 提取唯一值

我們可以使用 Set 對象和 Spread 運算符,創建一個剔除重複值的新數組。

  1. var entries = [1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 8, 4, 2, 1] 
  2. var unique_entries = [...new Set(entries)]; 
  3. console.log(unique_entries); 
  4. // [1, 2, 3, 4, 5, 6, 7, 8] 

3. 將數字轉換為字符串

我們只需使用帶空引號的串聯運算符即可。

  1. var converted_number = 5 + ""; 
  2. console.log(converted_number); 
  3. // 5 
  4. console.log(typeof converted_number);  
  5. // string 

4. 將字符串轉換為數字

用 + 運算符即可。

請注意這裡的用法,因為它只適用於「字符串數字」。

  1. the_string = "123"
  2. console.log(+the_string); 
  3. // 123 
  4. the_string = "hello"
  5. console.log(+the_string); 
  6. // NaN 

5. 隨機排列數組中的元素

每天我都在隨機排來排去……

  1. var my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]; 
  2. console.log(my_list.sort(function() { 
  3.     return Math.random() - 0.5 
  4. }));  
  5. // [4, 8, 2, 9, 1, 3, 6, 5, 7] 

6. 展平多維數組

只需使用 Spread 運算符。

  1. var entries = [1, [2, 5], [6, 7], 9]; 
  2. var flat_entries = [].concat(...entries);  
  3. // [1, 2, 5, 6, 7, 9] 

7. 短路條件

舉個例子:

  1. if (available) { 
  2.     addToCart(); 

只需使用變量和函數就能縮短它:

  1. available && addToCart() 

8. 動態屬性名稱

我一直以為我必須先聲明一個對象,然後才能分配一個動態屬性。

  1. const dynamic = 'flavour'
  2. var item = { 
  3.     name: 'Coke', 
  4.     [dynamic]: 'Cherry' 
  5. console.log(item);  
  6. // { name: "Coke", flavour: "Cherry" } 

9. 使用 length 調整大小 / 清空數組

基本上就是覆蓋數組的 length。

如果我們要調整數組的大小:

  1. var entries = [1, 2, 3, 4, 5, 6, 7];  
  2. console.log(entries.length);  
  3. // 7  
  4. entries.length = 4;  
  5. console.log(entries.length);  
  6. // 4  
  7. console.log(entries);  
  8. // [1, 2, 3, 4] 

如果我們要清空數組:

  1. var entries = [1, 2, 3, 4, 5, 6, 7];  
  2. console.log(entries.length);  
  3. // 7  
  4. entries.length = 0;  
  5. console.log(entries.length);  
  6. // 0  
  7. console.log(entries);  
  8. // [] 

你也在搜尋 JavaScript hacker 技巧的話,希望本文對你有幫助。

【責任編輯:

趙寧寧

TEL:(010)68476606】

點讚 0

相關焦點

  • 9 個極其強大的 JavaScript 技巧
    每一段代碼都有進一步優化的空間,每一個操作都有更便捷的技巧。 下面列舉一些非常強大的 JavaScript hack 技巧。 1. Replace All 我們知道 string.Replace() 函數只會替換第一個項目。
  • 20個常用的JavaScript簡寫技巧
    任何程式語言的簡寫技巧都能夠幫助你編寫更簡練的代碼,讓你用更少的代碼實現你的目標。讓我們一個個來看看 JavaScript 的簡寫技巧吧。 1. 聲明變量 2.
  • 9個好用的JavaScript小技巧
    下面給出了一些非常強大的 JavaScript 小技巧。1. 全部替換我們都知道 string.Replace() 函數僅能替換掉第一個匹配項。隨機排列數組中的元素這樣最適合洗牌了:var my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]; console.log(my_list.sort(function() {
  • 九個難以置信的HTML5和JavaScript實驗
    我從未想過結合 HTML 和 JavaScript 能實現這麼強大的效果。今天,本文與大家分享其中9個很棒的例子,為了有更好的效果,建議在Chrome瀏覽器中瀏覽。          1.Untangle
  • Javascript.info - 更新頻率極高的Javascript免費開源電子教程
    更新頻率非常高,我在寫這篇文章的時候是2020年9月7日,而最新修改更新的日期是昨天。Javascript.info 首頁截圖Javascript.info 依託 learn.javascript.ru 而來的,learn.javascript.ru 是俄羅斯最大的 JavaScript 教程和學習平臺之一。
  • 15個經典過人技巧極其訓練方法
    大家好,今天我們分享15個經典過人技巧極其訓練方法,希望大家喜歡!今天我們學習15個不同的技能,我們每天訓練十分鐘會讓我們的技巧又很大的提升,我們現在開始:牛尾巴第一個訓練,我們要放置兩個標誌盤,相距7~15碼,這取決於我們有多大的空間
  • 初識javascript,JS的歷史_騰訊新聞
    javascript和H5的關關係 什麼是HTML5? 3.從技術的角度來看其實就是指: HTML5個 + CSS3個 +JavaScript個技術所開發的移動客戶端應用程式。
  • 用Java語言巧妙實現javascript的運行
    Java前言在學習開發的過程中javascript是每位程式設計師小盆友都得掌握的一種方法,他們可以說是貫穿了整個Java開發的語言,下面給大家演示一下在Java中如何完美運行javascript案例,跟著小編一起來學習一下吧
  • Javascript去除字符串中的點或其他符號
    在前端上使用javascript進行操作的。測試了兩次沒有好用,程序直接把整個字符串都進行了替換,在考慮這個是為什麼呢?javascript(請忽略此配圖)示例var ip = data.field.ip.replace(/.
  • Javacript用戶:9款最好IDE和代碼編輯器
    但作為一個Web開發人員或圖形設計人員來說,一個好的機會並不是輕易獲得,需要強大的思維和心裡能力,以及對於工作的熟練技巧。許多可用的網站來根據需要幫助找到正確的職位描述,但如果在這個領域有所成就,仍然需要具有一些出色的技能,如可以在不同的平臺、IDE以及其他工具上工作。  談及根據不同目的和不同語言所用到的不同平臺以及IDE,僅僅靠學習IDE來獲取項目設計最佳方案已經不現實。
  • 第一篇:JavaScript基本語法
    html><head><title>這是登錄頁面</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><script type="text/javascript
  • 2020年最熱度最高的5個JavaScript框架
    Angular 自從創建以來被一些企業廣泛使用,因為它為通過快速應用程式開發簡化測試提供了強大的支持。它的優勢有雙向數據綁定功能具有出色的DOM編程接口;社區規模巨大;功能齊全的框架,具有穩定的默認設置。
  • JavaScript小知識:String類型
    let lang="java";lang=lange+"scriot";console.log(lang);//javascript我們首先創建變量lang用來保存字符串java,然後我們將lang保存的字符串改為由原先保存字符串java和新的字符串
  • JavaScript組件模式深入淺出
    匿名閉包(Anonymous Closures)這是使得模式可以正常工作的語言基礎,也實在是javascript最為實用的特性之一。我們可以簡單的創建一個匿名函數,並且立刻執行它。所有運行在該函數裡的代碼叫做一個閉包,它提供了在整個應用程式生命周期中都有效的數據隱私控制以及狀態保存功能。
  • 足球教學丨15個經典過人技巧極其訓練方法
    大家好,今天我們分享15個經典過人技巧極其訓練方法,希望大家喜歡!今天我們學習15個不同的技能,我們每天訓練十分鐘會讓我們的技巧又很大的提升,我們現在開始:第一個訓練,我們要放置兩個標誌盤,相距7~15碼,這取決於我們有多大的空間。
  • 前端:用javascript實現一個轉盤小遊戲?
    本文轉載自【微信公眾號:趣談前端,ID:beautifulFront】經微信公眾號授權轉載,如需轉載與原文作者聯繫本文主要介紹如何使用原生javascript和Css3來實現一個在各大移動應用中經常出現的轉盤遊戲,由於改實現可以有不同方式,如果熟悉canvas的話也可以用canvas實現,本文採用js和css實現主要考慮到複雜度較小性能較好
  • 西安藍鷗丨45個有用的JavaScript技巧
    var items = [12, 548 , 'a' , 2 , 5478 , 'foo' , 8852, , 'Doe' , 2145 , 119];var  randomItem = items[Math.floor(Math.random() * items.length)];9、
  • 18 個 JavaScript 入門技巧!
    最近開源了一個 Vue 組件,還不夠完善,歡迎大家來一起完善它,也希望大家能給個 star 支持一下,謝謝各位了。1. 轉字符串2.三等號和雙等號的區別9. 接收參數更好的方式更簡單的方法10.把普通函數改成箭頭函數可以改寫成11.從箭頭函數返回對象/表達式12.
  • 第五篇:JavaScript事件處理
    庫的網頁代碼(案例代碼見unit12\case1.html):<html><head><title>JavaScript開發案例</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><script type="text/javascript
  • 什麼是JavaScript對象?如何創建並引用?這就告訴你!
    c.使用Object.create方法創建對象var obj1 = {};var obj2 = new Object();var obj3 = Object.create(null);Object是在javascript