移動端1px問題懈息,為什么會有肾档?如何解決?
因為在移動端辫继,由于屏幕分辨率的不同怒见,現(xiàn)在分為一倍屏,二倍屏姑宽,三倍屏遣耍。在不同的分辨率上,有可能1像素炮车,被渲染成兩個像素舵变,或者三個像素點,所有實際寫代碼時示血,寫border:1px solid red;時棋傍,1px可能被渲染為2px或者3px
1px的解決方案
1.先使用偽類元素實現(xiàn)邊框效果,然后通過媒體查詢來操控transform(): scale來適配不同分辨率
2.使用border-image來代替border
3.使用viewport+rem
解釋jsonp的原理
動態(tài)創(chuàng)建 script 標簽难审,在請求一個帶參網址來實現(xiàn)跨域通信
在工作中你是如何優(yōu)化自己的代碼的瘫拣?
命名規(guī)范;
注釋覆蓋率50%以上告喊;
避免全局變量麸拄;
避免修改原生API;
拆分函數(shù)黔姜,避免函數(shù)過于臃腫拢切;
函數(shù)專注于做一件事情;
模塊化封裝秆吵;
組件化開發(fā)淮椰;
對于常量始終保持先定義后使用;
對于兩個分支的判斷,使用三目運算符主穗,對于多個分支的判斷使用switch語句泻拦;
減少DOM操作,減少頁面重繪忽媒;
盡可能使用 === 而不是 ==争拐,避免隱式轉換。
axios是什么晦雨?如何使用架曹?描述其實現(xiàn)登錄的流程
Axios 是一個基于 promise 的 HTTP 庫,可以用在瀏覽器和 node.js 中闹瞧。
1.支持promise
2.提供了一些并發(fā)請求的方法
3.提供攔截器
4.可以實例化绑雄,進行基礎配置
5.提供支持
當我點擊登錄得時候,我先判斷我輸入的值是否是符合規(guī)則的夹抗,如果符合绳慎,就把參數(shù)拼到接口上纵竖,然后請求漠烧,它會返回一個token值,我把token值存儲在cookie中靡砌,在全局路由守衛(wèi)中已脓,當我要訪問一個需要登錄才可以進入的路由的時候,我就判斷cookie中有沒有這個token值通殃,如果有葱她,就進入這個路由败明,沒有就重新登錄
用JS去掉數(shù)組里面重復的數(shù)據(jù),并且打印出來
? var arr = [a,b,c,d,d,e,a,b,f,g]
function unique5(arr) {
? ? ? ? ? ? var newArr = []
? ? ? ? ? ? for (var i = 0; i < arr.length; i++) {
? ? ? ? ? ? ? ? if (!newArr.includes(arr[i])) {
? ? ? ? ? ? ? ? ? ? newArr.push(arr[i])
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? return newArr
? ? ? ? }
? ? ? ? console.log(unique5(arr));