摘要:硬綁定會大大降低函數的靈活性,使用硬綁定之后就無法使用像隱式綁定或顯示綁定來修改。如果可以給默認綁定指定一個全局對象和意外的值,那就可以實現和硬綁定相同的效果,同時保留隱式綁定或顯示綁定修改的能力。 JavaScript中硬綁定與軟綁定詳解 JS中硬綁定這種方式可以把this強制綁定到指定的對象(除了使用new時),防止函數調用時應用默認綁定規則(非嚴格模式下全局對象-window| ...
摘要:快捷鍵對于前端開發者來說,在開發過程中需要監控某些表達式或變量的值的時候,用會顯得過于笨重,取而代之則是會將值輸出到控制臺上方便調試。先安利幾個里面的快捷鍵。一個完整的信息分組以開始,結束設置當前信息分組結束 console快捷鍵 對于前端開發者來說,在開發過程中需要監控某些表達式或變量的值的時候,用 debugger 會顯得過于笨重,取而代之則是會將值輸出到控制臺上方便調試。最常用的...
摘要:利用抽象語法樹可以對你的源代碼進行修改優化,甚至可以打造自己的編譯工具。 showImg(https://segmentfault.com/img/bVbnELi);這是一棵樹嘛 直奔主題 抽象語法樹是js代碼另一種結構映射,可以將js拆解成AST,也可以把AST轉成源代碼。這中間的過程就是我們的用武之地。 利用 抽象語法樹(AST) 可以對你的源代碼進行修改、優化,甚至可以打造自己的...
摘要:最近在看數據結構與算法,但是一直搞不明白在代碼中的實現。今天結合找到的一些資料總結一下鏈表在中的實現。這種結構允許在迭代期間有效地從序列中的任何位置插入或刪除元素。 最近在看js數據結構與算法,但是一直搞不明白在代碼中的實現。今天結合找到的一些資料總結一下鏈表在js中的實現。首先說下鏈表,在計算機科學中, 一個鏈表是數據元素的線性集合, 元素的線性順序不是由它們在內存中的物理位置給出的...
摘要:為了代碼進一步解耦,可以考慮使用高階組件這種模式。開源的高階組件使用提供了一系列使用的高階組件,可以增強組件的行為,可以利用此庫學習高階組件的寫法。通過使用此庫提供的高階組件,可以方便地讓列表元素可拖動。 1. Decorator基本知識 在很多框架和庫中看到它的身影,尤其是React和Redux,還有mobx中,那什么是裝飾器呢。 修飾器(Decorator)是一個函數,用來修改類的...