国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Source Code - JavaScript - 學習優雅的編碼

zhoutk / 2031人閱讀

摘要:以下全是別人的源碼,會標明出處,非常感謝原作者,非常感謝開源。優雅源碼,微型庫解讀之的源碼零散短路運算符詳情生成的對象是一個原型為空的對象。簡潔的隊列賦值短路邏輯判斷初始化更新數組,簡直不要太優雅。

寧靜致遠。

說明

知識在不斷迭代,除了學習資料,那就是學習他人,來豐富自己。

以下全是別人的源碼,會標明出處,非常感謝原作者,非常感謝開源。

優雅

mitt:源碼,微型庫解讀之200byte的EventEmitter - Mitt

axios: 源碼

零散:12 useful hacks

mitt
  // source code
  all = all || Object.create(null);

短路運算符:詳情MDN

Object.create(null):生成的對象是一個原型為空的對象。節約內存且避免沖突,因為沒有原型,且普通對象原型上的屬性和方法也相應沒有了。

  // source code
  (all[type] || (all[type] = [])).push(handler);
  // my code - bad
  if (all[type]) {
    all[type].push(handler)
  } else {
    all[type] = [handler]
  }

簡潔的隊列賦值:短路邏輯判斷 + 初始化 + 更新數組,簡直不要太優雅。

  // source code
  all[type].splice(all[type].indexOf(handler) >>> 0, 1);

按位操作符:1 >>> 0 = 1, -1 >>> 0 = 4294967295, 詳情MDN

補充:按位操作符"~",可以結合.indexOf()使用,因為對任一數值 x 進行按位非操作的結果為 -(x + 1),即:~-1 = 0

  // source code
  (all[type] || []).slice().map((handler) => { handler(evt); });
  (all["*"] || []).slice().map((handler) => { handler(type, evt); });

Array.slice():slice不傳參數的時候,相當于淺復制一個數組,詳情MDN

axios
  // source code
  別著急
零散
  // source code
  !!(0)             // false
  !!(null)          // false
  !!("")            // false
  !!(undefined)     // false
  !!(NaN)           // false
  
  !!(2)             // true

!!: 強制轉換成 boolean 類型,相當于 !(!val)。如果 val = 0/null/""/undefined/NaN 時,!!(val) = false,如果 val 是其他值,!!(val) = true

!: 取反運算,返回的也是一個 boolean 類型。如果 val = 0/null/""/undefined/NaN 時,!(val) = false,如果 val 是其他值,!(val) = true

  // source code
  +"123456"        // 123456, Number
  +new Date()      // 1527684413484, 相當于 new Date().getTime()

+: +val 將字符串數字轉為數字。如果 val 是非字符串數字,則 +val = NaN

好記性不如爛筆頭。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/95287.html

相關文章

  • 使用神器Lombok優雅編碼

    摘要:提高編碼效率使代碼更簡潔消除冗長代碼避免修改字段名字時忘記修改方法名提高下逼格以上就是的優點,當然,的優點遠遠不止以上幾點,使用,你可以更加優雅高效的編輯代碼。實戰完成了上述準備之后,就可以愉快的使用進行編碼了。接下來是使用簡化后的代碼。 Lombok介紹 近來偶遇一款擼碼神器,介紹給大家~相信許多小伙伴都深有體會,POJO類中的千篇一律的getter/setter,construct...

    _ang 評論0 收藏0
  • UI5 Source code map機制細節介紹

    摘要:但是當時因為時間限制,沒有去深入學習的更多細節。每一位的對應含義第一位,表示這個位置在轉換后的壓縮文件的第幾列。第三位,表示這個位置屬于原始文件的第幾行。第五位,數組中的索引,表示這個位置屬于源文件中的哪一個變量。 在我的博客A debugging issue caused by source code mapping里我介紹了在我做SAP C4C開發時遇到的一個曾經困擾我很久的問題,...

    whidy 評論0 收藏0
  • UI5 Source code map機制細節介紹

    摘要:但是當時因為時間限制,沒有去深入學習的更多細節。每一位的對應含義第一位,表示這個位置在轉換后的壓縮文件的第幾列。第三位,表示這個位置屬于原始文件的第幾行。第五位,數組中的索引,表示這個位置屬于源文件中的哪一個變量。 在我的博客A debugging issue caused by source code mapping里我介紹了在我做SAP C4C開發時遇到的一個曾經困擾我很久的問題,...

    YanceyOfficial 評論0 收藏0
  • JavaScriptSource Map (sourceURL / sourceMappingUR

    摘要:常見的源碼轉換,主要是以下三種情況壓縮,減小體積。該項是一個數組,表示可能存在多個文件合并。第一層是行對應,以分號表示,每個分號對應轉換后源碼的一行。在這個位中,左邊的第一位最高位表示是否連續。 這兩天完成了自己的個人任務,準備學習一下前輩們的經驗教訓,在項目組的文檔中發現了一個要求注意的點,如下: Js文件的開頭可以加上類似//@ sourceURL=jquery.extends.j...

    renweihub 評論0 收藏0

發表評論

0條評論

zhoutk

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<