web前端面試題-javascript(二)

以下題目都是在面試過程中整理的 答案不是標準永罚。如有雷同純屬耦合,可與博主及時聯(lián)系

1宋舷、基本數(shù)據類型和引用數(shù)據類型

基本數(shù)據類型:number、string瓢姻、boolean祝蝠、null、undefined

引用數(shù)據類型:對象數(shù)據類型(對象幻碱、數(shù)組绎狭、正則)? 函數(shù)數(shù)據類型

區(qū)別:基本數(shù)據類型操作的是值,引用數(shù)據類型操作的是內存地址

2褥傍、display: none 和visibility: hidden區(qū)別

1儡嘶、Display:none隱藏會不會占空間 visibility:hidden隱藏后還會占空間

2、display:none不會被子元素繼承恍风,但是父元素都不在了蹦狂,子元素自然也就不會顯示了;

visibility:hidden 會被子元素繼承凯楔,可以通過設置子元素visibility:visible 使子元素顯示出來

3、瀏覽器支持的最小字體是多少锦募?怎樣實現(xiàn)更小字體

12px啼辣;

使用:-webkit-transform:scale()來實現(xiàn)? ? ?

.ft8 {

font-size: 8px;

font-family: Arial;

}

.ft8 em {

//如果是行內元素需要加這個,因為縮放是縮放的寬高御滩,而行內元素沒有寬高

display: inline-block;?

width: 10px;

height: 10px;

-webkit-transform: scale(0.7,0.7);? 這個縮放大小是 8px/12px得來的

}

4鸥拧、 Cmd 和amd

5、 git推送的順序

6削解、模擬網速慢 來測試網站性能

谷歌--network里--slow3G

7富弦、什么是DNS

Domain name system 域名系統(tǒng)

萬維網上作為域名和IP地址相互映射的一個分布式數(shù)據庫,能夠使用戶更方便的訪問互聯(lián)網氛驮,而不用去記住能夠被機器直接讀取的IP數(shù)串腕柜。

8、服務器渲染矫废、瀏覽器渲染

瀏覽器渲染

單頁應用用的基本都是瀏覽器渲染盏缤。優(yōu)點很明確,后端只提供數(shù)據蓖扑,前端做視圖和交互邏輯唉铜,分工明確。服務器只提供接口律杠,路由以及渲染都丟給前端潭流,服務器計算壓力變輕了竞惋。但是弱點就是用戶等待時間變長了,尤其在請求數(shù)多而且有一定先后順序的時候灰嫉。

服務器渲染

服務器接到用戶請求之后拆宛,計算出用戶需要的數(shù)據,然后將數(shù)據更新成視圖(也就是一串dom字符)發(fā)給客戶端讼撒,客戶端直接將這串字符塞進頁面即可浑厚。這樣做的好處是響應很快,用戶體驗會比較好根盒,另外對于搜索引擎來說也是友好的瞻颂,有SEO優(yōu)化。

9郑象、箭頭函數(shù)和普通函數(shù)的區(qū)別

箭頭函數(shù)的this永遠指向其上下文的this,call(), bind(), apply()改變不了其this指向

10茬末、flex布局里常用的屬性

容器上的屬性:

Flex-direction 主軸方向 橫著|豎著

Flex-wrap? 默認情況下項目都排在一條線上厂榛,這個屬性定義一條線排不下如果換行

Flex-flow 是以上兩個屬性的簡寫

Justify-content 定義了項目在主軸上的對齊方式

align-items? 項目在交叉軸上是如何對齊的

align-content 定義了多根軸線的對其方式,如果項目只有一根線丽惭,改屬性不起作用

項目上的屬性:

? ? Order? ? ? 定義項目的排列順序击奶。數(shù)值越小,排列越靠前

? ? Flex-grow? 定義項目的放大比例责掏,默認為0柜砾,即使存在剩余空間也不放大

? ? Flex-shrink 定義項目的縮小比例,默認為1 如果空間不足换衬,改項目縮小

