日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

面试题整理(全)

發布時間:2023/12/18 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面试题整理(全) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

HTML/CSS

1.行內元素和塊級元素的區別?

2.列舉塊級標簽和行內標簽

3.css選擇器優先級

JavaScript基礎

1.js有哪些數據類型?

2.type of和instance of的區別

3.怎么判斷兩個對象相等?

4.js中定義函數的方式

5.js中函數有哪些調用形式?

6.==和===的區別

7.null和undefined區別

8.列舉數組api

9.列舉字符串api

10.document.write和innerHTML區別

11.區分split()slice(),splice(),join()

12.列舉3強制轉換2隱式轉換

13.如何判斷一個變量foo是數組

14.創建函數,對象,數組的方法(常用)

?15.判斷是否是數組

16.深拷貝和淺拷貝

19.數組去重

JavaScript高級

1.什么是原型對象?

2.什么是原型鏈?

3.什么是構造函數?

4.js實現繼承的方式

5.什么是閉包?有什么作用?注意

6.什么是內存泄露?哪些操作會引起內存泄露

7.什么是預解析?

8.this關鍵字指向問題

9.call()apply()和bind()的區別

10.caller和callee的區別

11.new操作符具體做了什么?

12.js中eval的功能是什么?缺點是什么?

13.封裝,繼承,多態

14.事件模型

15.宏任務和微任務

16.判斷數據類型的方法

17.字面量和new出來的對象和Object.create()創建出來的對象有什么區別

18.為什么JS是單線程的

19.箭頭函數和普通函數的區別

20.模塊化的好處

21.e.target和e.currentTarget的區別

22.exports和moudle.export的區別

23.JS性能優化

24.回流和重繪

25.link標簽和@import標簽

26.進程,線程

27.src和herf的區別

28.內存泄露以及解決

HTML5

1.html5有哪些新增標簽?

2.html5有哪些新增屬性?

3.readyonly和disabled的區別

4.哪些標簽存在偽元素?

5.html5的網頁為什么要寫

6.h5新增了哪些新特性?

7.sessionstorage,localstorage和cookie的區別

CSS3

1.px,em,rem的區別

2.CSS3新增偽類

3.pposition幾個屬性的作用

4:怎么讓一個不定寬高的div元素,垂直水平居中

5.清除浮動有哪些方式?

6.讓兩個塊級元素在一行顯示有哪些辦法?

7.如何設置一個元素垂直居中?

8.圖片懶加載的原理,圖片懶加載的插件

9.CSS3新增了哪些新特性?

10.display:none和visibility:hidden區別

11.less和scss

BOM/DOM

1.在一個頁面中給多個元素設置相同的id,會導致什么問題?

2.列舉dom元素增刪改查的api

3.bom中有哪些常用對象

4.什么是事件委托?原理?

5.js的幾種定時器,區別?

?

web

1.列舉常見的瀏覽器兼容問題

2.如何實現多個標簽頁的通信?

jQuery

1.$each()和$(selector).each()有什么不同?

2.$each()和foreach區別

3.原生js的window.onload與jQuery的$(document).ready(function(){},$function(){})區別

4.jQuery實現連式編程的原理

5.jQuery如何多次給同一個標簽綁定同一個事件?

6.如何開發jQuery插件?

7.jQuery哪些方法不支持鏈式操作?

vue

1.vue如何封裝一個組件?

2.computed和watch的區別

3.對vue中插槽的理解?

4.v-if和v-show的區別

5.什么是vuex,在什么場景下使用

6.vue路由的使用步驟

7.常見的vue組件庫

8.對mvvm的理解

9.vue的生命周期

10.vue實現雙向數據綁定的原理?

11.vue創建組件的時候,data為什么要使用匿名函數return一個對象?

12.vue組件傳參

13.vue有幾種路由模式?

14.路由傳參之query和params

15.vue的優點

16.vue路由導航守衛和應用場景

17.vue如何定義一個過濾器?

18.vue如何自定義一個vue指令?

19.vue路由模塊中$route和$router的區別?

20.v-for指令循環遍歷時key屬性的作用?

21.vue和react的區別

22.vue有哪些常用的事件修飾符

23.vue常用的指令

24.vue如何解決插值表達式閃爍問題?

25.vue如何實現通過錨點值的改變切換組件?

26.vue中如何避免組件間樣式沖突

27.vue如何動態添加一個路由規則?

28.vue優化頁面加載效率的辦法

28.路由懶加載,組件懶加載

29.vue如何觸發一個自定義事件?

30.vue如何監聽自定義事件的執行?

31.vue如何移除自定義事件?

32.vm.$mount(selector)方法的作用

33.keep-alive組件的作用是什么?

34.vue如何手動銷毀一個vue實例

35.vue有哪些內置的組件?

36.vue實例中有哪些屬性?

37.vue.use(plugin)的作用?注意問題?

38.vm.$nextTick(fn)的作用

39.vue中混入(mixin)有什么作用

40.如何開發一個vue插件?

41.什么是ssr?如何實現ssr?

42.什么是spa?

43.首屏加載慢怎么解決

44.vue中data的屬性可以和methods中方法同名嗎,為什么?

45.vue權限管理

46.vue性能優化

47.組件中name的作用 ?

48.虛擬dom的優缺點

50.$refs

51.全局事件總線

?52.數據代理

?53.關于state和...mapState輔助函數

http/Ajax

1.常見http狀態碼

2.http請求方式

3.Ajax工作原理

4.如何解決跨域?

5.jsonp跨域原理

6.什么是同步和異步,哪種執行方式好?

7.get和post的區別

8.localstorage,sessionstorage和cookie的區別

9.一個頁面從輸入url到頁面加載顯示完成,整個過程發生了什么

10.http切換到https需要做什么?

11.什么是restfulapi?

12.什么是漸進增強和優雅降級

13.什么是頁面的回流和重繪?

14.如何優化頁面性能?

15.什么是cdn加速?

16.什么是seo?

17.為什么利用多個域名存儲靜態資源更有效?

18.移動端點擊事件有多少秒的延遲?原因?解決?

19.網站攻擊方式有哪些?

20.js中的垃圾回收機制

21.JS是單線程嗎?

22.JS如何實現異步操作?

23.分別介紹mvc,mvvm,mvp三種模式

24.清理瀏覽器緩存的方式

25.cookie機制,session機制,token機制

es6新特性

1.es6新增了哪些數據類型?

2.es6新增了哪些特性?

3.let和var的區別

4.async/await的使用場景

5.箭頭函數作用和使用

6.對promise的理解

微信小程序

1.微信小程序如何實現頁面跳轉?

2.簡單描述小程序的生命周期

3.微信小程序如何請求數據接口?

4.如何優化小程序代碼包的體積?

?


HTML/CSS

1.行內元素和塊級元素的區別?

塊級元素:

獨占一行

水平垂直方向的內外邊距有效,可設置

行內元素:

可以和其他非塊級元素共占一行

水平內外邊距有效,垂直內外邊距無效

2.列舉塊級標簽和行內標簽

塊級標簽:

div,p,h1-h6,section,header,footer

行內標簽:

span,em(i),strong(b),u,a

3.css選擇器優先級

!important

行內樣式

id選擇器

類選擇器

標簽選擇器

通配符選擇器

---權重比較---

?

JavaScript基礎

1.js有哪些數據類型?

基本類型:number,string,Boolean,null,undefined,bigint,symbol

引用類型:object

2.type of和instance of的區別

type of判斷變量數據類型,返回字符串

a? instance of b判斷b是不是在a的原型鏈上,可以判斷數據類型,返回布爾值

3.怎么判斷兩個對象相等?

先判斷兩者是不是對象

再判斷兩個對象的所有key值是否相等

最后判斷兩個對象的key對應的值是否相等

?

?

4.js中定義函數的方式

  • 函數聲明:function fn(){}
  • 函數表達式:var fn = function(){}
  • 構造函數:var fn = new Function(參數1,參數2,函數體)

5.js中函數有哪些調用形式?

普通函數

對象的方法

事件處理函數

構造函數

回調函數

6.==和===的區別

==比較值

===比較值和類型

7.null和undefined區別

  • 數據類型不一樣?,用typeof進行判斷,

null的數據類型是object,

undefined的數據類型是undefined

  • 比較

==時,二者相等

===時,二者不相等

  • 轉化成數字

null轉數字為0

undefined轉數字為nan

  • 定義

null代表空對象,是一個空指針

undefined代表定義了沒賦值

  • 應用場景

null

作為函數的參數,表示該參數不是對象

作為對象原型鏈的終點

定義變量用來保存對象,初始化

undefined

變量聲明,沒有賦值

定義了形參,沒傳實參

對象的屬性不存在

函數沒有返回值

函數有返回值,沒有賦值

?

8.列舉數組api

push將元素添加到數組末尾,返回數組長度

pop將數組最右一個元素刪除,返回被刪除的元素

unshift在數組開頭添加一個元素,返回數組長度

shift刪除數組開頭的元素,返回被刪除的元素

splice(index,lenght)刪除數組元素,index是指定位置的下標,length是刪除的長度

concat連接數組

reverse翻轉數組

9.列舉字符串api

substr(start,length)截取字符串

substring(start,end)截取字符串

slice截取一段字符串

indexof查找字符串是否含有某元素,有,返回下標,沒有,返回-1

lastindexof從后往前查找是否含有某元素

replace替換字符串

touppercase字符串轉大寫

tolowercase字符串轉小寫

charat獲取字符串指定索引的字符

10.document.write和innerHTML區別

document.write是指定在整個頁面區域的內容

innerHTML是指定某個元素的內容

11.區分split()slice(),splice(),join()

split()字符串轉數組

join()數組轉字符串

slice()從數組/字符串截取一段

splice()刪除指定的數組元素

12.列舉3強制轉換2隱式轉換

強制轉換:

轉number:Number()parseInt()parseFLoat()

轉字符串:String()toString()

轉布爾:Boolean()

隱式轉換:

隱式拼接字符串

數字+布爾自動轉數字

13.如何判斷一個變量foo是數組

  • foo instance of Array
  • foo.constructor==Array
  • Array.isArray(foo)
  • Object.prototype.toString.call(foo)=="[Object Array]"

14.創建函數,對象,數組的方法(常用)

函數:

  • 函數聲明創建:function 函數名(參數){}
  • 變量聲明創建:var a = function(參數){}
  • 構造函數創建:var a = new Function(參數)

對象:

  • 字面量:var obj = {name:xxx,age:xxx}
  • 構造函數:var obj= new Object()
  • 構造函數+原型:

數組:

?

?15.判斷是否是數組

?

16.深拷貝和淺拷貝

?17.es5新特性

  • 嚴格模式
  • 對象的屬性
  • 新增object接口
  • 新增數組api
  • 新增函數接口bind

18.es6新特性

  • let,const
  • 塊級作用域
  • 箭頭函數
  • 擴展運算符
  • class類
  • 參數增強
  • 解構賦值
  • 模板字符串 promise

19.數組去重

js數組去重的10種方法_sun6sian的博客-CSDN博客_js數組去重

JavaScript高級

1.什么是原型對象?

原型對象:函數的prototype屬性指向的對象,又用來存放實例對象的公有屬性和方法。所有的原型對象都是Object的實例

