原创 JavaScript 數組去重的7種實現

一.前言 js中數組去重是老生常談的問題,之所以是老生常談,是因爲這東西在平常的業務場景中挺常見的,是剛需;其次在面試中面試者也喜歡問,基本上是希望你能回答的越多越好,今天趁這個機會我正好捋一捋思路,把這塊整理一下。 要說在前面的

原创 JavaScript this探究

關於javascript的this講解的文章已經多如牛毛了,我本人在開發過程中也用到過很多次。這次趁有空,整理一下關於this的一系列問題:包括this的指向,嚴格模式和非嚴格模式下的區別,什麼情況下可以改變this的指向以及在E

原创 JavaScript事件委託機制與this的比較

很多時候我們在完成交互時,頁面的一些dom結構是根據後臺傳輸過來的數據動態加載的,如果說我們需要給這些數量比較大的dom結構(比如說表格,或則ul>li)添加click或則hover事件時,手寫/遍歷生成元素內的onclick函數

原创 JavaScript判斷瀏覽器向上或者向下滾動

/*** * 監聽滾動事件,判斷滾動方向 * ***/ var Before_scollH = 0; $(window).on('scroll', function () {

原创 JavaScript對象之擴展,密封和凍結特性

擴展特性 Object.isExtensible 方法 Object.preventExtensions 方法 密封特性 Object.isSealed 方法 Object.seal 方法 凍結特性 Object.isFroze

原创 JavaScript 閉包機制的詳解

JavaScript 的閉包是老生常談的問題了,包括面試時也喜歡問,所以是時候總結一波了。 在我看來,解決一個碰到的問題有兩個思路:一是找到解決這個問題的方法就OK。二是嘗試從根源上去解析這個問題,以避免被其他類似的問題困擾。 一

原创 JavaScript 多位數字每隔三位加一個逗號

//每隔三位小數加逗號 function add_comma_toThousands(num) { var num = (num || 0).toString(); var result = ''; while

原创 從JavaScript的垃圾回收機制談起

javascript垃圾回收機制大家肯定都有所瞭解。網上大部分的文章也都是在講引用計數算法和垃圾回收算法的原理以及這兩者之間的區別。今天咱們不提這個,咱們只提關於老垃圾回收算法和新垃圾回收算法的演變。 一.舊的javascript

原创 JavaScript 中神奇的加法(隱式類型轉換)

一般來說, 加減法應該是我們學習生涯中接觸到的第一個運算符,通常意義下它也是最簡單的運算符。 在程序語言中,加減法的情況一般也比較簡單,但是在 JavaScript 中加法的情況卻比較奇怪,因爲它有着大量特殊的情況。 我們舉個簡單

原创 JavaScript禁止鼠標右鍵點擊的瀏覽器後退事件(兼容IE9及以上)

提到禁止瀏覽器的後退行爲,就不得不提到history這個api.而HTML5中中新引入的pushState()和 replaceState()方法。 現在你打開百度,搜索“js實現禁止瀏覽器後退功能”,你會看到一大片解決方案,當然

原创 Fetch漫遊指南--篇1

一.什麼是Ftech “Fetch API提供了一個JavaScript接口,用於訪問和操縱HTTP管道的部分,例如請求和響應。它還提供了一個全局 fetch()方法,該方法提供了一種簡單,合理的方式來跨網絡異步獲取資源。”

原创 UI recorder 自動化UI測試框架使用手冊

一.前言 此文檔爲前端自動化UI測試框架 UI recorder 的搭建以及使用文檔。 二.準備環境 我們需要準備以下環境,安裝順序沒有先後,環境之間相互無依賴: 安裝 java jdk(需要jdk 1.8及以上),並配置相應的環

原创 Karma 自動化測試框架搭建文檔

一.前言 此文檔爲前端自動化單元測試框架 Karma 的搭建以及使用文檔。 二.準備環境 先列出我們此次搭建測試框架 Karma 必須的環境和包。 1. node.js (node 引擎) 2. npm (node 包管理器)

原创 從 Promise 來看 JavaScript 的異步處理

一.前言 在早期 JavaScript 的 ES5 語法中,多層函數的回調嵌套是一件讓人很頭疼的事兒,行內黑話一般稱之爲回調地獄 。 可能有些夥計還沒遇到過此類業務場景,但是沒關係,只要在前端圈裏混,蒼天會繞過誰呢?所以爲了大家,我就

原创 JavaScript 中的淺拷貝和深拷貝

一.前言 每一個前端的 JavaScript 之路不一定是由《JavaScript 高級程序設計》開啓的,但是每一位前端都一定被“按值傳遞”和“按引用傳遞”這兩個概念坑過。現在你我應該都很清楚,在 JavaScript 中的objec