? ? Flex-basis? 定義了在分配多余空間之前痰驱,項目占據的主軸空間(main size)。瀏覽器根據這個屬性瞳浦,計算主軸是否有多余空間担映。它的默認值為auto,即項目的本來大小叫潦。

? ? ? Flex? ? ? 屬性是flex-grow, flex-shrink 和 flex-basis的簡寫蝇完,默認值為0 1 auto。后兩個屬性可選矗蕊。

? ? ? align-self? 屬性允許單個項目有與其他項目不一樣的對齊方式短蜕,可覆蓋align-items屬性

11、grid布局里常用的屬性

父容器上的屬性:

? .Wrapper{

Display:grid? ? 設置成grid布局

Grid-template-columns:200px 50px 100px;? 子元素有3列 以及每個子元素列寬

Grid-template-rows:100px 30px? ? 子元素有2行 以及每一行的高度

}

子容器

.item{

Grid-column-start:1? 從第一個網格線開始

Grid-column-end:3? 第三個網格線結束?

/*Grid-column:1/3也可以簡寫*/

}

12傻咖、promise

解決es5多層函數(shù)的回調:

參考網址 :http://www.cnblogs.com/whybxy/p/7645578.html

Promise的構造函數(shù)接收一個參數(shù)朋魔,是函數(shù),并且傳入兩個參數(shù):resolve卿操,reject铺厨,分別表示異步操作執(zhí)行成功后的回調函數(shù)和異步操作執(zhí)行失敗后的回調函數(shù)缎玫。

13、promise和setTimeout的區(qū)別

---兩個調用的都是異步任務解滓,都通過任務隊列進行管理

---任務隊列分為宏任務隊列和微任務隊列

---宏任務隊列: setTimeout,setInterval赃磨;微任務隊列:promise

14、mvvm和mvc模式的區(qū)別

1)洼裤、mvvm的核心是數(shù)據圍繞著產生修改邻辉、修改,出現(xiàn)了業(yè)務邏輯腮鞍;圍繞著數(shù)據的顯示值骇,出現(xiàn)了不同界面

2)、mvvm做到了view和model的完全分離移国,

3)吱瘩、可以實現(xiàn)雙向數(shù)據綁定

15、webpack常用配置

webpack.config.js里

1>迹缀、入口entery entry有三種寫法? 字符串使碾、數(shù)組、對象

2>祝懂、出口output的配置

output:?{

????path:?__dirname?+?'/build',

????filename:?'[name]-[id].js',

????publicPath:?'/asstes/'

}

Path:指定輸出文件路徑

Filename:輸出文件名稱

PublicPath:資源訪問路徑

3>票摇、module 配置loader? css、style砚蓬、html睁本、less的loader配置

? modules:?{

?loaders:?[

? ? ? ? {

? ? ? ? ? ?test:?/\.js$/,?//匹配希望處理文件的路徑

????????????exclude:?/node_modules/,?// 匹配不希望處理文件的路徑

????????????loaders:?'xxx-loader?a=x&b=y'??//此處xxx-loader 可以簡寫成xxx , 捅儒?后以query方式傳遞給loader參數(shù)

????????},

????????...

????]

}

5>漆撞、plugins 插件的配置

6>限次、devServer 配置開發(fā)功能

16、如何開啟設備的硬件加速

何為硬件加速:就是將瀏覽器的渲染過程交給GPU處理摩梧,而不是使用自帶的比較慢的渲染器峡扩。這樣就可以使得animation與transition更加順暢。

如何開啟硬件加速:

CSS animations, transforms 以及 transitions 不會自動開啟GPU加速障本,而是由瀏覽器的緩慢的軟件渲染引擎來執(zhí)行教届。那我們怎樣才可以切換到GPU模式呢,很多瀏覽器提供了某些觸發(fā)的CSS規(guī)則驾霜。

現(xiàn)在案训,像Chrome, FireFox, Safari, IE9+和最新版本的Opera都支持硬件加速,當它們檢測到頁面中某個DOM元素應用了某些CSS規(guī)則時就會開啟粪糙,最顯著的特征的元素的3D變換强霎。


17、怎樣判斷頁面是否加載完成蓉冈?