每一個函數都有一個prototype屬性,這個屬性的值是一個對象,叫做構造函數的原型對象。一般把構造函數的成員屬性綁定在prototype上,因為prototype上的屬性默認可以通過實例對象訪問到。好處就是每次通過new關鍵字創建實例對象的時候,這些方法不會在內存中北重復創建

?

2.什么是原型鏈?

原型:

顯式原型prototype 隱式原型__proto__

原型鏈:

如果某個對象查找屬性,自己和原型對象上都沒有,那就會繼續往原型對象的原型對象上去找,這個例子里就是Object.prototype,這里就是查找的終點站了,在這里找不到,就沒有更上一層了(null里面啥也沒有),直接返回undefined。 整個查找過程都是順著__proto__屬性,一步一步往上查找,形成了像鏈條一樣的結構,這個結構,就是原型鏈。所以,原型鏈也叫作隱式原型鏈。

?

?

3.什么是構造函數?

構造函數定義的時候,首字母一般大寫

構造函數調用的時候,必須用new關鍵字

使用時,用的是構造函數構造出來的實例對象,而不是構造函數

4.js實現繼承的方式

原型繼承

使用構造函數繼承

組合繼承

extends關鍵字繼承


es5繼承

先創建子類的實例對象,在實例化父類并添加到子類this中 原理:原型或構造函數機制 具體操作:

?es6繼承

先創建父類的實例對象this(所以必須先調用父類的super()方法),然后再用子類的構造函數修改this 原理: class關鍵字定義類,里面有構造方法 extends實現類之間的繼承 子類在constructor方法中調用super方法繼承父類的this對象(super指代父類的實例對象) 具體操作:

?

?

5.什么是閉包?有什么作用?注意

一個外層函數,包裹著一個內層函數和外層函數作用域的變量,內層函數通過return返回給外層函數,內層函數可以使用外層函數作用域的變量,當從外部調用內層函數時,外層函數組用域的變量被引用著無法釋放,形成閉包。

好處:

要保護的變量可以反復使用并且不會被外界篡改

延長變量的作用范圍

壞處:

內存泄露(變量用完不被釋放,占用內存)

在處理速度和內存消耗方面對腳本性能具有負面影響

6.什么是內存泄露?哪些操作會引起內存泄露

內存泄漏:指本應該被垃圾回收機制回收的內存空間由于某種特殊原因沒被回收

引起:濫用全局變量和閉包導致內存泄露

7.什么是預解析?

js代碼執行前,解析引擎先對代碼進行一個預先檢查,主要對變量和函數的聲明進行提升,將變量和函數的聲明提到代碼最前面。變量只提升聲明,不提升賦值

8.this關鍵字指向問題

  • 普通函數,this指向window
  • 構造函數,this指向new出來的實例對象
  • 事件處理函數,this指向事件源
  • 回調函數,this指向window
  • 對象的成員方法,誰調用方法,this就指向誰

9.call()apply()和bind()的區別

相同點:

都是改變this指向

第一個參數都是this指向的新對象

不同點:

傳參

call和bind可接收多個參數,第一個是this指向的新對象,后面的參數按順序引入

apply只能接收兩個參數,第一個是this指向的新對象,第二個是數組

函數調用

call和apply都是直接調用,立即執行

bind會創建一個新的函數,當被調用的時候,將其this關鍵字設置為提供的值,我們必須手動去調用

call用于對象的繼承 、偽數組轉換成真數組

apply用于找出數組中的最大值和最小值以及數組合并

bind用于vue或者react框架中改變函數的this指向?

10.caller和callee的區別

fun.caller返回調用這個fun函數的對象,即fun的執行環境,如果執行環境是window,返回null

callee是arguments的一個屬性,指向函數本身

11.new操作符具體做了什么?

?new的作用

訪問構造函數的屬性

訪問構造函數prototype的屬性

12.js中eval的功能是什么?缺點是什么?

功能:將一個字符串當做js代碼執行

缺點:執行效率低,不安全

13.封裝,繼承,多態

封裝:

將方法和屬性寫到同一個類中,并將屬性私有化,生成 get set方法,外部訪問屬性需要通過get和set方法,內部可以直接訪問屬性

繼承:

子類繼承父類,子類實例可以調用父類除private修飾以外的所有屬性和方法,一個子類只能繼承一個父類,但是可以多重繼承,一個父類可以擁有多個子類

多態:

父類的引用指向子類的實例,多個子類繼承同一個父類實現了這些類共通的方法,每一個子類實現的結果都不同

14.事件模型

事件捕獲階段

事件目標階段

事件冒泡階段

15.宏任務和微任務

宏任務:

script(整體代碼),定時器(setTimeout,setInterval,setImmediate),UIrendering

微任務:

process.NextTick(),promise,MutationObserver

宏任務中的事件放在callback queue中,由事件觸發線程維護;

微任務的事件放在微任務隊列中,由js引擎線程維護

執行過程:

  • 執行宏任務script,
  • 進入script后,
  • 所有的同步任務主線程執行
  • 所有宏任務放入宏任務執行隊列 所有微任務放入微任務執行隊列
  • 先清空微任務隊列,
  • 再取一個宏任務,執行,再清空微任務隊列
  • 依次循環

?

16.判斷數據類型的方法

  • type of
  • instanceof
  • constructor
  • object.prototype.toString.call()

17.字面量和new出來的對象和Object.create()創建出來的對象有什么區別

字面量和new:

創建的對象會繼承原對象的屬性和方法,它們的隱式原型會指向Object的顯式原型

Object.create():

創建的對象原型為null,沒有繼承原對象的方法和屬性

18.為什么JS是單線程的

因為JS里面有可視的Dom,如果是多線程的話,這個線程正在刪除DOM節點,另一個線程正在編輯Dom節點,導致瀏覽器不知道該聽誰的

19.箭頭函數和普通函數的區別

  • this指向它定義時所在的對象(作用域)
  • 不會進行函數提升
  • 沒有arguments對象
  • 不能new

20.模塊化的好處

  • 防止命名沖突
  • 更好的分離,按需加載
  • 更好的復用性
  • 更高的維護性

21.e.target和e.currentTarget的區別

前者指事件的目標元素

后者指當前監聽的元素

22.exports和moudle.export的區別

exports.xxx=“xxx”

moudle.export ={}

require能看到的只有moudle.export

?

23.JS性能優化

  • 垃圾回收
  • 防抖節流
  • 分批加載
  • 事件委托
  • 少用with
  • script標簽中的defer和async
  • cdn加速

24.回流和重繪

回流:

render樹中一部分或全部元素需要改變尺寸、布局、或著需要隱藏而需要重新構建,這個過程叫做回流

重繪:

render樹中一部分元素改變,而不影響布局的,只影響外觀的,比如顏色。該過程叫做重繪

回流必將引起重繪

25.link標簽和@import標簽

  • link屬于html,@import屬于css
  • 頁面加載時,link會被同時加載,@import會等頁面加載完再加載
  • link的權重高于@import
  • dom可以使用link,不能使用@import

26.進程,線程

進程: 一個在內存中運行的應用程序,有自己獨立的內存,一個進程可有多個線程

線程: 進程中的一個執行任務,負責當前進程的執行 一個進程可運行多個線程,多個線程共享數據

27.src和herf的區別

src:

指向的內容會嵌入到文檔當前標簽所在位置

瀏覽器解析時,暫停,先加載src資源

herf:

超文本引用,用來建立當前元素和文檔的鏈接

瀏覽器解析時,同時進行,并行加載?

28.內存泄露以及解決

?29.防抖節流

?

?

?

?

HTML5

1.html5有哪些新增標簽?

布局標簽:

header,footer,aside,section,article

表單標簽:

datalist,input的type類型(date,week,time,datatime,number,search,url,tel,email,color,range)

多媒體標簽:

audio,video

其他標簽:

progress(進度條),meter(度量器)

2.html5有哪些新增屬性?

hidden(隱藏元素)

required(必填)

minlength(最小長度)/maxlength(最大長度)

pattern(正則表達式)

placeholder(提示文本)

autocomplete(自動填充)

autofocus(自動獲取焦點)

3.readyonly和disabled的區別

readyonly:設置表單元素為只讀狀態

disabled:設置表單元素為禁用狀態

4.哪些標簽存在偽元素?

大部分容器標簽有偽元素,iframe沒有

大部分單標簽沒有偽元素,img有

偽元素不能用js操作

5.html5的網頁為什么要寫<!DOCTYOE HTML>

html5不基于SGML,不需要對DTD引用,需要用doctype規范瀏覽器的行為

6.h5新增了哪些新特性?

語義化標簽(header,footer,nav,aside,article,section)

本地存儲(localstorage,sessionstorage)

拖拽釋放(drag and drop),音頻視頻

畫布(canvas)api

地理位置api

表單控件(calendar,date,time,email,url,search)

websocket

7.sessionstorage,localstorage和cookie的區別

共同點:都是瀏覽器的存儲介質,可存儲數據

不同點:

sessionstorage把數據存儲在頁面內存,頁面關閉數據銷毀,只能存字符串,存儲5m左右

localstorage把數據存儲在電腦磁盤,需手動刪除,只能存字符串,存儲20m左右

cookie是http協議重要組成部分,可設置過期時間,時間到,自動銷毀,沒有設置時間會隨頁面關閉而銷毀,存儲4k左右,存儲數據會伴隨http請求發送到服務器端,所以不能存儲大量數據

?

CSS3

1.px,em,rem的區別

px:是一個絕對單位

em和rem是相對單位,

em相對于自身元素字體大小,

rem相對于根元素html字體大小

2.CSS3新增偽類

:first-of-type選擇屬于父元素的首個元素

:last-of-type選擇屬于父元素的最后一個元素

:nth-child(n)選擇屬于父元素的第n個元素

:nth-type-of()選擇屬于父元素的第n個元素

:enabled,:disabled控制表單控件禁用狀態

:checked單選框或復選框被選中

3.position幾個屬性的作用

static:

默認位置,不常用,不脫離文檔流

relative:

相對定位,相對于元素本身位置偏移,不脫離文檔流

absolute:

絕對定位,相對于離它最近的父元素定位,沒有就找body,脫離文檔流

fixed:

固定定位,相對于瀏覽器窗口,脫離文檔流

4:怎么讓一個不定寬高的div元素,垂直水平居中

方法1:transform

