1.H5新增特性:
? a.用于播放video私爷,audio元素
? b.繪畫canvas元素
? c.localStorage:長(zhǎng)期存儲(chǔ)砌滞,瀏覽器關(guān)閉數(shù)據(jù)不丟失调炬;sessionStorage:瀏覽器關(guān)閉自動(dòng)刪除
? d.內(nèi)容元素:footer唯鸭,header派草,section? 表單控件:date搀缠,time,email
2.CSS3新特性:
? a.選擇器
? b.透明度
? c.文字陰影
? d.媒體查詢
? e.多欄布局近迁,多背景圖艺普,圓角(邊框半徑),盒子大小
3.CSS幾種布局鉴竭,各自特點(diǎn):
? a.flex布局:也叫盒子布局歧譬,根據(jù)指定寬度進(jìn)行布局,父元素:(display:flex),子元素:(寬度:flex:1)
? b.float布局:注意浮動(dòng)元素(高度塌陷解決方法:overflow:auto或者h(yuǎn)idden,給父元素加一個(gè)aftre偽類)
? c.響應(yīng)式布局:meta標(biāo)簽(使用rem)結(jié)合媒體查詢@media進(jìn)行響應(yīng)式布局
4.CSS水平垂直居中:
? a.margin:0 auto;(注意設(shè)置寬度)
? b.position: top 50% left 50% 減去元素自身寬度距離(未知寬度用transform)
? c.flex布局:justify-content:center(水平居中)align-items:center(垂直居中)
5.如何讓Chrome支持小于12px的字體
? -webkit-transform:scale(XX);
6.rem:相對(duì)于頁面根元素<html>元素搏存,通常做法是給html元素設(shè)置一個(gè)字體大小瑰步,然后其他元素的大小就是相對(duì)于根元素的大小
? em:相對(duì)于父元素字體大小,元素的width/height/padding/margin用em的話是相對(duì)于該元素的font-size
? vw/vh:視窗的寬度和高度璧眠,相對(duì)于屏幕寬度和高度的1%缩焦,處理寬度的時(shí)候%單位更合適,高度vh更合適
? px:像素蛆橡,相對(duì)于屏幕分辨率而言
7.JS哪幾種數(shù)據(jù)類型:Undefined舌界、Null、Boolean泰演、Number和String? 還有個(gè)object
8.JS中的this:
? 個(gè)人理解(誰調(diào)用的便指向誰)
9.JS數(shù)組有哪些方法:
? a.isArray()判斷變量是否是一個(gè)js數(shù)組
? b.forEach()遍歷數(shù)組
? c.map()創(chuàng)建新函數(shù)
? d.reduce()對(duì)數(shù)組中每個(gè)元素執(zhí)行函數(shù)生成一個(gè)值
? e.every()檢查數(shù)組中某個(gè)元素是否符合某一條件
? f.indexOf()查找原色
? g.slice()呻拌;push():添加元素;split():分割成字符串?dāng)?shù)組
10.es6常用的一些功能:
? a.let const var :
? ? let睦焕、const聲明的變量?jī)H在塊級(jí)作用域內(nèi)有效藐握,var 聲明變量是全局的靴拱,沒有塊級(jí)作用域功能
let 、const 不存在變量提升 , var 存在變量
let 猾普、const不能在同一塊級(jí)作用域內(nèi)重復(fù)申請(qǐng)
var變量可以重復(fù)聲明袜炕,值可改變;在同一個(gè)塊級(jí)作用域下:let變量不能重新聲明初家;const定義的變量是常量偎窘,聲明時(shí)必須賦值,但不允許重復(fù)賦值溜在,如果定義的是引用類型陌知,可以修改數(shù)據(jù)內(nèi)部結(jié)構(gòu)。
? b.字符串拼接掖肋,可不用+仆葡,可以反引號(hào)解決
? c.鉤子箭頭函數(shù):也是回調(diào)函數(shù)的一種,先對(duì)所有消息事件進(jìn)行攔截再執(zhí)行鉤子函數(shù)志笼,本質(zhì)上是事件最后所運(yùn)行的函數(shù)
? d.語法糖沿盅,可以用class,constructor
11.閉包
? 閉包可理解為一個(gè)作用域纫溃,一個(gè)函數(shù)能夠訪問其函數(shù)外部作用域中的變量
? 例:var local = '變量'
? ? ? function foo(){
console.log(local)
//在函數(shù)內(nèi)部可訪問local變量
? }
12.http協(xié)議和baihttps協(xié)議的區(qū)別:傳輸信息安全性不同腰涧、連接方式不同、端口不同(分別對(duì)應(yīng)80和443)皇耗、證書申請(qǐng)方式不同
13.http常用狀態(tài)碼
? a.1XX 臨時(shí)相應(yīng)
? b.2XX 成功
? c.3XX 重定向
? d.4XX 請(qǐng)求錯(cuò)誤 400:服務(wù)器不理解的請(qǐng)求的語法 401:未授權(quán) 403:禁止請(qǐng)求 404:未找到
? e.5XX 服務(wù)器錯(cuò)誤 500:服務(wù)器內(nèi)部錯(cuò)誤 502:錯(cuò)誤網(wǎng)關(guān) 503:服務(wù)不可用 504:超時(shí)
14.get與post:
? a.get從服務(wù)器獲取數(shù)據(jù)南窗,post向服務(wù)器傳送數(shù)據(jù)
? b.get將數(shù)據(jù)提交到表單中,在URL中可看到郎楼,post通過HTTP post機(jī)制万伤,看不到,get安全性不高
? c.get在服務(wù)器端用Request.QuerString獲取變量值 post在服務(wù)器用Request.Form獲取數(shù)據(jù)
? d.post向服務(wù)器傳送數(shù)據(jù)傳送數(shù)據(jù)量大于get
? e.GET參數(shù)通過URL傳遞呜袁,POST放在Request body中
15.Cookie:一般由服務(wù)器生成敌买,可設(shè)置失效時(shí)間。如果在瀏覽器端生成Cookie阶界,默認(rèn)是關(guān)閉瀏覽器后失效虹钮。存放數(shù)據(jù)小
? localStorage:長(zhǎng)期存儲(chǔ),瀏覽器關(guān)閉數(shù)據(jù)不丟失
? sessionStorage:瀏覽器關(guān)閉自動(dòng)刪除
16.Promise
? a.處理異步操作的對(duì)象
? b.三種狀態(tài):進(jìn)行中(pending)膘融,成功(resolved)芙粱,失敗(rejected)
? c.then方法里面實(shí)為回調(diào)函數(shù)
? 例子:https://blog.csdn.net/weixin_41888813/article/details/82882375?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
? ? ? ? https://blog.csdn.net/qq20004604/article/details/76228705
17.MVC(Model-View-Controller)
? MVVM(Model-View-ViewModel):核心數(shù)據(jù)模型數(shù)據(jù)雙向綁定,通過ViewModel進(jìn)行交互氧映,Model和ViewModel之間的交互是雙向的春畔,因此視圖的數(shù)據(jù)的變化會(huì)同時(shí)修改數(shù)據(jù)源,而數(shù)據(jù)源數(shù)據(jù)的變化也會(huì)立即反應(yīng)到View上
18.前端優(yōu)化方案:
? ①頁面優(yōu)化:a.減少http請(qǐng)求
? ? ? ? ? ? ? b.資源合并
? c.圖片懶加載
? d.減少css表達(dá)式使用,因?yàn)榻馕鲆?guī)則從右至左
? ②代碼優(yōu)化:a.減少閉包操作
? ? ? ? ? ? ? b.減少DOM的操作
? c.避免嵌套循環(huán)
? d.js封裝減少冗余代碼