用document.onreadystatechange的方法來監(jiān)聽狀態(tài)改變城舞,?

18轩触、列舉引起回流和重繪的因素:

1>、添加或者刪除可見的DOM元素家夺;

2>脱柱、元素位置改變;

3>拉馋、元素尺寸改變——邊距榨为、填充、邊框煌茴、寬度和高度

4>随闺、內容改變——比如文本改變或者圖片大小改變而引起的計算值寬度和高度改變;

5>蔓腐、頁面渲染初始化矩乐;

6>、瀏覽器窗口尺寸改變——resize事件發(fā)生時回论;

19散罕、call、bind透葛、apply的區(qū)別

都是改變this 指向的,call和apply都是function這個類原型上的方法卿樱,函數(shù)作為實例都可以調用function這個類原型上的方法

apply:和call基本上一致僚害,唯一區(qū)別在于apply是以數(shù)組的形式傳參

bind:語法和call一模一樣,區(qū)別在于 call改變this關鍵字后會立即執(zhí)行繁调;而bind不立即執(zhí)行

哪個性能更好些呢萨蚕?

call的性能更好一些,尤其是在傳遞給函數(shù)的參數(shù)超過3個的時候 蹄胰,所以開發(fā)的時候可以使用call多一點

eg:

let arr=[10,20,30],

? ? ?obj={};

function fn(x,y,z){}? ??

fn.call(obj,..arr) //es6的展開運算符也可以實現(xiàn)把數(shù)據中的每一項依次傳遞給函數(shù)

fn.apply(obj,arr)

20岳遥、for in 和for of的區(qū)別,對象是否可以使用for of 進行遍歷

1>裕寨、推薦在循環(huán)對象屬性的時候浩蓉,使用for...in,在遍歷數(shù)組的時候的時候使用for...of。

2>宾袜、for...in循環(huán)出的是key捻艳,for...of循環(huán)出的是value

3>、注意庆猫,for...of是ES6新引入的特性认轨。修復了ES5引入的for...in的不足(for in可以遍歷出自定義的屬性和方法,for of不會循環(huán)出來)

3>月培、for...of不能循環(huán)普通的對象嘁字,需要通過和Object.keys()搭配使用先獲取對象的所有key的數(shù)組然后遍歷:

21恩急、什么是前后端分離

前端負責客戶端的用戶交互界面、邏輯纪蜒、顯示數(shù)據衷恭;后端負責數(shù)據的處理和存儲,提供數(shù)據霍掺。后端不再套頁面匾荆,前后端代碼不再融合到一起,分工明細杆烁,降低維護成本牙丽,前端自己可以調試頁面

22、防抖函數(shù)和節(jié)流函數(shù)的區(qū)別

? 函數(shù)的節(jié)流:指定時間內容js方法只跑一次兔魂。應用場景:監(jiān)聽頁面元素滾動事件烤芦。

? 函數(shù)的防抖:頻繁出發(fā)的情況下,只有足夠的空閑時間才執(zhí)行一次代碼析校。應用場景:手機

號碼驗證构罗、郵箱驗證

函數(shù)節(jié)流


函數(shù)防抖

參考:https://www.cnblogs.com/walls/p/6399837.html

23、js預處理機制

在當前作用域中 js代碼執(zhí)行之前智玻,瀏覽器會對所有帶var 進行聲明遂唧,對function進行聲明+定義

預解釋是一種毫無節(jié)操的機制

1>、不管條件是否成立都要把帶var的進行提前聲明

2>吊奢、只對=左邊的進行預解釋盖彭,等號右邊的是值,不參與預解釋:匿名函數(shù)之函數(shù)表達式

3>页滚、自只執(zhí)行函數(shù)不進行預解釋

4>召边、return下面的代碼雖然不執(zhí)行了也要進行預解釋

5>、如果名字已經聲明過了不需要從新聲明裹驰,但需要重新定義

24 隧熙、移動端的點透現(xiàn)象。(tap幻林、click區(qū)別)

Tap和click比較:

1>贞盯、Tep和click都會觸發(fā)點擊事件,但在web手機端? click會有300ms的延遲問題沪饺,所以用tap代替click