.父元素{樣式屬性

position:relative

.子元素{

position:absolute

top:50%

left:50%

transform:translate(-50%,-50%)

其他樣式屬性

子寬高為父寬高一半

方法2:flex彈性布局

.父元素{

display:flex

justify-content:center

align-items:center

其他樣式屬性

.子元素{

樣式屬性

子寬高為父寬高一半

方法3:絕對定位

.父元素{

position:relative

其他樣式屬性

.子元素{

position:absolute

top:0

bottom:0

left:0

right:0

margin:auto

子寬高為父寬高一半

5.清除浮動有哪些方式?

  • 給浮動父元素設置高度:不太靈活,x子元素高度不確定
  • 給浮動父元素設置overflow:hidden
  • 額外標簽法:在浮動元素最后加一個塊級標簽,并設置clear:both屬性:會在頁面上產生很多空白標簽
  • 使用偽元素法.clear :after{content:‘’,display:block,overflow:hidden,visibility:hidden,clear:both}

6.讓兩個塊級元素在一行顯示有哪些辦法?

  • 用display:inline/inline-block
  • flex布局:給父元素設置display:flex

7.如何設置一個元素垂直居中?

  • 給父元素設置垂直內邊距
  • 給需要垂直的子元素設置垂直外邊距
  • 如果是文本,行高等于標簽高度
  • flex布局,align-items:center
  • 絕對定位子元素在相對定位父元素垂直對齊

8.圖片懶加載的原理,圖片懶加載的插件

原理:img圖片加載通過src屬性指向的文件來實現,當把src屬性暫時改成自己的一個自定義屬性,頁面就不會去加載圖片。當img標簽進入屏幕可視區域后,從存放圖片路徑的自定義屬性中獲取圖片地址,并動態的設置給src屬性,瀏覽器就會幫助我們去請求圖片資源,實現懶加載

插件:jQuery.lazyload,vue-lazyload

9.CSS3新增了哪些新特性?

  • 媒體查詢(@media)
  • transform系列:translate平移,scale縮放,rotating旋轉
  • 動畫(animate)
  • 過渡(transition)
  • flex
  • 盒模型box-sizing:border-box
  • 線性漸變(line-gradient)
  • 偽元素,文字陰影,邊框陰影,圓角

10.display:none和visibility:hidden區別

display:none隱藏元素,不占位

visibility:hidden隱藏元素占位

11.less和scss

less是一種css預處理語言,目的是提高開發效率以及提高代碼的可維護性

scss是一種css預處理語言,作用和less一樣

?

?

BOM/DOM

1.在一個頁面中給多個元素設置相同的id,會導致什么問題?

通過is獲取dom元素的時候,只能獲取到第一個元素,后面元素無法正常獲取

2.列舉dom元素增刪改查的api

創建dom:document.createElement()

查找dom:

document.getElementById()

document.getElementByClassName()

document.getElementByName()

document.querySelector()

document.querySelectorAll()

追加dom:parentDom.appendChid()

移除dom:parentDom.removeChild()

3.bom中有哪些常用對象

location:

location.href頁面url地址

location.hash頁面url#后面的部分

location.search頁面url?后面的部分

location.reload()刷新頁面

navigator:

navigator.userAgent瀏覽器的userAgent信息

history:

history.go(1)前進1步

history.go(-1)后退1步

history.forward()前進

history.back()后退

screen:

screen.availWidth屏幕有效寬度

screen.availHeight屏幕有效高度

4.什么是事件委托?原理?

本應該注冊給子元素的事件,注冊給父元素(兒子要做的事情,不想做,交給老子做)

原理:事件冒泡,子元素的事件向外冒泡,觸發父元素的相同事件,根據事件對象找到真正的事件源

優點:

  • 節省內存,減少事件注冊
  • 新增子對象時,無需對其進行事件綁定

缺點:

  • 如果把所有事件都用事件代理,可能會出現事件誤判。即本不該被觸發的事件被綁定上了事件。

5.js的幾種定時器,區別?

setInterval:周期定時器,間隔一定時間執行多次

setTimeout:延時定時器,只執行一次

?

web

1.列舉常見的瀏覽器兼容問題

https://blog.csdn.net/blackhehaha/article/details/108593638

創建異步對象

主流瀏覽器發送Ajax,使用xmlhttprequest創建異步對象

ie瀏覽器用xactive創建異步對象

注冊事件

主流瀏覽器:

addEventListener("eventType","handler","true/false")

removeEventListener("eventType","handler","true/false")

ie瀏覽器:

attachEvent("eventType",handler)

detachEvent("eventType",handler)

阻止冒泡

主流瀏覽器:event.stopPropagation()

ie瀏覽器:event.cancleBubble=true

獲取事件源

主流瀏覽器:event.target

ie瀏覽器:event.srcElement

2.如何實現多個標簽頁的通信?

?

localstorage

localstorage是storage對象的實例,對storage對象進行任何修改,都會觸發storage事件。當通過屬性或setItem()方法保存數據,使用delete操作符或removeItem()刪除數據,或者調用clear()都會觸發該事件

jQuery

1.$each()和$(selector).each()有什么不同?

$each()可循環任何數組和jQuery對象組成的偽數組

$(selector).each()只能循環jQuery對象組成的偽數組

2.$each()和foreach區別

$each()可循環任何數組和jQuery對象組成的偽數組

foreach只能循環普通數組

$each(arr,function(索引,循環單項,數組本身){{})

arr.foreach(function (循環單項,索引,數組本身){})

3.原生js的window.onload與jQuery的$(document).ready(function(){},$function(){})區別

執行時機不一樣

前者會等頁面元素渲染完畢并且資源文件加載完畢后才會執行

后者會在當前頁面元素加載完畢之后就會執行

4.jQuery實現連式編程的原理

jQuery的方法最后都會return一個this,這個this就是當前元素的jQuery對象

5.jQuery如何多次給同一個標簽綁定同一個事件?

使用addEventListener(事件名,function(){})注冊的事件,不會出現事件覆蓋

6.如何開發jQuery插件?

$.fn:可以通過任意jQuery對象來調用

$.extend:只能通過$頂級對象來調用

7.jQuery哪些方法不支持鏈式操作?

$.trim()? $.each()? $(selector).html()??

$(selector).text()

vue

1.vue如何封裝一個組件?

定義一個后綴名為.vue的組件

template模板部分:引入組件標簽

script邏輯部分:

improt? 組件名?from?組件位置

export?default{

component:{組件名}

}

style樣式部分:設置組件樣式

2.computed和watch的區別

computed存放不帶參數的方法,使用時不用() methods存放帶參數的方法,使用時用()

computed是計算屬性,可以根據data中的數據成員,動態計算出一個新的數據成員,這個數據成員在data中并不存在,計算屬性的函數必須有返回值

watch是監聽器,可以監視data中某一個數據成員的改變或路由中某些屬性的改變,根據這個改變,做一些其他操作

3.對vue中插槽的理解?

?

插槽分三種:匿名插槽,具名插槽,作用域插槽

定義:是子組件提供給父組件使用的一個占位符

子組件:寫一個插槽

父組件:引入子組件后,給占位符填充內容

4.v-if和v-show的區別

v-show通過css方式來隱藏元素,元素隱藏占據頁面空間

v-if根據條件是否成立決定是否創建元素,元素刪除后不占據頁面空間

如果某個元素需要頻繁切換顯示狀態,用v-show,因為頻繁創建銷毀dom需要性能開銷

5.什么是vuex,在什么場景下使用

全局組件狀態管理,實現組件間數據共享

state存放數據的狀態,但是不能修改數據

Getters用來獲取數據

mutations同步操作數據

actions異步操作數據

moudles讓每一個模塊都有自己的state,Getters,mutations,actions,結構清晰,便于修改

補充:構建大中型頁面使用vuex,一般的就用store 為什么mutations不能異步? 如果mutation支持異步操作,就沒有辦法知道狀態是何時更新的,無法很好的進行狀態的追蹤,給調試帶來困難。

6.vue路由的使用步驟

  • 下載路由模塊
  • 創建路由對象
  • 配置路由規則
  • 將路由對象注冊為vue實例對象的成員屬性

7.常見的vue組件庫

PC端:element-ui,ant-design,iview

移動端:mint-ui,vant,vux

8.對mvvm的理解

mvvm由三部分組成

m數據層---負責初始化數據

v視圖層---負責頁面展示

vm視圖模型層---將數據層的數據傳遞給視圖層,將視圖層的行為傳遞到數據層進行持久化

9.vue的生命周期

過程:開始創建-初始化數據-編譯模板-掛載dom-渲染-更新-渲染-卸載

詳解:

必經階段:

beforeCreated:沒有data,沒有訪問器屬性(methods),沒有虛擬dom樹(el)

created:有data,有訪問器屬性,沒有虛擬dom樹

beforeMounted:有data,有訪問器屬性,有虛擬dom樹,頁面內容未加載

mounted:有data,有訪問器屬性,有虛擬dom樹,頁面內容加載完成

不必經階段:

beforeUpdated,updated:通過訪問器屬性修改屬性值,觸發通知函數,掃描虛擬dom樹,只更新受影響的元素

beforeDestroyed,destroyed:只刪除虛擬dom樹,打斷與new vue()頁面的聯系,它還在內存中

?

10.vue實現雙向數據綁定的原理?

通過數據劫持和發布者訂閱者功能來實現 利用Object.defineProperty()對屬性添加get,set方法,實現數據變化視圖跟著變化 利用事件監聽,實現視圖變化數據跟著變化

執行過程:

  • 實現一個監聽器Observer,用來劫持并監聽所有屬性,如果有變動的,就通知訂閱者
  • 實現一個訂閱者Watcher,每個Watcher都綁定一個更新函數,Watcher可以收到屬性的變化通知并執行相應的函數,從而更新視圖
  • 實現一個消息訂閱器 Dep ,主要收集訂閱者,當 Observe監聽到發生變化,就通知Dep 再去通知Watcher去觸發更新
  • 實現一個解析器Compile,可以掃描和解析每個節點的相關指令,若節點存在指令,則Compile初始化這類節點的模板數據(使其顯示在視圖上),以及初始化相應的訂閱者?

11.vue創建組件的時候,data為什么要使用匿名函數return一個對象?

起因:

data數據是Vue原型上的屬性,存在于內存當中,對象是對于內存地址的引用,如果data以對象的形式保存數據,每個組件使用了data會改變data原有屬性,造成組件之間數據相互影響

用函數:

  • 函數可以封裝屬性和方法
  • 構造函數會實例化一個對象,相當于data副本,繼承data的屬性和方法
  • 組件使用data對象副本,互不影響

12.vue組件傳參

父傳子:

每個組件的數據都需要向服務器發請求,每次都發,浪費性能,所以讓父組件發送一次請求,子組件通過父組件傳遞數據就行

方法:給父組件里的子組件標簽自定義一個屬性,值為要傳遞的屬性或方法,子組件用props來接收

子傳父:

先在父組件methods里面聲明一個方法(帶參) 在父組件里的子組件標簽加個自定義事件 把方法賦給那個自定義事件 在子組件中用this.$emit(方法,this.數據)

兄弟傳參:

創建一個事件中心,傳遞和接收事件 const eventBus=new Vue()

使用$emit()發布事件-傳遞值

使用$on()訂閱事件-接收值

使用$off()移除事件監聽

13.vue有幾種路由模式?

hash模式:是默認的

history模式:可以在創建路由對象的時候,使用mode屬性來切換路由模式

哈希模式:

優點: ?

  • 項目打包部署到云服務器,主頁面刷新不會報錯
  • 路由修改的是#中的信息,對后端沒影響

缺點: ?

  • 有#,不美觀 瀏覽器無法把哈希值傳遞給服務器,不利于seo搜索

history模式:

優點:

  • ? 美觀

缺點: ?

  • 服務器運行時進行刷新容易出現404錯誤(原因是刷新需要向服務器發請求,服務器找不到對應的響應或資源就會報錯)

14.路由傳參之query和params

query傳參:

類似get請求

參數拼接在地址欄中(?id=123)

可配合path和name

例子:

編程式傳參 data:{ username: '' }, login() { ... this.$router.push({ path: '/home', query: { username: this.username }, }) }

聲明式傳參 <router-link :to="{ path: '/home', query: { username: username } }">

取值:this.$route.query.username

params傳參:

類似post請求

參數不在地址欄

只能配合name,否則失效

params傳參頁面刷新后會失效

例子:

編程式傳參 data:{ username: '' }, login() { ... this.$router.push({ name: 'home', //注意使用 params 時一定不能使用 path params: { username: this.username }, }) }

聲明式傳參 <router-link :to="{ name: 'home', params: { username: username } }">

取值:this.$route.params.username

補充:name是給path取的別名,地址欄中顯示的是path名

15.vue的優點

  • 輕量級框架,大小只有幾十kb
  • 單頁面應用
  • 組件化開發
  • 雙向數據綁定
  • 簡單易學,國人開發,便于理解
  • 視圖,數據分離
  • 虛擬dom,提高性能和運行速度

16.vue路由導航守衛和應用場景

路由守衛是在頁面進行路由跳轉時進行一些處理

1.全局路由

全局前置守衛(beforeEach)

全局后置鉤子(afterEach)

2.路由獨享守衛

beforeEnter(to,from,next){}

?meta:路由元信息,也就是每個路由身上攜帶的信息,用來存放自定義配置

3.組件內的導航鉤子

beforeRouteEnter

beforeRouteUpdate

beforeRouteLeave

17.vue如何定義一個過濾器?

定義全局過濾器

Vue.filter('過濾器名稱',function(input){return input})

定義局部過濾器

18.vue如何自定義一個vue指令?

定義全局指令

定義私有指令

19.vue路由模塊中$route和$router的區別?

$route中存儲跟路由相關的屬性如$route.params,$route.query

$router中存儲的是和路由相關的方法如$router.push(),$router.go()

20.v-for指令循環遍歷時key屬性的作用?

  • 舊虛擬DOM中找到了與新虛擬DOM相同的key:若虛擬DOM中內容沒變,直接使用之前的真實DOM,
  • 若虛擬DOM中內容變了,則生成新的真實DOM,隨后替換掉頁面中之前的真實DOM。
  • 舊虛擬DOM中未找到與新虛擬DOM相同的key 創建新的真實DOM,隨后渲染到頁面。

補充:用index作為key可能引發的問題

  • 若對數據進行:逆序添加、逆序刪除等破壞順序操作,產生沒有必要的真實DOM更新 ==> 界面效果沒問題, 但效率低。
  • 如果結構中還包含輸入類的DOM,會產生錯誤DOM更新 ==> 界面有問題。

?

?

21.vue和react的區別

vue實現了雙向數據綁定,提供了指令,使用插值表達式進行數據渲染

react是單向數據流,沒有指令,用jsx渲染數據

22.vue有哪些常用的事件修飾符

?

23.vue常用的指令

v-model:實現雙向數據綁定

v-bind:綁定屬性

v-on:注冊事件,綁定方法

v-html:設置標簽內容

v-text:設置標簽內容

v-clack:解決插值表達式閃爍問題

v-for:循環遍歷數組或對象

24.vue如何解決插值表達式閃爍問題?

使用v-html或v-text

使用v-clack解決插值閃爍

第一步:聲明屬性選擇器[v-clack]{display:none}

第二步:在插值表達式所在標簽添加屬性v-clack

25.vue如何實現通過錨點值的改變切換組件?

監聽hashchange事件

window.addEventListener('hashchange',function(){})

26.vue中如何避免組件間樣式沖突

scoped

給父元素添加class名

scoped原理:給組件內的所有標簽添加data自定義屬性,實現樣式私有化

27.vue如何動態添加一個路由規則?

使用router.addRoutes([{path:",component:"}])

28.vue優化頁面加載效率的辦法

  • 使用路由懶加載和組件懶加載
  • 不要打包一些公共的依賴(vue,組件庫)
  • 使用cdn加載依賴文件

28.路由懶加載,組件懶加載

路由懶加載:

是通過異步的方式來加載對應的路由組件,默認是將所有的組件全部加載并打包

好處:

可以提高頁面的加載速度,尤其是首頁的加載速度。因為使用懶加載后,加載首頁的時候,就不需要加載其他頁面對應的組件,在需要的時候再加載

組件懶加載:

當用到某個路徑時,觸發箭頭函數,臨時加載組件

path:路徑名

name:xxx

component:()=>import(組件位置)

?

29.vue如何觸發一個自定義事件?

this.$emit(event,'數據')

30.vue如何監聽自定義事件的執行?

this.$on(event,callback)

31.vue如何移除自定義事件?

this.$off(event,callback)

32.vm.$mount(selector)方法的作用

手動把一個vue實例掛載到頁面上

33.keep-alive組件的作用是什么?

是vue的內置組件,保留組件在內存中,防止重復渲染dom

actived

deactived

34.vue如何手動銷毀一個vue實例

調用vm.$destory()可銷毀一個vue實例

35.vue有哪些內置的組件?

component,slot,transition,transition-group,keep-alive

36.vue實例中有哪些屬性?

vm.$data可以獲取vm實例對象data中的數據

vm.$props可以獲取vm組件接收到的props對象數據

vm.$el可以獲取vm實例對象的根dom元素

vm.$refs可以獲取vm實例中注冊過得ref特性的所有dom組件和組件實例

37.vue.use(plugin)的作用?注意問題?

作用是安裝一個vue插件

該方法需要在調用new vue()之前被調用

38.vm.$nextTick(fn)的作用

語法:this.$nextTick(回調函數)

延遲某個操作的執行,直到dom更新以后再執行

是專門在vue所有生命周期執行完之后才觸發的一個回調函數(數據更新完畢,dom渲染完畢,自動執行這個函數)

原理:Vue 在更新 DOM 時是異步執行的,在修改數據后,視圖不會立刻更新,而是等同一事件循環中的所有數據變化完成之后,再統一進行視圖更新。所以修改完數據,立即在方法中獲取DOM,獲取的仍然是未修改的DOM。 $nextTick的作用是:該方法中的代碼會在當前渲染完成后執行,就解決了異步渲染獲取不到更新后DOM的問題了。 $nextTick的原理:$nextTick本質是返回一個Promise 。應用場景:在鉤子函數created()里面想要獲取操作Dom,把操作DOM的方法放在$nextTick中

39.vue中混入(mixin)有什么作用

分發組件中的可復用功能

一個混入對象可以包含任意組件對象

40.如何開發一個vue插件?

vue.js的插件應該暴露一個install方法

這個方法的第一個參數是vue構造器

第二個參數是可選的選項對象

41.什么是ssr?如何實現ssr?

ssr是服務器渲染,讓頁面的渲染在服務器端完成,環境為nodejs。vue中可以使用nuxt實現服務端渲染。

42.什么是spa?

?

優點:

  • 用戶體驗好,內容改變不需要重新加載整個頁面
  • 良好的前后端分離,分工明確

缺點:

  • 不利于搜索引擎的抓取
  • 首屏加載速度慢

43.首屏加載慢怎么解決

首屏加載:瀏覽器從響應用戶輸入網址地址,到首屏內容渲染完成的時間,

原因:

  • 網絡延遲
  • 資源文件體積過大
  • 資源重復發送請求
  • 加載腳本時,渲染內容阻塞

解決:

  • 減少入口文件體積-路由懶加載
  • 靜態資源本地緩存-localstorage
  • UI框架按需加載
  • 組件重復打包-minChunks3,表示會把使用3次及以上的包抽離出來,放進公共依賴文件,避免了重復加載組件
  • 圖片資源壓縮
  • gzip壓縮
  • 使用SSR

44.vue中data的屬性可以和methods中方法同名嗎,為什么?

可以,methods里面的方法會被data的屬性覆蓋

45.vue權限管理

后端-對接口訪問權限

前端-對菜單訪問權限?

  • 菜單管理:可以實現對后臺管理系統左側菜單的管理,支持更換圖標、更換名稱、控制菜單顯示和排序;
  • 資源管理:實現了基于訪問路徑的后臺動態權限控制,控制的權限可以精確到接口級別;
  • 角色管理:可以自定義角色,并為角色分配菜單和資源;
  • 后臺用戶管理:可以對后臺用戶進行管理并分配角色,支持分配多個角色。

?

46.vue性能優化

編碼階段

  • 盡量減少data中的數據,data中的數據都會增加getter和setter,會收集對應的watcher
  • v-if和v-for不能連用 如果需要使用v-for給每項元素綁定事件時使用事件代理
  • SPA 頁面采用keep-alive緩存組件
  • 在更多的情況下,使用v-if替代v-show
  • key保證唯一
  • 使用路由懶加載、異步組件
  • 防抖、節流
  • 第三方模塊按需導入
  • 長列表滾動到可視區域動態加載
  • 圖片懶加載

SEO優化

  • 服務端渲染SSR
  • 預渲染
  • 打包優化

壓縮代碼

  • 使用cdn加載第三方模塊
  • splitChunks抽離公共文件

47.組件中name的作用 ?

  • 使用keep-alive時,可搭配組件name進行緩存過濾
  • dom作遞歸組件時需要調用自身name
  • vue-devtools調試工具里顯示的組件名稱是由name決定的

48.虛擬dom的優缺點

優點: ?

減少了dom操作,減少了回流重繪

具有局部更新能力,提高性能

缺點: ?

首次渲染dom時,加載慢

49.vuex持久化處理

  • 把數據存儲在localstorage或sessionstorage
  • 數據很多的話,用插件vuex-persistedstate和vuex-persist

?

50.$refs

用ref給普通標簽添加屬性或方法,用this.$refs.屬性名/方法名讀取

用ref給組件標簽添加屬性或方法,this指的是ref所在的組件對象,this.$refs.屬性名/方法名讀取的就是ref所在組件的屬性或方法

總結:

ref是用來給元素或子組件注冊引用信息的,用在html標簽上獲取的就是對應dom元素,用在組件標簽上獲取的就是組件實例對象。

使用方式: 打標識:ref=xxx(寫在標簽里面) 獲取:this.$refs.xxx

51.全局事件總線

實現任意組件間通信?

?52.數據代理

給對象添加屬性: Object.defineProperty(對象名,屬性名,配置項)

配置項:

value:屬性值

enumerable:是否可枚舉

writable:是否可修改

configurable:是否可刪除

get:讀取屬性

set:修改屬性

數據代理定義: 通過一個對象代理對另一個對象中屬性的操作

?

?53.關于state和...mapState輔助函數

state:

state和data類似,都是存儲數據/狀態值的,但是要想實現響應式,要把state掛載到computed計算屬性上,有利于state的值發生改變的時候及時響應給子組件(data接收的值不能及時響應更新,用computed就可以.)

...mapState:

輔助函數,從vuex里的state里拿數據,用什么數據就拿什么,不用每次都用this.$store.state

http/Ajax

1.常見http狀態碼

100---正在初始化(一般看不到)

101---正在切換協議

200---響應主體內容已經成功返回

202---表示接受

301---請求的url永久重定向

302---請求的url臨時轉移

304---獲取的內容是讀取緩存中的數據

400---客戶端傳給服務器端的參數出現錯誤

401---未認證,沒有登錄網站

403---禁止訪問,沒有權限

404---客戶端訪問的資源不存在

500---未知的服務器錯誤

503---服務器超負荷

2.http請求方式

  • get請求指定的頁面信息,并返回實體主體
  • head類似get,返回的響應沒有具體內容,用于獲取報頭
  • post向指定資源提交數據進行處理請求,如提交表單,上傳文件,數據在請求體中,post可能會導致新的資源建立和原有資源的修改
  • put從客戶端向服務器端傳送的數據取代指定的文檔內容
  • 其他略

3.Ajax工作原理

  • 創建對象var xhr = new XMLHTTPRequeat()
  • 設置請求行xhr.open(請求方式,請求地址)
  • 發送get方式xhr.send()

如果是post還要設置請求頭信息

4.如何解決跨域?

同源策略:

瀏覽器的的一個網站只能訪問本網站的資源,不能訪問其他網站的資源(script,src,href,img,iframe除外),必須是同協議,同域名,同端口

解決:

  • jsonp:利用的原理是script標簽可以跨域請求資源,將回調函數作為參數拼接在url中。后端收到請求,調用該回調函數,并將數據作為參數返回去,注意設置響應頭返回文檔類型,應該設置成javascript。優點是簡單,兼容性好。缺點是只能用get方法,不安全
  • cors:設置后端來實現,服務端設置 Access-Control-Allow-Origin
  • postMessage:異步方式進行通信,跨文本,多窗口,跨域傳遞。關鍵字:message發送的數據,targetOrigin指定接收的url
  • websocket:持久化雙向通信協議,WebSocket 在建立連接時需要借助 HTTP 協議,連接建立好了之后 client 與 server 之間的雙向通信就與 HTTP 無關了
  • node中間件代理
  • nginx反向代理:和node中間件代理類似,需要搭建一個nginx服務器。只需要修改nginx的配置即可解決跨域問題,支持所有瀏覽器,支持session,不需要修改任何代碼,并且不會影響服務器性能
  • window.name+iframe
  • location.hash+iframe
  • document.domain+iframe

?

5.jsonp跨域原理

在頁面動態創建script標簽,使其src屬性指向后端數據接口,后端數據接口必須返回一個js函數的調用字符串,將要返回給前端的json數據作為函數的實參,當script標簽加載完畢后會在瀏覽器中執行后端返回的函數調用。所以前端必須先對調用的函數進行聲明。因為函數是在js中聲明的,所以可以在函數內部拿到服務器端調用時傳入的實參,所以就間接實現了跨域請求數據。

6.什么是同步和異步,哪種執行方式好?

同步指一個程序執行完了去執行另外一個程序

異步指多個程序同時執行

異步效率高,因為異步不會出現阻塞現象,程序的執行互不影響

?

7.get和post的區別

get是把要傳遞的參數拼在url中,傳遞數量少,不安全

post是把要傳遞的參數放在請求體里,傳遞數據大,安全

8.localstorage,sessionstorage和cookie的區別

9.一個頁面從輸入url到頁面加載顯示完成,整個過程發生了什么

  • 瀏覽器查找域名對應的IP地址
  • 瀏覽器向web服務器發送http請求
  • 服務器處理請求(通過路由讀取資源)
  • 服務器返回一個http響應(content-type設置為text/html)
  • 瀏覽器進行dom樹構建
  • 瀏覽器發送請求獲取嵌在html中的資源
  • 瀏覽器顯示完成頁面

10.http切換到https需要做什么?

只需要在web服務器中加入一個ssl的安全認證模塊

11.什么是restfulapi?

restfulapi的核心思想就是使用http請求方式配合資源對象的方式來完成對服務器某個資源的操作(http動詞+資源對象)

動詞通常就是5種http方法

get讀取

post創建

put更新

patch更新,部分更新

delete刪除

12.什么是漸進增強和優雅降級

漸進增強:

針對低版本瀏覽器進行構建頁面,保證最基本功能,再針對高級瀏覽器進行效果,交互等的改進和追加功能,給用戶更好的體驗。

優雅降級:

一開始就構建完整的功能,然后針對低版本瀏覽器進行兼容。

13.什么是頁面的回流和重繪?

回流:

當頁面結構或標簽尺寸發生變化,瀏覽器需要對頁面進行重排并且重新渲染

重繪:

當頁面上標簽的外觀發生改變,瀏覽器對頁面進行重新渲染

關系:回流一定會引起重繪,重繪不一定引起回流

要提高頁面性能,就要盡量減少頁面的回流和重繪

14.如何優化頁面性能?

資源加載方面:

  • 減少http請求次數---代碼合并,使用精靈圖
  • 減少http請求數據量---代碼壓縮,合理設置緩存
  • 啟用cdn加速服務

代碼層面:

  • 避免濫用全局變量,減少作用域查找,不要濫用閉包
  • 減少dom操作,對已經查找到的dom對象進行緩存,避免重復查找
  • 使用圖片懶加載,避免單次加載圖片數量過多導致頁面卡頓
  • 將script標簽寫在頁面底部,因為JS會阻塞頁面的渲染
  • 不要在本地書寫大量cookie,因為cookie會伴隨每一次http請求

15.什么是cdn加速?

主要是對網站靜態資源加速,需要購買,cdn會對客戶的網頁靜態資源進行緩存處理,當有人第二次訪問時,就從cdn節點上獲取網站所需靜態資源。

16.什么是seo?

seo是搜索引擎優化,讓搜索引擎抓取網頁。方法:合理設置網頁的title,keywords,description

17.為什么利用多個域名存儲靜態資源更有效?

瀏覽器對請求靜態資源文件有并發數量限制,每次只能請求同一個域名下的若干個資源文件,如果把資源文件存放在多個不同的域名下面就會突破瀏覽器的限制。而且,啟用多個靜態資源服務器,可以減輕主服務器的壓力。

18.移動端點擊事件有多少秒的延遲?原因?解決?

300ms

原因:瀏覽器為了保留雙擊縮放的功能

解決:

使用touch觸摸事件模擬點擊事件

使用fastclick解決

禁止頁面縮放功能

19.網站攻擊方式有哪些?

xss跨站腳本攻擊

csrf跨站請求偽造

20.js中的垃圾回收機制

標記清除(mark and sweep)

大部分瀏覽器用此方法,當變量進入執行環境,垃圾回收機制將其標記為“進入環境”,當變量離開環境,將其標記為“離開環境”,在離開環境之后還有的變量就是要被刪除的變量。

垃圾收集器給內存中所有變量都加上標記,然后去掉環境中的變量以及被環境中的變量引用的變量標記。在此之后,再被加上的標記的變量即為需要回收的變量,因為環境中的變量已經無法訪問這些變量

引用計數(reference coynting)

此方法會引起內存泄漏,低版本ie用。

原理:追蹤一個值的引用次數,當聲明一個變量并且給它賦值引用類型,次數加1,當這個變量指向其他引用類型,次數減1,當該值引用次數為0時,回收

21.JS是單線程嗎?

單位時間內只能處理一個進程

22.JS如何實現異步操作?

由瀏覽器提供的子線程完成

回調函數、事件監聽、setTimeout、Promise、生成器Generators/yield、async/await

所有異步任務都是在同步任務執行結束之后,從任務隊列中依次取出執行。

  • 回調函數是異步操作最基本的方法,比如AJAX回調,回調函數的優點是簡單、容易理解和實現,缺點是不利于代碼的閱讀和維護,各個部分之間高度耦合,使得程序結構混亂、流程難以追蹤(尤其是多個回調函數嵌套的情況),而且每個任務只能指定一個回調函數。此外它不能使用 try catch 捕獲錯誤,不能直接 return
  • Promise包裝了一個異步調用并生成一個Promise實例,當異步調用返回的時候根據調用的結果分別調用實例化時傳入的resolve 和 reject方法,then接收到對應的數據,做出相應的處理。Promise不僅能夠捕獲錯誤,而且也很好地解決了回調地獄的問題,缺點是無法取消 Promise,錯誤需要通過回調函數捕獲。
  • Generator 函數是 ES6 提供的一種異步編程解決方案,Generator 函數是一個狀態機,封裝了多個內部狀態,可暫停函數, yield可暫停,next方法可啟動,每次返回的是yield后的表達式結果。優點是異步語義清晰,缺點是手動迭代`Generator` 函數很麻煩,實現邏輯有點繞
  • async/await是基于Promise實現的,async/awt使得異步代碼看起來像同步代碼,所以優點是,使用方法清晰明了,缺點是awt 將異步代碼改造成了同步代碼,如果多個異步代碼沒有依賴性卻使用了 awt 會導致性能上的降低,代碼沒有依賴性的話,完全可以使用 Promise.all 的方式。

JS 異步編程進化史:callback -> promise -> generator/yield -> async/awt。

async/awt函數對 Generator 函數的改進,體現在以下三點:

- 內置執行器。 Generator 函數的執行必須靠執行器,而 async 函數自帶執行器。也就是說,async 函數的執行,與普通函數一模一樣,只要一行。

- 更廣的適用性。 yield 命令后面只能是 Thunk 函數或 Promise 對象,而 async 函數的 awt 命令后面,可以跟 Promise 對象和原始類型的值(數值、字符串和布爾值,但這時等同于同步操作)。 - -更好的語義。 async 和 awt,比起星號和 yield,語義更清楚了。async 表示函數里有異步操作,awt 表示緊跟在后面的表達式需要等待結果。 目前使用很廣泛的就是promise和async/aw

23.分別介紹mvc,mvvm,mvp三種模式

mvc

是后端語言的一種設計模式,主要實現對代碼分層。

m是數據模型,主要負責操作數據庫。

v是視圖層,主要負責頁面展示。

c是業務控制層,主要負責控制業務邏輯,將m數據層的數據交給v視圖層展示。

mvvm

是前端的一種設計模式,從mvc演變而來

m數據層,主要負責數據和方法初始化

v視圖層

vm視圖模型層,負責連接數據層和視圖層,將數據層的數據給視圖層展示,將視圖層的行為傳遞給數據層

mvp

后端設計模式,應用于安卓開發

m數據層

v視圖層

p業務邏輯

24.清理瀏覽器緩存的方式

緩存:

第一次訪問網站的時候,電腦會把網站上的圖片和數據下載到電腦上,當再次訪問該網站的時候,網站就會從電腦中直接加載出來

好處: 緩解服務器壓力 提升性能

緩存位置:

memory cache:存儲操作系統緩存文件等資源,在內存

disk cache:存續圖像和網頁等資源,在硬盤

清理方式:

強緩存:當訪問URL時,不會向服務器發送請求,直接從緩存中讀取資源,但是會返回200的狀態碼 協商緩存:強緩存失效后,瀏覽器攜帶緩存標識向服務器發送請求,由服務器根據緩存標識來決定是否使用緩存的過程

強緩存過程:

?

協商緩存過程:

協商緩存生效,返回304

協商緩存失效,返回200和請求結果

?

如何設置強緩存和協商緩存

強緩存: ?

  • express:設置緩存到期時間
  • cache-control:設置誰可以緩存

public:資源和客戶端都可以緩存

privite:資源只有客戶端可以緩存

no-cache:客戶端緩存資源,但是是否緩存需要經過協商緩存來驗證

no-store:不使用緩存

max-age:緩存保質期 ?

pragma:值為no-cache,效果一樣

協商緩存: ?

  • last-modified:服務器響應請求時,返回文件最后被修改的時間
  • if-modified-since:客戶端再次發起該請求時,攜帶上次請求返回的Last-Modified值,服務器收到該請求,發現請求頭含有If-Modified-Since字段,則會根據If-Modified-Since的字段值與該資源在服務器的最后被修改時間做對比,若服務器的資源最后被修改時間大于If-Modified-Since的字段值,則重新返回資源,狀態碼為200;否則則返回304,代表資源無更新,可繼續使用緩存文件
  • etag:服務器響應請求時,返回資源文件的唯一標識
  • if-none-match:客戶端再次發起該請求時,攜帶上次請求返回的唯一標識Etag值,服務器收到該請求后,發現該請求頭中含有If-None-Match,則會根據If-None-Match的字段值與該資源在服務器的Etag值做對比,一致則返回304,代表資源無更新,繼續使用緩存文件;不一致則重新返回資源文件,狀態碼為200

25.cookie機制,session機制,token機制

cookie機制: ?

  • 客戶端向服務器發送第一次請求,服務器接收并處理請求
  • 服務器端處理后,返回響應數據,相應數據中攜帶cookie信息希望客戶端儲存
  • 客戶端接收響應,把cookie存入本地。下次發送請求時,自動攜帶cookie
  • 服務器端第二次接收請求,解析到cookie信息,知道客戶端是誰,完成http狀態管理

session機制:

  • ?客戶端向服務器發送第一次請求,服務器接收并處理請求
  • 服務器端分配一個sessionID,把它對應的用戶端信息存在服務器端,以cookie的方式把sessionID和數據返回客戶端
  • 客戶端保存sessionID,下次發請求時,攜帶
  • 服務器端接收請求,解析到sessionID獲取到以前存過的客戶端信息,完成http狀態管理

?

token機制:

Token登錄認證詳解_吉諾比利20的博客-CSDN博客_token認證

?

?

es6新特性

1.es6新增了哪些數據類型?

基本:symbol,set,map

復雜:weakset,weakmap,typearray

2.es6新增了哪些特性?

let聲明變量

const聲明常量

map和set數據類型

模板字符串

對象數組解構賦值

展開運算符

函數默認參數

對象字面量的增強(屬性名=屬性值,寫一個)

promise異步對象

calss類

3.let和var的區別

let聲明的變量有塊級作用域,沒有變量提升

var聲明的變量沒有塊級作用域,有變量提升

4.async/await的使用場景

async用來修飾函數的聲明,會變成一個異步函數

await用來修飾函數的調用,必須返回一個promise異步對象,用await修飾后,會將promise異步對象轉換為同步操作

5.箭頭函數作用和使用

箭頭函數使函數內部的this指向和函數外部保持一致

箭頭函數內部沒有this指向,可以在Ajax的回調函數中使用,讓回調函數的this指向事件源

可以在定時器的第二個參數使用箭頭函數,避免函數內部的this指向全局window

6.對promise的理解

promise可以解決傳統的回調地獄

promise提供一個構造函數,在使用時必須通過new創建一個實例對象,在創建實例對象時需要傳遞一個匿名函數,這個匿名函數需要兩個參數(resolve,reject),resolve成功處理函數,reject失敗處理函數。成功/失敗的處理函數觸發由具體業務邏輯決定。

resolve和reject需要通過promise實例對象提供的then方法傳遞。promise提供兩個靜態方法all和race。all可以一次執行多個promise實例,返回數組。race也可以一次執行多個promise實例。

微信小程序

1.微信小程序如何實現頁面跳轉?

小程序頁面跳轉:

使用組件

<navigator url ="../home/home">目標頁面</navigator>

使用api

wx.navigateTo({url:'../home/home'})

tabbar頁面跳轉

使用組件

<navigator url ="../home/home" open-type="switchTab">目標頁面</navigator>

使用api

wx.switchTabbar({url:'../index/index'})

2.簡單描述小程序的生命周期

分為應用生命周期和頁面生命周期

應用生命周期:

onLaunch:應用啟動,只執行一次

onShow:應用切換到前臺

onHide:應用切換到后臺

noError:運行階段出現錯誤

onPageNotFound:找不到頁面

頁面生命周期:

onLoad:頁面開始加載

onReady:頁面加載完畢

onShow:頁面進入焦點狀態

onHide:頁面進入后臺狀態

3.微信小程序如何請求數據接口?

通過wx.request

4.如何優化小程序代碼包的體積?

分包加載,使用分包加載可以讓小程序代碼體積達到8m

將資源文件盡量放在遠程服務器端

?

?

?

?

?

?

?

?

?

總結

以上是生活随笔為你收集整理的面试题整理(全)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

99久久久久成人国产免费 | 国产精品电影一区 | 色婷婷亚洲精品 | 亚洲精品视频网站在线观看 | 亚洲精品一区二区三区新线路 | 在线观看中文字幕一区二区 | 中文字幕国产一区二区 | av在线等 | www.com黄色| 国产精品99久久免费观看 | 99精品热| 国产成人精品午夜在线播放 | 亚洲精品色 | 国产区av在线 | 成人av电影在线播放 | 午夜精品一区二区三区视频免费看 | 国产999精品| 久久色在线播放 | 国产一级片在线播放 | 国产日本在线 | 久草在线免费资源站 | 国产小视频网站 | 久久精品成人热国产成 | 在线精品视频免费播放 | 午夜精品中文字幕 | 免费在线观看日韩 | 麻豆国产精品永久免费视频 | 91精品天码美女少妇 | 欧美日韩免费视频 | 在线小视频 | 免费人做人爱www的视 | 国产精品毛片一区二区 | 免费色视频网址 | 91久久人澡人人添人人爽欧美 | 91九色蝌蚪视频在线 | 国产在线精品视频 | 成人免费视频在线观看 | 四虎影视成人永久免费观看视频 | 丁香网五月天 | 国产91精品欧美 | 久久99久久久久久 | 91九色视频国产 | av解说在线观看 | 国产精品久久一区二区三区不卡 | 日韩精品一区二区三区免费观看视频 | 久久婷婷网| 911香蕉视频 | 国产精品久久久久亚洲影视 | 91欧美精品 | 在线免费观看黄色大片 | 91福利视频在线 | 天天操天操 | 不卡的av电影在线观看 | 激情综合五月 | 国内精品小视频 | 久人人| 中文字幕在线观看91 | 久久精品在线免费观看 | 国产五月天婷婷 | 在线免费高清一区二区三区 | 久久久久久激情 | 国产不卡在线视频 | 亚洲一区 影院 | 欧美一区日韩精品 | 伊色综合久久之综合久久 | www.久久久.cum | 欧美一二三区在线观看 | 波多野结衣综合网 | 色亚洲激情 | 丝袜美腿亚洲综合 | 国产成人精品亚洲精品 | 国产精品久久久久久久久久 | 毛片在线播放网址 | 国产91九色视频 | 国产在线国偷精品产拍免费yy | 中文字幕专区高清在线观看 | 国产视频在线观看一区 | 国产一区视频免费在线观看 | 亚洲成人精品在线 | 91黄色免费网站 | 精品国产精品国产偷麻豆 | 天天舔夜夜操 | 91精品国产91 | 成人午夜久久 | 一级黄色毛片 | 中文字幕在线观看播放 | 在线电影av | 国产成人精品女人久久久 | 日韩欧美一区二区三区视频 | 黄色动态图xx | 久久亚洲福利视频 | 日韩在线免费观看视频 | av中文字幕网 | 97人人人人 | 丝袜美腿在线播放 | 欧美日韩二三区 | 国产品久精国精产拍 | 青春草视频在线播放 | 欧美日韩三级在线观看 | 午夜久久成人 | 欧美一区二区在线免费观看 | 久久伊人国产精品 | 色99视频 | 91麻豆精品国产91久久久使用方法 | 操操色| 黄色a大片 | 黄色小说视频网站 | 九九热精品国产 | 日韩电影中文字幕在线 | 国偷自产视频一区二区久 | 精品久久1| 成年人国产在线观看 | 视频福利在线观看 | 99精品视频在线观看免费 | 特级西西人体444是什么意思 | 亚洲电影图片小说 | 日日夜夜精品网站 | 玖玖视频在线 | 91在线入口 | 91av美女| 久久视频免费在线观看 | 在线观看av的网站 | 成人影片在线免费观看 | 国产精品毛片一区二区在线看 | 免费看黄的视频 | 国产一级淫片免费看 | 奇米影视999 | 丁香激情视频 | 天天做天天干 | 午夜色场| 国产无套精品久久久久久 | 99热超碰在线 | 久久精品官网 | 日韩欧美一区二区不卡 | 日韩精品在线观看视频 | 一区二区三区在线观看 | 综合黄色网| 精品久久久久免费极品大片 | 久久精品视频播放 | 日本在线视频一区二区三区 | 久草影视在线观看 | 日韩av成人在线观看 | 中国一级片免费看 | 久久激五月天综合精品 | 久久国色夜色精品国产 | 夜夜嗨av色一区二区不卡 | 欧美污在线观看 | 成人午夜电影久久影院 | 99精品国产一区二区三区麻豆 | 久久综合狠狠综合 | 久久久久久久亚洲精品 | 精品欧美一区二区精品久久 | 天堂资源在线观看视频 | 玖玖在线观看视频 | av电影在线观看 | 日韩在线观看中文字幕 | 婷婷伊人综合 | av解说在线 | 美女精品国产 | 视频在线日韩 | 天天操天天射天天爱 | 欧洲av不卡 | 婷婷.com| 亚洲极色 | 婷婷激情5月天 | 在线免费中文字幕 | 99精品国产成人一区二区 | av中文字幕网址 | 免费视频91 | 欧美日韩国产二区 | 成人网在线免费视频 | 国产小视频在线播放 | 在线观看国产一区二区 | 成人午夜精品久久久久久久3d | 日韩精品一区二区三区视频播放 | 密桃av在线 | 97人人添人澡人人爽超碰动图 | 99久久久成人国产精品 | 久久福利小视频 | 欧美大片第1页 | 亚洲激情六月 | 99爱这里只有精品 | 97天天综合网| 五月综合 | 国产伦精品一区二区三区… | 午夜精品一区二区三区可下载 | 白丝av免费观看 | 毛片视频网址 | 国产日韩欧美综合在线 | 色午夜 | 久久国产日韩 | 亚洲无线视频 | 视频成人免费 | 天堂久色 | 欧美精品在线观看免费 | 成人a视频 | 亚洲三级黄| 超碰97国产精品人人cao | 日韩美一区二区三区 | 国产精品尤物 | 久久影视一区 | 日本中文字幕系列 | 亚洲视频第一页 | 久久精品成人欧美大片古装 | 色婷婷午夜 | 免费合欢视频成人app | 精品人妖videos欧美人妖 | 日本不卡视频 | 激情av资源网 | 婷婷激情综合五月天 | 国产视频欧美视频 | 日本黄色a级大片 | 国产精品免费在线视频 | 免费国产在线视频 | 国产精品久久久久久久久久99 | 国产精品一区二区62 | 亚洲全部视频 | 福利视频一二区 | 国产精品麻豆99久久久久久 | 91黄色在线看| 久久久高清视频 | 99久久精品国产系列 | 色综合天天综合 | 五月婷丁香网 | 九九热re| 免费在线色| 久久久国产99久久国产一 | 黄p网站在线观看 | 亚洲成人av电影 | av成人免费观看 | 国产精品麻豆99久久久久久 | 最新av在线免费观看 | 日韩黄色网络 | 黄色av电影在线观看 | 久久免费a | 国产精品视频内 | 91久久人澡人人添人人爽欧美 | av福利第一导航 | 国产在线精品一区 | 美女视频免费精品 | 毛片无卡免费无播放器 | 久久伊人精品天天 | 国产精品成人在线观看 | 久久免费视频5 | 久久久久久久久久久久久久免费看 | 69av视频在线观看 | 国产精品第72页 | av成人免费在线观看 | 99精品久久精品一区二区 | av日韩不卡 | 久久日本视频 | 91热爆在线观看 | 欧美一区在线看 | 国内外激情视频 | 玖玖视频精品 | 人人看人人做人人澡 | 91大神在线观看视频 | 午夜精品久久久久久久久久久久 | 久久爱www. | 在线观看中文字幕一区二区 | www成人精品| 久久99久久99精品免费看小说 | 免费能看的黄色片 | 在线观看国产一区二区 | 天天天干天天射天天天操 | 射综合网 | 国产精品视频永久免费播放 | 婷婷六月中文字幕 | 亚洲欧美日韩精品一区二区 | 亚洲精品视频大全 | 精品专区 | 五月婷婷丁香六月 | 久久狠狠一本精品综合网 | 久久久精品网站 | 久草在线免费在线观看 | 亚洲精品色婷婷 | 亚洲综合干 | 五月天激情开心 | 九九九电影免费看 | 丰满少妇在线观看资源站 | 日日日爽爽爽 | www黄免费 | 在线免费日韩 | 国产打女人屁股调教97 | 91av在| 91精品在线看 | 日本性xxx | 日韩中文免费视频 | 中文av网 | 欧美日本在线视频 | 夜夜骑首页| 天天干天天干天天色 | 五月天色综合 | 国产生活一级片 | 成年人看片| 中文字幕在线免费看 | 久久免费视频99 | 97视频资源 | 日韩欧美精品一区 | 天天操天天色天天射 | 日韩在线免费小视频 | 婷婷色在线观看 | 欧美黄色成人 | 精品国内 | 在线观看免费福利 | 女女av在线| 99精品免费在线观看 | 999久久久欧美日韩黑人 | 国产91aaa| 久久99在线 | 亚洲激情五月 | 色婷婷激情五月 | 中文字幕在线观看免费观看 | 国产精品久久久久久久av电影 | 中文字幕av全部资源www中文字幕在线观看 | 91看毛片| 久久影院午夜论 | 热re99久久精品国产99热 | 久久桃花网 | 午夜精品久久久久久久99水蜜桃 | 婷婷久久综合网 | 中文不卡视频在线 | 国产韩国日本高清视频 | 五月激情天 | 成人亚洲精品国产www | 欧美日韩网站 | 91探花视频 | 国产小视频免费在线网址 | 免费毛片aaaaaa| 久久这里只有精品久久 | av在线播放国产 | 午夜精品成人一区二区三区 | 日韩深夜在线观看 | 免费看国产曰批40分钟 | 日本激情视频中文字幕 | 日韩免费成人av | 亚洲综合少妇 | 91福利免费| 91精品老司机久久一区啪 | 夜色.com | 亚洲欧美在线综合 | 玖玖爱在线观看 | 国产中文字幕在线播放 | 九九有精品 | 久久一区精品 | 亚洲欧洲精品一区二区 | 欧美日本国产在线观看 | 国产精品久久久精品 | av天天色| 96国产精品视频 | 精品毛片在线 | 三上悠亚一区二区在线观看 | 成片视频在线观看 | 久草在线观 | 国产日韩欧美综合在线 | 久久免费视频这里只有精品 | av成人在线网站 | 亚洲91精品在线观看 | 国产精品久久婷婷六月丁香 | 97超碰福利久久精品 | 亚洲专区在线播放 | 五月天视频网站 | 少妇搡bbb| 在线免费观看一区二区三区 | 99这里只有精品视频 | 精品久久影院 | 久久精品视频在线看 | 欧美一区二区视频97 | 国产黄色美女 | 99国产精品久久久久老师 | 青青河边草手机免费 | 色久五月 | 国产精品va在线播放 | 韩日av一区二区 | 成人动态视频 | 在线观看视频一区二区三区 | 99福利影院 | 在线激情小视频 | 亚洲精品午夜久久久久久久久久久 | 国产精品久久久一区二区三区网站 | 在线观看成人小视频 | 精品国产乱码久久久久久浪潮 | 国产精品高清免费在线观看 | 91大神在线看 | 国产视频在线观看免费 | 国产成人在线免费观看 | 国产毛片久久久 | 91精品一区二区三区蜜桃 | 亚洲色图27p | 国产专区日韩专区 | 黄色三级视频片 | va视频在线| 日韩专区中文字幕 | 国产在线精品一区二区不卡了 | 国产亚洲精品久久久久久无几年桃 | 天天爱天天操 | 色播99| 色狠狠婷婷 | 久久精品播放 | 黄色片网站大全 | 不卡视频一区二区三区 | 成人黄色大片 | 香蕉在线影院 | 久久久国产一区二区三区四区小说 | 天天天天天干 | 国产精品久久久久一区 | 久久高清国产视频 | 在线观看视频国产一区 | 中文字幕区 | 亚洲影院色 | 狠狠操影视 | 婷婷色影院 | 国产操在线 | 国产一区二区综合 | 久久精品高清视频 | 亚洲乱码在线 | 亚洲经典在线 | 91网在线看| 国产精品嫩草在线 | 久久99久久99精品免观看粉嫩 | 夜色资源站wwwcom | 69av国产 | 免费观看的黄色 | 一区二区三区视频在线 | 在线视频1卡二卡三卡 | 精品国产电影一区二区 | 国精产品999国精产品视频 | 国产专区视频在线 | 91在线91拍拍在线91 | 色香网| 久久国语露脸国产精品电影 | 久久爱资源网 | 天干啦夜天干天干在线线 | 欧美日韩调教 | wwwav视频| 天天做日日爱夜夜爽 | 激情欧美一区二区三区免费看 | 欧美男男激情videos | 久久综合九色综合97婷婷女人 | 91九色性视频 | 精品色综合 | 国产精品四虎 | 国产日韩欧美综合在线 | 在线观看亚洲电影 | 超碰在97 | 亚洲国内精品在线 | 天天操天天色综合 | 午夜免费电影院 | 久久久久久久久久电影 | 日本女人的性生活视频 | 黄色网在线免费观看 | 亚洲国产欧美在线看片xxoo | 亚洲永久国产精品 | 国产成人一区二区啪在线观看 | 亚洲精品在线免费观看视频 | 18性欧美xxxⅹ性满足 | 免费不卡中文字幕视频 | www.国产在线 | 婷婷综合亚洲 | 国产精品美女免费视频 | 日本一区二区免费在线观看 | 亚洲成人黄色在线观看 | 91人人射 | 久久久免费精品 | 国产视频综合在线 | 天天综合日日夜夜 | 欧美一级片免费 | 久久伦理影院 | 亚洲码国产日韩欧美高潮在线播放 | 日韩欧美精品一区 | 亚洲精品网址在线观看 | 麻豆影音先锋 | 亚洲精品国产精品国 | 狠狠色噜噜狠狠狠 | 久久精品精品电影网 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 欧美一级片播放 | 日韩欧美精品一区 | 国产 日韩 在线 亚洲 字幕 中文 | 欧美怡红院视频 | 欧美国产日韩一区二区三区 | 精品一区精品二区高清 | 国产一区福利在线 | 日韩av不卡播放 | 久久精品首页 | 99视频精品在线 | 久久网站最新地址 | 国产三级精品在线 | 麻豆国产网站入口 | 国产高清不卡在线 | 在线黄色国产电影 | 不卡中文字幕av | 91黄色在线视频 | 天天爱天天爽 | 久久久久久美女 | 在线观看免费av片 | 色综合中文字幕 | 免费中文字幕 | 久草www | 国产精品毛片一区二区在线 | 日本精品午夜 | 黄色毛片在线看 | 开心丁香婷婷深爱五月 | 中文字幕资源网 国产 | 亚洲视频2| 日韩免费成人av | 黄色在线观看免费 | 色夜视频| 人人爽人人 | 五月激情久久 | 国产精品久久久久久久久搜平片 | 久久夜色电影 | 亚洲更新最快 | 亚洲永久国产精品 | 欧美另类xxx | 欧美亚洲一区二区在线 | 天天干天天怕 | av天天色 | 国产精品theporn | 不卡视频在线 | 久久成年人 | 蜜桃视频日本 | 日韩在线观看 | 欧美视频日韩 | 国产日韩精品在线观看 | 狠狠躁天天躁综合网 | 天天干天天想 | 久久久久电影网站 | 亚洲国产伊人 | 亚洲视频在线观看 | 久久久久中文 | 国语自产偷拍精品视频偷 | 久久久久精 | 国产成人1区 | 国产一区二区三区四区在线 | 久久精品中文 | 国产精品video爽爽爽爽 | 亚洲一本视频 | 亚洲国产成人久久综合 | 亚洲日本一区二区在线 | 人人舔人人爽 | 久久电影色 | 最近中文字幕视频网 | 欧美日韩二区在线 | 天天射狠狠干 | av国产在线观看 | 91成品视频| 一本一道久久a久久精品蜜桃 | 天天综合网 天天综合色 | 69久久久 | 国产手机视频在线观看 | 91久久人澡人人添人人爽欧美 | 日日日爽爽爽 | 国产日韩视频在线播放 | 久操中文字幕在线观看 | 蜜桃视频精品 | 国产精品久久久免费看 | 国产精品久久久久久久久久新婚 | 亚洲欧美精品在线 | 日韩亚洲国产中文字幕 | 国产成人精品综合久久久久99 | 亚洲天天综合网 | 久精品在线观看 | 91亚洲精品国偷拍自产在线观看 | 99福利片| 狠狠的日日 | 国内精品久久久久影院日本资源 | 97在线观看视频免费 | 日韩高清激情 | 久久久久欧美精品 | 免费色视频网站 | 亚洲精品乱码久久久久久久久久 | 美女黄濒| 欧美视频不卡 | 91视频黄色 | 在线观看国产日韩 | 99久热在线精品视频成人一区 | 91香蕉视频在线 | 国产原厂视频在线观看 | 91欧美国产 | 综合婷婷丁香 | 国产在线免费观看 | 中文字幕第一页av | 亚洲永久av| 久久婷婷色综合 | 久久久久久久99精品免费观看 | 久久精品黄 | 婷婷中文字幕在线观看 | 中文字幕中文中文字幕 | 91探花国产综合在线精品 | 亚洲一区网 | 中文字幕视频一区二区 | 天天色天天射综合网 | 欧美国产大片 | 中文字幕视频一区二区 | 日本中文字幕高清 | 在线观看亚洲免费视频 | 香蕉影院在线观看 | 久久99精品国产99久久 | 国内亚洲精品 | 国产精品九九久久99视频 | 国产黄色片免费在线观看 | 天天射天天干 | 日韩电影在线观看中文字幕 | 人人讲下载 | 国产黄视频在线观看 | 亚洲一区二区精品视频 | 午夜在线资源 | 成人久久久精品国产乱码一区二区 | 在线观看视频色 | av高清影院 | 久久黄色美女 | 九九热免费在线视频 | 在线观看免费中文字幕 | 久久99精品国产 | 91色综合 | 国产伦精品一区二区三区照片91 | 久久美女免费视频 | 免费看成人 | 黄色片免费电影 | 96久久精品 | 韩日精品在线 | 亚洲视频网站在线观看 | 右手影院亚洲欧美 | 亚洲专区在线播放 | 亚洲精品在线一区二区 | 视频1区2区| 黄色av网站在线观看 | 午夜黄网 | 97天堂 | 亚洲三级影院 | 91成人蝌蚪 | 欧美另类xxx | 在线电影a | 色com网| 国内精品久久久 | 不卡精品视频 | 日韩美女av在线 | 天天要夜夜操 | 国内外成人在线视频 | 亚洲国产精品成人va在线观看 | 亚洲激情一区二区三区 | 日本动漫做毛片一区二区 | 嫩嫩影院理论片 | 国产免费又爽又刺激在线观看 | 亚洲免费国产 | 亚洲精品高清一区二区三区四区 | 日日干美女 | 亚洲日本成人网 | 国产成人一区二区在线观看 | 91麻豆精品国产自产在线游戏 | 日韩av中文字幕在线 | 欧美精品二 | 国产视频999| 99久久国产免费,99久久国产免费大片 | 国产精品国产三级国产 | 日韩在线视频看看 | 日韩精品免费一区二区 | 免费视频成人 | 黄色片网站免费 | 国产精品99久久久久久久久 | 天天在线视频色 | av中文字幕不卡 | 99热在线观看免费 | 国产99中文字幕 | 国产高清不卡一区二区三区 | 色综合网| 日产乱码一二三区别免费 | 人人澡人人舔 | 狠狠干电影 | 国产亚洲精品久久久久久网站 | 97福利社| 精品国产一区二区在线 | 国产偷v国产偷∨精品视频 在线草 | 超碰人人在线观看 | 久久精品视频国产 | 久久成熟 | 免费麻豆 | 亚洲蜜桃av | 狠狠干天天操 | 不卡电影免费在线播放一区 | 日韩在线观看网址 | 欧美精品天堂 | 蜜臀久久99精品久久久无需会员 | av手机在线播放 | 色婷婷免费视频 | 精品久久久久久久久中文字幕 | 国产精品片 | 国产精品久久久久久久久久久久午夜 | 99久久精品国产一区 | 欧美天堂影院 | 色.com| 夜夜骑日日操 | 天天曰视频 | 伊人精品在线 | 综合色亚洲 | 日韩久久视频 | 91成人网在线播放 | 国内久久精品 | 天堂av网在线 | 亚洲黄色精品 | 中文字幕色网站 | 日本三级久久 | 中文视频在线播放 | 伊人久久婷婷 | 99视频在线免费观看 | 97视频免费在线观看 | 国产乱码精品一区二区三区介绍 | 天天射天天射天天 | 免费三级在线 | 91资源在线免费观看 | 2018精品视频 | 久久久午夜影院 | 日韩一区二区三区在线观看 | 成人av电影在线 | 日本aa在线 | 国产精品黄网站在线观看 | 亚洲国产激情 | 五月天久久久久 | 伊人手机在线 | 国产在线看 | 久久女教师 | 人人看人人草 | 香蕉在线视频观看 | 日韩网站在线看片你懂的 | 成人免费一级片 | 亚洲视频在线观看免费 | 日韩精品免费在线播放 | 国产毛片久久 | 91人人澡人人爽人人精品 | 色吧av色av | 成人在线播放av | 欧美性生活免费看 | 亚洲一二三区精品 | 免费久久视频 | 182午夜在线观看 | 亚洲毛片一区二区三区 | 亚洲欧洲成人精品av97 | 久久精品国产亚洲精品2020 | 97av在线视频免费播放 | 九九久久免费视频 | 久久精品成人欧美大片古装 | 久久视了 | 五月婷婷视频在线 | 精品一区二区精品 | 99久久www免费 | 手机看片福利 | 亚洲精品色视频 | 美女久久久久久久久久 | 91av资源在线 | 国产黄色片免费 | 99国内精品| 天堂麻豆 | aⅴ精品av导航| 国产精品精品 | 玖玖爱国产在线 | 欧美日韩一级久久久久久免费看 | 国产成人精品久久久久 | 99r精品视频在线观看 | 在线一二三四区 | 精品一区二区免费在线观看 | av免费成人 | 91网站在线视频 | 久久久wwww| 亚洲影院色 | 日狠狠 | 亚洲成人午夜av | 欧亚日韩精品一区二区在线 | 黄色一级片视频 | 欧美一级激情 | 97色噜噜| 91大神精品视频在线观看 | 韩日三级av| 99在线热播精品免费 | 亚洲最新毛片 | 国产精品99久久久久久久久久久久 | 精品福利av | 日韩久久精品 | 久久99精品国产麻豆宅宅 | 欧美日韩久久 | 国产高清中文字幕 | 国产黄色av网站 | 日韩手机在线 | 国产精品久久久久久久久久白浆 | 日日干干 | 欧美精品久久 | 久热av在线 | 97天天综合网 | 香蕉久久久久 | 日韩午夜av电影 | 91久久久久久久 | 黄色一级影院 | 西西444www大胆高清图片 | 中文字幕在线看视频国产 | 日韩一级成人av | 有码中文字幕 | 欧美福利在线播放 | 久久99精品国产99久久6尤 | 97av在线视频免费播放 | 欧美日产一区 | 国产精品破处视频 | 天天看天天干天天操 | 91香蕉视频好色先生 | a午夜在线 | 亚洲 欧美 另类人妖 | 久久艹精品| 日韩精品一区二区三区视频播放 | 欧美老女人xx | 日本不卡123区 | 最新国产精品亚洲 | 91视视频在线直接观看在线看网页在线看 | 久久综合久久综合九色 | 免费在线观看亚洲视频 | 日本久久久影视 | 日韩精品首页 | 在线观看av黄色 | 亚洲精品乱码久久 | 一级a毛片高清视频 | 正在播放国产一区二区 | 中文字幕一区二区三区乱码在线 | www.黄色片.com| 欧美一级黄色视屏 | 国产自制av | 日韩电影中文字幕 | 日韩午夜网站 | 免费av小说 | 精品av网站 | 成人av播放 | 国产成a人亚洲精v品在线观看 | 开心色婷婷 | 欧美中文字幕第一页 | 久久国产一区 | 91视频在线免费下载 | 欧美一级xxxx| 久久久国产99久久国产一 | 成人av免费在线 | 欧美一级久久久 | 日韩精品欧美视频 | 91精品色 | 国产亚洲欧美精品久久久久久 | 国产黄色片久久久 | 国产黄a三级三级三级三级三级 | 在线观看 国产 | 国产小视频91 | 久久亚洲专区 | 亚洲 欧美 另类人妖 | 国产精品三级视频 | 激情综合婷婷 | 国产91成人| 国产一级特黄电影 | 91在线视频观看免费 | 欧美在线视频精品 | 久久免费黄色大片 | 999成人 | 日本中文在线 | 日韩在线观看一区二区三区 | www久草| 久久久久久草 | 丁香激情五月婷婷 | 99久久综合国产精品二区 | 欧洲精品在线视频 | 91久久偷偷做嫩草影院 | av午夜电影 | 日本不卡一区二区 | 中国一 片免费观看 | 手机在线小视频 | 国产精品久久久久一区二区 | 99在线精品观看 | 亚洲精品自在在线观看 | 色综合久久综合网 | 亚洲日本一区二区在线 | 久久免费精彩视频 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 色婷婷亚洲婷婷 | 精品视频不卡 | 最新av网址在线观看 | 国产精品精品视频 | 999成人| av先锋影音少妇 | 在线中文字幕网站 | 国产91在线看 | 日韩欧美视频免费看 | 色夜影院 | 色婷婷久久一区二区 | 97日日碰人人模人人澡分享吧 | 久久久免费在线观看 | 亚洲精品视频在线免费 | 亚洲精品xxx | 成人av一区二区三区 | 国产淫片| 日本在线视频一区二区三区 | 日韩精品高清视频 | 亚洲黄色小说网址 | 国产成人精品一区二区三区免费 | 国产精品都在这里 | 91视频久久 | 黄色国产在线观看 | av一级片网站 | 999久久久久久久久久久 | 国产一区在线看 | 婷婷干五月 | 久久激情视频 久久 | 天天干中文字幕 | 欧美一区免费观看 | 亚洲黄色免费在线看 | 日本久久高清视频 | 成人一区影院 | 九九九视频在线 | wwxxxx日本 | 综合激情久久 | 九九九热精品免费视频观看网站 | av福利网址导航大全 | 天堂久久电影网 | 999精品 | 人人爽人人做 | 深夜免费福利在线 | 婷婷干五月 | 97国产情侣爱久久免费观看 | 成人国产精品av | 国产亚洲精品久久久久久电影 | 五月天婷婷免费视频 | 六月丁香婷婷网 | 国产在线观看你懂得 | 中文字幕 欧美性 | 992tv成人免费看片 | 人人看看人人 | 日韩精品三区四区 | 黄色在线免费观看网站 | 免费在线观看av的网站 | 国产美女视频免费观看的网站 | 亚洲成人免费在线 | 日韩电影在线观看一区二区三区 | 九九热中文字幕 | 日日草av | 成人久久免费 | www.香蕉视频在线观看 | 国产亚洲精品久久久久久无几年桃 | 狠狠色丁香婷婷综合视频 | 欧美日韩性视频在线 | 一区二区精品久久 | 日韩精品不卡在线 | 超碰97中文| 久热国产视频 | 婷婷丁香激情综合 | 欧美va天堂va视频va在线 | 久久综合免费视频影院 | 天天爱天天舔 | 亚洲成人中文在线 | 国产精品久久久999 国产91九色视频 | 久久久精品 一区二区三区 国产99视频在线观看 | 91在线视频在线 | 亚洲免费av在线播放 | 亚洲另类人人澡 | 91成人在线免费观看 | 亚洲四虎影院 | 国产免费观看久久 | 在线观看视频免费播放 | 精品999久久久 | 国产在线看一区 | 国产精品免费在线播放 | 三三级黄色片之日韩 | 五月婷婷婷婷婷 | 久久美女高清视频 | 97av免费视频| 午夜12点| 亚洲伦理电影在线 | 婷婷午夜天 | 国产精品第2页 | 国产色 在线 | 成年人黄色大片在线 | 欧美精品久久久久久久久老牛影院 | 亚洲精品久久久蜜桃直播 | 成人一区二区三区在线 | 97精品视频在线播放 | 免费黄色激情视频 | 久久电影国产免费久久电影 | 国产一区二区三区午夜 | 91麻豆看国产在线紧急地址 | 亚洲日本三级 | 亚洲国产影院av久久久久 | 久久99国产综合精品免费 | 国产午夜精品一区二区三区嫩草 | 91亚州| 成人免费观看完整版电影 | 综合久久久久久久久 | 国产精品久久久久久欧美 | 人人澡超碰碰 | 在线天堂中文www视软件 | 免费看一级一片 | 欧美淫aaa免费观看 日韩激情免费视频 | 999色视频 | 在线观看免费高清视频大全追剧 | 国产精品久久久久影视 | 国产精品一区二区三区四 | 亚洲一级片在线看 | 狠狠色丁香久久婷婷综 | 成人黄色视 | 国产精品久久久久久影院 |