原创 JavaScript引擎的內部運行機制

JS的一大特點就是單線程,所謂單線程就是,同一時間內只能執行一個任務,執行完這個任務才能執行下一個任務。執行任務的這一條線程也可稱爲主線程。   爲了不讓CPU空下來去等待IO設備(如從後臺獲取數據),所以將任務分成了同步任務和異步任務。

原创 正則表達式全部符號解釋

  字符 描述 \ 將下一個字符標記爲一個特殊字符、或一個原義字符、或一個 向後引用、或一個八進制轉義符。例如,'n' 匹配字符 "n"。'\n' 匹配一個換行符。序列 '\\' 匹配 "\" 而 "\(" 則匹配 "("。 ^ 匹配輸入

原创 今日份算法 — 657. 判斷路線成圈 557. 反轉字符串中的單詞 III

更多算法實現見:https://github.com/Erindcl/Daily-algorithm   657. 判斷路線成圈 初始位置 (0, 0) 處有一個機器人。給出它的一系列動作,判斷這個機器人的移動路線是否形成一個圓圈,換言之

原创 JS實現 LeetCode 數組類算法(六)

更多算法實現見:https://github.com/Erindcl/Daily-algorithm   724. 尋找數組的中心索引 給定一個整數類型的數組 nums,請編寫一個能夠返回數組“中心索引”的方法。 我們是這樣定義數組中心索

原创 今日份算法 — 56. 合併區間

更多算法實現見:https://github.com/Erindcl/Daily-algorithm   56. 合併區間 給出一個區間的集合,請合併所有重疊的區間。 分析:將Interval的start與end元素分別置於兩個數組中並排

原创 今日份算法 — 21. 合併兩個有序鏈表 67. 二進制求和

更多算法實現見:https://github.com/Erindcl/Daily-algorithm   21. 合併兩個有序鏈表 將兩個有序鏈表合併爲一個新的有序鏈表並返回。新鏈表是通過拼接給定的兩個鏈表的所有節點組成的。 代碼如下:

原创 JS實現 LeetCode 數組類算法(四)

更多算法實現見:https://github.com/Erindcl/Daily-algorithm   532. 數組中的K-diff數對 給定一個整數數組和一個整數 k, 你需要在數組裏找到不同的 k-diff 數對。這裏將 k-di

原创 今日份算法 — 520. 檢測大寫字母 551. 學生出勤紀錄 I

更多算法實現見:https://github.com/Erindcl/Daily-algorithm   520. 檢測大寫字母 給定一個單詞,你需要判斷單詞的大寫使用是否正確。 我們定義,在以下情況時,單詞的大寫用法是正確的: 全部字母

原创 JS實現 LeetCode 數組類算法(二)

更多算法實現見:https://github.com/Erindcl/Daily-algorithm   88. 合併兩個有序數組 給定兩個有序整數數組 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 

原创 JS實現 LeetCode 數組類算法(三)

更多算法實現見:https://github.com/Erindcl/Daily-algorithm   268. 缺失數字 給定一個包含 0, 1, 2, ..., n 中 n 個數的序列,找出 0 .. n 中沒有出現在序列中的那個

原创 《你不知道的JS》(上)第二部分 對this的理解

對this的錯誤理解:     1)this指向函數自身;      2)this指向函數的作用域。 this指代什麼取決於函數的調用位置。有四種綁定規則幫助我們確定this的綁定對象:     1)默認綁定:當在全局作用域中獨立調用函數

原创 數字格式化爲金額格式 (3位一個逗號隔開)

var fomatNum = function (num) { // 將數的小數部分和整數部分分開操作 將整數部分進行三位一逗號的操作 var arr = num.toString().split('.'); var l =

原创 今日份算法 — 680. 驗證迴文字符串 Ⅱ

更多算法實現見:https://github.com/Erindcl/Daily-algorithm   680. 驗證迴文字符串 Ⅱ 給定一個非空字符串 s,最多刪除一個字符。判斷是否能成爲迴文字符串。 分析:設置字符串的首尾指針i和j

原创 JS實現 LeetCode 數組類算法(五)

更多算法實現見:https://github.com/Erindcl/Daily-algorithm 628. 三個數的最大乘積 給定一個整型數組,在數組中找出由三個數組成的最大乘積,並輸出這個乘積。 分析:因爲有負數的出現 有兩種結果構

原创 JS實現 LeetCode 數組類算法(一)

更多算法實現見:https://github.com/Erindcl/Daily-algorithm   1. 兩數之和 給定一個整數數組和一個目標值,找出數組中和爲目標值的兩個數。 你可以假設每個輸入只對應一種答案,且同樣的元素不能被重