2>邻悬、zepto框架里的tap規(guī)避了click? 300ms的延遲問題,但會出現(xiàn)穿透問題

3>随闽、解決問題:還是用click事件 使用fastclick解決300ms延遲問題父丰;

? 或者 為元素綁定touchend事件,并在內容加上e.preventDefault();

25、寫一個手機正則驗證

reg=/^1[34578]\d{9}$/

26蛾扇、null和undefined區(qū)別

Null: 代表空值攘烛,代表一個空對象指針,用typeof運算得到 “object”镀首,你可以認為它是一個特殊的對象值

Undefined:聲明一個變量未初始化時坟漱,得到的就是undefined

27、ie盒子模型和標準w3c盒子模型

? ? 都包括margin border padding content?

? ? ? 區(qū)別:ie盒子模型的寬度= width+padding+border

? ? ? ie5及更早版本使用的是ie盒子模型更哄,ie6及以上版本在標準兼容模式下使用的是w3c盒子模型

28芋齿、css3的@font-face 如何獲得自定義字體

29、:nth-child和 :nth-of-type區(qū)別

:nth-child()選擇某個元素的一個或多個特定子元素(不限制標簽成翩,只要是子元素都算在內)

:nth-of-type() (用法同nth-child觅捆,只是它限制了標簽必須是li)選擇指定的元素

30、數(shù)組的深度拷貝?

1>麻敌、Slice方法:(只適用于不包含引用對象的一維數(shù)組的深度拷貝)

2>栅炒、concat方法(只適用于不包含引用對象的一維數(shù)組的深度拷貝)

4>、js遍歷數(shù)組的方法:也只是實現(xiàn)了錢拷貝

5>术羔、適用json方法 (此方法存在兼容問題) 并且如果對象里邊存在函數(shù)的話 也會拷貝失斢蕖(如果obj里有函數(shù),undefined级历,則序列化的結果會把函數(shù)或 defined丟失)

31释移、手機頁面頭部需要怎么設置

設置meta的 viewport? 寬度為設備寬度,初始縮放比例寥殖,最大縮放比例玩讳,最小縮放比例為1,禁止用戶手動縮放

32扛禽、用webpack怎樣構建項目

1>锋边、新建文件夾

2>皱坛、在文件夾里創(chuàng)建package.json配置文件:npm init

3>编曼、安裝webpack依賴

先全局安裝webpack:npm install webpack -g

再安裝項目依賴:npm install webpack -save-dev

4>?、創(chuàng)建 入口文件 index.js

5>剩辟、創(chuàng)建index.html

6>掐场、創(chuàng)建 webpack.config.js

7>、執(zhí)行webpack 打包輸出命令 執(zhí)行完后會多出一個dist文件夾里邊有一個bundle.js

8>贩猎、測試結果 index.html 里引入bundle.js,最后用在瀏覽器里打開index.html

33熊户、獲取瀏覽器版本號:判斷是否為ie瀏覽器

Var agent=navigator.userAgent

判斷是否為ie? if(agent.indexOf(‘msie’)){}? ? msie(Microsoft Internet Explorer)

34、webstrom里的批量替換快捷鍵

ctrl+shift+r:批量替換

35吭服、math 里的方法

向下取整 Math.floor()? ? 向上取整 Math.ceil()?

取絕對值 Math.abs()? Math.round() 四舍五入

求最大值? Math.max(12,26,56)

求最小值? Math.min(12,26,56)

獲取0-1之間的隨機數(shù) Math.random()

36嚷堡、Number()、parseInt()、parseFloat()

? ? Number():強制將其他數(shù)據類型轉成number類型蝌戒,要求如果是字符串串塑,字符串一定都需要時數(shù)字才能轉換? Number(‘12’)=>12? Number(‘12px’) =>NaN

? ? 非強制轉換:

parseInt():從左到右一個一個查找,把是數(shù)字的轉換成有效的數(shù)字北苟,中途遇到一個非有效數(shù)字就不在查找了? parseInt(‘12px’)=>12? parseInt(‘12.5px’)=>12

