原创 spa頁面,不同組件按需引入js,aliplayer

(function(d, s, id) { let js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) retur

原创 js 函數重載

概念:允許某個函數有各種不同輸入,根據不同的輸入,調用不同的函數,然後返回不同的結果。 簡單定義:根據不同參數長度來實現讓同一個函數,進行不同處理 function addMethod (obj, name, fun) { le

原创 JS實現字符串翻轉的方法分析

1. 字符串的完全翻轉: function reverseStr(param){ var arr = param.split(" "); var newArr = []; for(i=0;i<arr.length;i++){ newAr

原创 前端跳槽潮中面試官希望看到什麼亮點?

最近兩三個月,我大概收到幾十份前端簡歷了,其中絕大部分都沒提交到內推系統。因爲我總結出一個螞蟻內推定律(P6及以上): 覺得有可能過不了的簡歷,肯定過不了。 覺得一定過得了的簡歷,可能過不了。 所以爲了不浪費雙方時間,我選擇直接放棄提交。

原创 CSS選擇器之兄弟選擇器(~和+)

日常寫代碼碰到這個選擇器,‘~’,傻傻分不清 ‘+’ 跟 ‘~’的區別,雖然我知道他們都是兄弟選擇器。 現在拿這兩個選擇器來測試了一下。發現原來是這樣的。   先來代碼說話:   (1)、‘~’選擇器 1 2 3 4 5 6 7 8 9

原创 使用lighthouse分析你的網站性能

首先全局安裝lighthouse: npm install -g lighthouse # or use yarn: # yarn global add lighthouse 然後在終端輸入命令: lighthouse https:

原创 點擊按鈕,讓頁面滾動到指定位置的方法

1.喵點 2.ele.scrollIntoView() 關於scrollIntoView方法: https://developer.mozilla.org/zh-CN/docs/Web/API/Element/scrollIntoView

原创 類數組轉化爲真實的數組

問題: 我們日常編程的過程中,經常使用數組的遍歷,但是某些集合是類數組不是真正的數組,所以我們不能使用 map,forEach等方法進行遍歷。 比如: var eleArr = document.querySelectorAll('li

原创 微信h5輸入框鍵盤兼容問題

問題: 微信裏面打開h5頁面的時候: ios:當輸入框失去焦點時,頁面頂上去後下不來; position: fixed的元素(彈窗)在ios裏,收起鍵盤的時候會被頂上去,特別是第三方鍵盤 安卓:當輸入框聚焦時,頁面沒有上去,安卓鍵盤遮擋頁

原创 CSS與GPU硬件加速(二三四五面試題)

問題:日常工作中,哪些css屬性可以觸發GPU的硬件加速? 解答: transform opacity filter 硬件加速的工作原理 : 瀏覽器接收到頁面文檔後,會將文檔中的標記語言解析爲DOM樹。DOM樹和CSS結合後形

原创 簡單快速理解js中的this、call和apply

注:本文案例環境爲非嚴格模式,嚴格模式下禁止關鍵字this指向全局對象 一、方法是怎麼執行的? 首先說一下js中方法的執行,在window全局下聲明一個方法a: function a () { console.log(this);

原创 [].slice.call()將類數組轉化爲真正的數組

JavaScript slice() 方法: 定義: 從數組中切割指定元素,返回新的一個數組 語法:(左閉右開) arrObject.slice(start,end); 參數 描述 start 必需。規定從何處開始選取。如果是負數,那麼

原创 點擊ul列表中每個li,打印當前索引值

1.html的基本結構:  <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> </ul> 2.js實現部分: 1.使用立即執行函數 var liL

原创 h5下拉框,不能重置初始值

問題: 移動端h5頁面,下拉框當用戶選中後,下面一個表單提交按鈕,要求提交成功後,表單輸入框要情況,並且輸入框要初始化最初的值。項目中,我使用的是:mobileSelect.js 這個第三方庫。github地址:https://githu

原创 正則表達式 匹配中文 數字 字母 下劃線

var pattern = /^[\w\u4e00-\u9fa5]+$/gi