parseFloat():同上可以多識別一個小數(shù)點:parseFloat(‘12.5px’)=>12.5

37桩匪、將文檔聲明為h5文檔需要在文檔頭添加:<!DOCTYPE html>

38、form標簽特有的屬性?

Action:提交表單時向何處發(fā)送表單數(shù)據

Method:get友鼻、post

Enctype:發(fā)送表單數(shù)據之前如何對其進行編碼

40傻昙、position 的absolute與fixed共同點和不同點

共同點:

1>、改變行內元素的呈現(xiàn)方式彩扔,display被置block

2>妆档、讓元素脫離普通流,不占據空間

3>借杰、默認會覆蓋到非定位元素上

不同點:

1>过吻、absolute的根元素是可以設置的,而fixed的根元素 固定為瀏覽器窗口

2>蔗衡、當滾動頁面的時候fixed元素與瀏覽器窗口之間的距離是不變的

42纤虽、用HTML、css和js魔力實現(xiàn)下拉框绞惦,使得下拉框在各個瀏覽器的樣式和行為完全一致逼纸。說出你的設計方案,并且重點說明功能設計實現(xiàn)時要考慮的因素济蝉。

43杰刽、自定義一個瀏覽器兼容的事件綁定方法需要注意哪些問題?

? 使用DOM2給瀏覽器綁定事件 用addEventListener? box.addEventListener(‘click’,fn1,false)

但ie6-8不兼容只能用attachEvent? box.attachEvent(‘onclick’,fn1)

AttachEvent存在的兼容性問題:

? ? 1>王滤、順序問題:執(zhí)行的時候順序是亂的贺嫂,標準瀏覽器是按照綁定順序執(zhí)行

? ? 2>、重復問題:ie6-8可以給同一個元素的同一個行為綁定多個相同的方法

? ? 3>雁乡、this問題:ie6-8中當方法執(zhí)行的時候第喳,方法中的this不是當前元素box,而是window

45踱稍、js里的循環(huán)有哪幾種

參考網址:https://blog.csdn.net/qq_41899174/article/details/82797089?

1--for循環(huán):

1>曲饱、常規(guī)for循環(huán):

設置初始值var i=0;設置循環(huán)執(zhí)行的條件i<5珠月;執(zhí)行循環(huán)體中的內容扩淀;每一輪循環(huán)完成后都執(zhí)行i++累加操作

2>、for in循環(huán) 遍歷對象啤挎,自定義屬性名值也遍歷出來了驻谆,循環(huán)出來的是key值

3>、for of循環(huán) 循環(huán)數(shù)組,不會遍歷出自定義屬性胜臊,循環(huán)出來的是值

2--While循環(huán)

3--Do while循環(huán)

4--map()氛谜、forEach()、filter()区端、some()值漫、every() 遍歷數(shù)組

46、html和html5织盼,css和css3的區(qū)別杨何?

? ? Html和html5區(qū)別:

1>、文檔類型聲明不同:html5是<!DOCTYPE html>

2>沥邻、html5新增了結構語義化的標簽 header footer artical main nav aside

3>危虱、html5新增了繪圖功能 canvas svg

4>、新增了input元素的類型和屬性

Css和css3的區(qū)別

Css3比css多了一些樣式設置例如:border-radius? transition animation transform box-show唐全,css3對于低版本的瀏覽器不兼容

47埃跷、undefined和null的區(qū)別

? Undefined是聲明了一個變量未初始化,得到的是undefined

? Null 代表“空值”邮利,代表一個空對象指針弥雹,使用typeof得到”object”,所有你可以認為它是一個特殊的對象值

48延届、document.write和innerHTML的區(qū)別

? Document.write是直接將內容寫入頁面的內容流剪勿,會導致頁面被重寫

? InnerHTML將內容寫入某個DOM節(jié)點,不會導致頁面全部重繪

? innerHTML很多情況下優(yōu)于Document.write

49方庭、ajax過程

1>厕吉、創(chuàng)建一個ajax對象? var? xhr=new XMLHttpRequest

2>、設置回調函數(shù)? xhr.onreadystatechange=callback;

3>械念、使用open方法與服務器建立連接 xhr.open(“get”,”/data.tex”,false)

4>头朱、向服務器發(fā)送請求? xhr.send()

5>、在回調函數(shù)中針對不同的響應狀態(tài)進行處理

If(xhr.readyState===4&& /^2\d{2}$/.test(xhr.status)){

Var val=xhr.responseText

Document.getElementById(“info”).innHTML=val

}

50龄减、進程和線程的區(qū)別

進程是資源分配的最小單位项钮,線程是程序執(zhí)行的最小單位

進程有自己的獨立地址空間

同一進程下線程共享全局變量等數(shù)據

多個線程程序只要有一個線程死掉整個進程也就死掉了,但不會影響其他進程

51欺殿、get寄纵、post區(qū)別和各自的特點

區(qū)別:

1>鳖敷、“大小問題”:get請求傳遞給服務器的內容存在大小限制脖苏,post理論上是沒有限制的,因為get通過url傳參給服務器定踱,每個瀏覽器對于url的長度是存在限制的

2>棍潘、“緩存問題”:get請求會出現(xiàn)緩存,post是沒有緩存的,在項目中用get請求一般是不會讓其出現(xiàn)緩存“清除緩存”在url末尾追加一個隨機數(shù)

3>亦歉、“安全問題”:get不安全恤浪,而post相對安全一些

4>、“傳參上”:get使用url傳參肴楷,post在請求主體中傳參

5>水由、“后退頁面”:get請求后退頁面時不產生影響,post會重新提交請求

6>赛蔫、“參數(shù)是否可見”:get參數(shù)url可見砂客,post? url參數(shù)不可見

特點:get一般用于從服務器獲取數(shù)據

? ? ? Post一般用于向服務器推送數(shù)據

52 、解釋下浮動和它的工作原理呵恢?清除浮動的技巧

浮動元素脫離文檔流鞠值,不占據空間

1>、使用空標簽清除浮動

2>渗钉、使用overflow

3>彤恶、使用after偽類對象清除浮動

53、js延遲加載的方式有哪些鳄橘?

1>声离、defer屬性? <script src=”file.js” defer></script>

? ? 瀏覽器會并行下載file.js和其他有defer屬性的script,并不會阻塞頁面的后續(xù)處理瘫怜,所有的defer腳本保證是按順序依次執(zhí)行的

2>抵恋、async屬性? <script src=”file.js” async></script>

? async屬性是html5新增的。作用和defer類似宝磨,但是它將在下載后盡快執(zhí)行弧关,不能保證腳本會按順序執(zhí)行。它們將在onload事件之前完成

Firefox3.6唤锉、Opera 10.5世囊、IE 9和 最新的Chrome 和 Safari 都支持 async 屬性×椋可以同時使用 async 和 defer株憾,這樣IE 4之后的所有IE 都支持異步加載。

6>晒衩、讓js最后加載

54嗤瞎、git命令

git init? (初始化本地git環(huán)境)

git clone xxx (克隆一份代碼到本地倉庫)

git status(查看工作區(qū)、暫存區(qū)的狀態(tài))

git add 文件名 (將工作區(qū)新建/修改的內容添加到暫存區(qū))

git commit -m “commit message” 文件名(將暫存區(qū)的內容提交到本地庫)

git push 把本地庫的修改提交到遠程庫

git checkout master/branch //切換到某個分支

git checkout -b test //新建test分支

git checkout -d test //刪除test分支

git merge master //假設當前在test分支上面听系,把master分支上的修改同步到test分支上

git log //查看當前分支上面的日志信息

55贝奇、【功能】有一個問卷調查,一個問題可能要一個單獨的驗證靠胜,比如第一個題:單選掉瞳、第二個題是選擇毕源。用原型上的類或者es6的class

56、Query 在元素末尾追加內容

可以用innerHTML但會對原來造成一定影響陕习,用append方法 把內容追加到元素末尾

57霎褐、==比較

58、node的優(yōu)點和缺點

優(yōu)點:

? ? 采用事件驅動 異步編程该镣;

? ? 非阻塞模式的io處理使node.js在相對較低的資源消耗下的高性能域出眾的負載能力冻璃;

Node.js輕量高效,是數(shù)據密集型實時應用系統(tǒng)的完美解決方案损合;

缺點:

? ? 單線程俱饿,單進程,只支持單核cpu塌忽,不能充分的利用多核cpu服務

? ? 對程序員要求高一旦進程崩潰拍埠,整個web服務就崩潰了;

? ? 不適合做復雜性能很高的計算土居;

59枣购、element-ui 和html的區(qū)別

60、canvas和svg的區(qū)別

Canvas 是用于在網頁上繪制圖形擦耀,

Svg是可伸縮矢量圖形棉圈,用于定義網絡的基于矢量的圖形,圖像在放大或者改變尺寸的情況下圖形質量不會有損失

62眷蜓、用canvas畫一條線

63分瘾、清楚浮動

方法一:使用偽類after(推薦)

.clearfix

? display:inline-block

? &:after

? ? display:block

? ? content:'.'

? ? clear:both

? ? height: 0

? ? line-height: 0

? ? visibility:hidden

方法二:在結尾處空div標簽

.clear{clear:both}

? ? ? <div class=”clear”></div>

方法三:給父級div加 overflow:hidden ,必須定義width或zoom:1 ,同時不能加height

.div1{width:98%;overflow:hidden}

方法四:給父級div加 overflow:auto,必須定義width或zoom:1 吁系,同時不能加height

.div1{width:98%;overflow:auto}

64德召、移動端布局用vm

65、300ms延遲的由來

66汽纤、網站安全問題

參考地址:https://blog.csdn.net/qq_38160012/article/details/80574746

1>上岗、盡量使用post ,限制get的使用

2>蕴坪、過濾用戶輸入的內容不能帶html標簽

3>肴掷、token驗證

4>、驗證碼:強制用戶必須與應用進行交互背传,才能完成最終請求

67呆瞻、實現(xiàn)響應式布局

1>、添加 meta標簽

? ? <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<meta name="HandheldFriendly" content="true">

2>径玖、先做出一版不是響應式 的pc版痴脾;width不設置或者用百分比

3>、圖片設置? img{max-width:100%;height:auto}

4>挺狰、在css里添加斷點 (由又大到忻鞴)排在最下邊的權限最高

? ? @media? screen? and (max-width: 960px) {}

/*ipad*/

@media? screen? and (max-width: 768px) {}

/*iphone 6 plus*/

@media? screen? and (max-width: 414px) {}

/*iphone 6*/

@media? screen? and (max-width: 375px) {}

/*iphone 4*/

@media? screen? and (max-width: 320px) {}

68、decodeURI的用法

? 1>丰泊、decodeURI() 函數(shù)可對 encodeURI() 函數(shù)編碼過的 URI 進行解碼薯定。

? 2>、decodeURIComponent() 函數(shù)可對 encodeURIComponent() 函數(shù)編碼的 URI 進行解碼瞳购。

區(qū)別:encodeURI()不會對本身屬于URI的特殊字符進行編碼话侄,例如冒號、正斜杠学赛、問號和井字號年堆;而encodeURIComponent()則會對它發(fā)現(xiàn)的任何非標準字符進行編碼

69、用jquery獲取選中input的val值

如果input的name是相同的可以用: $("input[name='man']:checked").val()

如果name是不同的:$("input:checked").val()

70盏浇、簡述js和jquery中on()变丧、click()和onclick()綁定點擊事件的方法和區(qū)別

Js中事件綁定 :

? odiv.onclick=function(){}

? odiv.addEventListener(“click”,function(){},false)事件監(jiān)聽

Jquery中事件綁定:

? on(),bind(),delegate(),live() 就這四種方式

?click()方法 當單機時觸發(fā)click事件 eg:$("p").click(function(){})

72、Typeof

參考地址:https://blog.csdn.net/yellowmushroom/article/details/80249493

基本數(shù)據類型返回的是自己對應的類型

復雜數(shù)據類型绢掰,如果是對象痒蓬,則返回的是object,如果的function類型,則返回的是function

73、setTimeout

for(var i=0;i<5;i++){

setTimeout(function(){

console.log(i)

},1000)

}

解決辦法一:

for(var i=0;i<5;i++){

(function(i){

setTimeout(function(){

console.log(i)

},1000)

})(i)

}

解決辦法二:

for(let i=0;i<5;i++){

setTimeout(function(){

console.log(i)

},1000)

}

74滴劲、什么是“平穩(wěn)退化”和“漸進增強”理念攻晒?

“平穩(wěn)退化”是在瀏覽器沒有JavaScript功能,或沒有開啟JavaScript功能情況下班挖,我們解決這種問題的 方式鲁捏;“漸進增強”是在瀏覽器開啟JavaScript功能后,如果瀏覽器版本不支持某些JavaScript能力萧芙,我們解決這種問題的方式给梅。

75、在ios上打開列表頁双揪,滾動的時候會出現(xiàn)卡頓

?解決方式:

?over-flow: auto;? ? /* winphone8和android4+ */

-webkit-overflow-scrolling: touch;? ? /* ios5+ */

如果還是不行破喻,在滾動區(qū)域元素添加以下方法:

1.添加上overflow-y: scroll;

2.添加z-index盟榴;

76曹质、多行文字垂直居中

.container{display:table}

.text{display:table-cell;vertical-align:middle}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市擎场,隨后出現(xiàn)的幾起案子羽德,更是在濱河造成了極大的恐慌,老刑警劉巖迅办,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宅静,死亡現(xiàn)場離奇詭異,居然都是意外死亡站欺,警方通過查閱死者的電腦和手機姨夹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門纤垂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人磷账,你說我怎么就攤上這事峭沦。” “怎么了逃糟?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵吼鱼,是天一觀的道長。 經常有香客問我绰咽,道長菇肃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任取募,我火速辦了婚禮琐谤,結果婚禮上,老公的妹妹穿的比我還像新娘玩敏。我一直安慰自己笑跛,他們只是感情好,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布聊品。 她就那樣靜靜地躺著飞蹂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪翻屈。 梳的紋絲不亂的頭發(fā)上陈哑,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天,我揣著相機與錄音伸眶,去河邊找鬼惊窖。 笑死,一個胖子當著我的面吹牛厘贼,可吹牛的內容都是我干的界酒。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼嘴秸,長吁一口氣:“原來是場噩夢啊……” “哼毁欣!你這毒婦竟也來了?” 一聲冷哼從身側響起岳掐,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤凭疮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后串述,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體执解,經...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年纲酗,在試婚紗的時候發(fā)現(xiàn)自己被綠了衰腌。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片新蟆。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖右蕊,靈堂內的尸體忽然破棺而出琼稻,到底是詐尸還是另有隱情,我是刑警寧澤尤泽,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布欣簇,位于F島的核電站规脸,受9級特大地震影響坯约,放射性物質發(fā)生泄漏。R本人自食惡果不足惜莫鸭,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一闹丐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧被因,春花似錦卿拴、人聲如沸罕伯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽圈暗。三九已至粥鞋,卻和暖如春缘挽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背呻粹。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工壕曼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人等浊。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓腮郊,卻偏偏與公主長得像,于是被迫代替她去往敵國和親筹燕。 傳聞我的和親對象是個殘疾皇子轧飞,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內容

  • 前端開發(fā)面試題 面試題目: 根據你的等級和職位的變化,入門級到專家級撒踪,廣度和深度都會有所增加踪少。 題目類型: 理論知...
    怡寶丶閱讀 2,582評論 0 7
  • 請參看我github中的wiki,不定期更新糠涛。https://github.com/ivonzhang/Front...
    zhangivon閱讀 7,127評論 2 19
  • 概要 64學時 3.5學分 章節(jié)安排 電子商務網站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,196評論 0 3
  • HTML 5 HTML5概述 因特網上的信息是以網頁的形式展示給用戶的援奢,因此網頁是網絡信息傳遞的載體。網頁文件是用...
    阿啊阿吖丁閱讀 3,887評論 0 0
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,100評論 1 32