3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

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

编程问答

2021年7月 虾皮、OPPO、富途等十几家公司面经总结

發布時間:2024/3/26 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2021年7月 虾皮、OPPO、富途等十几家公司面经总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近朋友內推面試了幾家公司(貨拉拉、蝦皮、有贊、樂信、Qtrade蘋果樹、富途、涂鴉、OPPO、微保、微眾、元戎啟行),也收獲了滿意的offer。整理了下面試遇到的問題,作為記錄。

JS相關

JS原型及原型鏈

function?Person()?{} Person.prototype.name?=?'Zaxlct'; Person.prototype.sayName?=?function()?{alert(this.name); } var?person1?=?new?Person(); //JS 在創建對象的時候,都有一個__proto__?的內置屬性,用于指向創建它的構造函數的原型對象。 //每個對象都有?__proto__?屬性,但只有函數對象才有?prototype?屬性 //?對象?person1?有一個?__proto__屬性,創建它的構造函數是?Person,構造函數的原型對象是?Person.prototype console.log(person1.__proto__?==?Person.prototype)?//true //所有函數對象的__proto__都指向Function.prototype String.__proto__?===?Function.prototype??//?true String.constructor?==?Function?//true prototype.jpg

JS繼承的幾種方式

詳解

  • 原型繼承

  • function?Parent?()?{this.name?=?'Parent'this.sex?=?'boy' } function?Child?()?{this.name?=?'child' } //?將子類的原型對象指向父類的實例 Child.prototype?=?new?Parent() //優:繼承了父類的模板,又繼承了父類的原型對象 //缺:1.無法實現多繼承(因為已經指定了原型對象了) //???2.創建子類時,無法向父類構造函數傳參數
  • 構造函數繼承

  • 在子類構造函數內部使用call或apply來調用父類構造函數,復制父類的實例屬性給子類。

    function?Parent?(name)?{this.name?=?name } function?Child?()?{//用.call?來改變?Parent?構造函數內的指向Parent.call(this,?'child') } //優:解決了原型鏈繼承中子類實例共享父類引用對象的問題,實現多繼承,創建子類實例時,可以向父類傳遞參數 //缺:構造繼承只能繼承父類的實例屬性和方法,不能繼承父類原型的屬性和方法
  • 組合繼承

    組合繼承就是將原型鏈繼承與構造函數繼承組合在一起。

    • 使用原型鏈繼承來保證子類能繼承到父類原型中的屬性和方法

    • 使用構造繼承來保證子類能繼承到父類的實例屬性和方法

    • 寄生組合繼承

    • class繼承

    • 在class?中繼承主要是依靠兩個東西:

      • extends

      • super

      class?Parent?{constructor?(name)?{this.name?=?name}getName?()?{console.log(this.name)} } class?Child?extends?Parent?{constructor?(name)?{super(name)this.sex?=?'boy'} }

      Event Loop 事件循環

      同步與異步、宏任務和微任務分別是函數兩個不同維度的描述。

      同步任務指的是,在主線程上排隊執行的任務,只有前一個任務執行完畢,才能執行后一個任務;異步任務指的是,不進入主線程、而進入任務隊列(task queue)的任務,只有等主線程任務執行完畢,任務隊列開始通知主線程,請求執行任務,該任務才會進入主線程執行。

      當某個宏任務執行完后,會查看是否有微任務隊列。如果有,先執行微任務隊列中的所有任務;如果沒有,在執行環境棧中會讀取宏任務隊列中排在最前的任務;執行宏任務的過程中,遇到微任務,依次加入微任務隊列。棧空后,再次讀取微任務隊列里的任務,依次類推。

      同步(Promise)>異步(微任務(process.nextTick ,Promises.then, Promise.catch ,resove,reject,MutationObserver)>宏任務(setTimeout,setInterval,setImmediate))

      await阻塞?后面的代碼執行,因此跳出async函數執行下一個微任務

      Promise 與?Async/Await??區別

      async/await是基于Promise實現的,看起來更像同步代碼,

      • 不需要寫匿名函數處理Promise的resolve值

      • 錯誤處理: Async/Await 讓 try/catch 可以同時處理同步和異步錯誤。

      • 條件語句也跟錯誤處理一樣簡潔一點

      • 中間值處理(第一個方法返回值,用作第二個方法參數) 解決嵌套問題

      • 調試方便

      const?makeRequest?=?()?=>?{try?{getJSON().then(result?=>?{//?JSON.parse可能會出錯const?data?=?JSON.parse(result)console.log(data)})//?取消注釋,處理異步代碼的錯誤//?.catch((err)?=>?{//???console.log(err)//?})}?catch?(err)?{console.log(err)} }

      使用aync/await的話,catch能處理JSON.parse錯誤:

      const?makeRequest?=?async?()?=>?{try?{//?this?parse?may?failconst?data?=?JSON.parse(await?getJSON())console.log(data)}?catch?(err)?{console.log(err)} }

      promise怎么實現鏈式調用跟返回不同的狀態

      實現鏈式調用:使用.then()或者.catch()方法之后會返回一個promise對象,可以繼續用.then()方法調用,再次調用所獲取的參數是上個then方法return的內容

    • promise的三種狀態是?fulfilled(已成功)/pengding(進行中)/rejected(已拒絕)

    • 狀態只能由 Pending --> Fulfilled 或者 Pending --> Rejected,且一但發生改變便不可二次修改;

    • Promise 中使用?resolve?和?reject?兩個函數來更改狀態;

    • then 方法內部做的事情就是狀態判斷:

      • 如果狀態是成功,調用成功回調函數

      • 如果狀態是失敗,調用失敗回調函數

      函數柯里化

      柯里化(Currying)?是把接收多個參數的原函數變換成接受一個單一參數(原來函數的第一個參數的函數)并返回一個新的函數,新的函數能夠接受余下的參數,并返回和原函數相同的結果。

    • 參數對復用

    • 提高實用性

    • 延遲執行 只傳遞給函數一部分參數來調用它,讓它返回一個函數去處理剩下的參數。柯里化的函數可以延遲接收參數,就是比如一個函數需要接收的參數是兩個,執行的時候必須接收兩個參數,否則沒法執行。但是柯里化后的函數,可以先接收一個參數

    • //?普通的add函數 function?add(x,?y)?{return?x?+?y }//?Currying后 function?curryingAdd(x)?{return?function?(y)?{return?x?+?y} }add(1,?2)???????????//?3 curryingAdd(1)(2)???//?3

      JS對象深克隆

      遞歸遍歷對象,解決循環引用問題

      解決循環引用問題,我們需要一個存儲容器存放當前對象和拷貝對象的對應關系(適合用key-value的數據結構進行存儲,也就是map),當進行拷貝當前對象的時候,我們先查找存儲容器是否已經拷貝過當前對象,如果已經拷貝過,那么直接把返回,沒有的話則是繼續拷貝。

      function?deepClone(target)?{const?map?=?new?Map()function?clone?(target)?{if?(isObject(target))?{let?cloneTarget?=?isArray(target)???[]?:?{};if?(map.get(target))?{return?map.get(target)}map.set(target,cloneTarget)for?(const?key?in?target)?{cloneTarget[key]?=?clone(target[key]);}return?cloneTarget;}?else?{return?target;}}return?clone(target) };

      JS模塊化

      nodeJS里面的模塊是基于commonJS規范實現的,原理是文件的讀寫,導出文件要使用exports、module.exports,引入文件用require。每個文件就是一個模塊;每個文件里面的代碼會用默認寫在一個閉包函數里面AMD規范則是非同步加載模塊,允許指定回調函數,AMD?是?RequireJS?在推廣過程中對模塊定義的規范化產出。

      AMD推崇依賴前置,?CMD推崇依賴就近。對于依賴的模塊AMD是提前執行,CMD是延遲執行。

      在ES6中,我們可以使用?import?關鍵字引入模塊,通過?exprot?關鍵字導出模塊,但是由于ES6目前無法在瀏覽器中執行,所以,我們只能通過babel將不被支持的import編譯為當前受到廣泛支持的?require。

      CommonJs 和 ES6 模塊化的區別:

    • CommonJS 模塊輸出的是一個值的拷貝,ES6 模塊輸出的是值的引用。

    • CommonJS 模塊是運行時加載,ES6 模塊是編譯時輸出接口。

    • 前端模塊化:CommonJS,AMD,CMD,ES6

      import 和 require 導入的區別

      import 的ES6 標準模塊;require 是 AMD規范引入方式;

      import是編譯時調用,所以必須放在文件開頭;是解構過程 require是運行時調用,所以require理論上可以運用在代碼的任何地方;是賦值過程。其實require的結果就是對象、數字、字符串、函數等,再把require的結果賦值給某個變量

      異步加載JS方式

    • 匿名函數自調動態創建script標簽加載js

    • (function(){var?scriptEle?=?document.createElement("script");scriptEle.type?=?"text/javasctipt";scriptEle.async?=?true;scriptEle.src?=?"http://cdn.bootcss.com/jquery/3.0.0-beta1/jquery.min.js";var?x?=?document.getElementsByTagName("head")[0];x.insertBefore(scriptEle,?x.firstChild);??})();
    • async屬性

    • //?async屬性規定一旦加載腳本可用,則會異步執行 <script?type="text/javascript"?src="xxx.js"?async="async"></script>
    • defer屬性

    • //?defer屬性規定是否對腳本執行進行延遲,直到頁面加載為止 <script?type="text/javascript"?src="xxx.js"?defer="defer"></script>

      Set、Map、WeakSet、WeakMap

      Set對象可以存儲任何類型的數據。值是唯一的,沒有重復的值。

      Map對象保存鍵值對,任意值都可以成為它的鍵或值。

      WeakSet?結構與?Set?類似,也是不重復的值的集合 .?WeakMap?對象是一組鍵值對的集合

      不同:WeakSet?的成員只能是對象,而不能是其他類型的值。WeakSet 不可遍歷

      WeakMap只接受對象作為鍵名(null除外),不接受其他類型的值作為鍵名。

      WeakMap的鍵名所指向的對象,不計入垃圾回收機制。

      call、apply

      call( this,a,b,c )?在第一個參數之后的,后續所有參數就是傳入該函數的值。apply( this,[a,b,c] )?只有兩個參數,第一個是對象,第二個是數組,這個數組就是該函數的參數。

      共同之處:都可以用來代替另一個對象調用一個方法,將一個函數的對象上下文從初始的上下文改變為由thisObj指定的新對象。

      所謂防抖,就是指觸發事件后在 n 秒內函數只能執行一次所謂節流,就是指連續觸發事件但是在 n 秒中只執行一次函數。

      addEventListener的第三個參數干嘛的,為true時捕獲,false時冒泡

      Object.prototype.toString.call()?判斷對象類型

      //?new?Set是實現數組去重, //?Array.from()把去重之后轉換成數組 let?arr2?=?Array.from(new?Set(arr));

      詞法作用域與作用域鏈

      作用域規定了如何查找變量,也就是確定當前執行代碼對變量的訪問權限。

      ES5只有全局作用域沒和函數作用域,ES6增加塊級作用域

      暫時性死區:在代碼塊內,使用?let?和?const?命令聲明變量之前,該變量都是不可用的,語法上被稱為暫時性死區。

      JavaScript 采用詞法作用域(lexical scoping),也就是靜態作用域。

      函數的作用域在函數定義的時候就決定了。

      當查找變量的時候,會先從當前上下文的變量對象中查找,如果沒有找到,就會從父級(詞法層面上的父級執行上下文的變量對象中查找,一直找到全局上下文的變量對象,也就是全局對象。這樣由多個執行上下文的變量對象構成的鏈表就叫做作用域鏈

      new關鍵字做了4件事:

      function?_new(constructor,?...arg)?{ //?創建一個空對象var?obj?=?{};//?空對象的`__proto__`指向構造函數的`prototype`,?為這個新對象添加屬性?obj.__proto__?=?constructor.prototype;?//?構造函數的作用域賦給新對象var?res?=?constructor.apply(obj,?arg);?//?返回新對象.如果沒有顯式return語句,則返回thisreturn?Object.prototype.toString.call(res)?===?'[object?Object]'???res?:?obj;? }

      不應該使用箭頭函數一些情況:

      • 當想要函數被提升時(箭頭函數是匿名的)

      • 要在函數中使用this/arguments時,由于箭頭函數本身不具有this/arguments,因此它們取決于外部上下文

      • 使用命名函數(箭頭函數是匿名的)

      • 使用函數作為構造函數時(箭頭函數沒有構造函數)

      • 當想在對象字面是以將函數作為屬性添加并在其中使用對象時,因為咱們無法訪問?this?即對象本身。

      判斷數組的四種方法

    • Array.isArray()?判斷

    • instanceof?判斷: 檢驗構造函數的prototype屬性是否出現在對象的原型鏈中,返回一個布爾值。let a = []; a instanceof Array; //true

    • constructor判斷: 實例的構造函數屬性constructor指向構造函數let a = [1,3,4]; a.constructor === Array;//true

    • Object.prototype.toString.call()?判斷let a = [1,2,3]; Object.prototype.toString.call(a) === '[object Array]';//true

    • TS有什么優勢

    • 靜態輸入:靜態類型化是一種功能,可以在開發人員編寫腳本時檢測錯誤。

    • 大型的開發項目:使用TypeScript工具來進行重構更變的容易、快捷。

    • 更好的協作:類型安全是在編碼期間檢測錯誤,而不是在編譯項目時檢測錯誤。

    • 更強的生產力:干凈的 ECMAScript 6 代碼,自動完成和動態輸入等因素有助于提高開發人員的工作效率。

    • interface 和 type的區別

      • interface 只能定義對象類型。type聲明可以聲明任何類型。

      • interface 能夠聲明合并,兩個相同接口會合并。Type聲明合并會報錯

      • type可以類型推導

      框架 Vue | React

      Vue3.0 新特性

      雙向數據綁定 Proxy

      代理,可以理解為在對象之前設置一個“攔截”,當該對象被訪問的時候,都必須經過這層攔截。意味著你可以在這層攔截中進行各種操作。比如你可以在這層攔截中對原對象進行處理,返回你想返回的數據結構。

      ES6 原生提供 Proxy 構造函數,MDN上的解釋為:Proxy 對象用于定義基本操作的自定義行為(如屬性查找,賦值,枚舉,函數調用等)。

      const?p?=?new?Proxy(target,?handler); //target:?所要攔截的目標對象(可以是任何類型的對象,包括原生數組,函數,甚至另一個代理) //handler:一個對象,定義要攔截的行為const?p?=?new?Proxy({},?{get(target,?propKey)?{return?'哈哈,你被我攔截了';} });console.log(p.name);

      新增的屬性,并不需要重新添加響應式處理,因為 Proxy 是對對象的操作,只要你訪問對象,就會走到 Proxy 的邏輯中。

      Vue3 Composition API

      Vue3.x?推出了Composition API。setup?是組件內使用 Composition API的入口。setup?執行時機是在?beforeCreate?之前執行.

      reactive、ref 與 toRefs、isRef

      Vue3.x 可以使用reactive和ref來進行數據定義。

      //?props?傳入組件對屬性 //?context?一個上下文對象,包含了一些有用的屬性:attrs,parent,refs setup(props,?context)?{//?ref?定義數據const?year?=?ref(0);//?reactive?處理對象的雙向綁定const?user?=?reactive({?nickname:?"xiaofan",?age:?26,?gender:?"女"?});setInterval(()?=>?{year.value++;user.age++;},?1000);return?{year,//?使用toRefs,結構解構...toRefs(user),}; }, //?提供isRef,用于檢查一個對象是否是ref對象

      watchEffect 監聽函數

      • watchEffect 不需要手動傳入依賴

      • watchEffect 會先執行一次用來自動收集依賴

      • watchEffect 無法獲取到變化前的值, 只能獲取變化后的值

      computed可傳入get和set

      用于定義可更改的計算屬性

      const?plusOne?=?computed({get:?()?=>?count.value?+?1,set:?val?=>?{?count.value?=?val?-?1?} });

      使用TypeScript和JSX

      setup現在支持返回一個渲染函數,這個函數返回一個JSX,JSX可以直接使用聲明在setup作用域的響應式狀態:

      export?default?{setup()?{const?count?=?ref(0);return?()?=>?(<div>{count.value}</div>);}, };

      Vue 跟React 對比?

      相同點:

    • 都有虛擬DOM(Virtual DOM 是一個映射真實DOM的JavaScript對象)

    • 都提供了響應式和組件化的視圖組件。

    • 不同點:Vue 是MVVM框架,雙向數據綁定,當ViewModel對Model進行更新時,通過數據綁定更新到View。

      React是一個單向數據流的庫,狀態驅動視圖。State --> View --> New State --> New View?ui = render (data)

      模板渲染方式不同。React是通過JSX來渲染模板,而Vue是通過擴展的HTML來進行模板的渲染。

      組件形式不同,Vue文件里將HTML,JS,CSS組合在一起。react提供class組件和function組

      Vue封裝好了一些v-if,v-for,React什么都是自己實現,自由度更高

      Vue 初始化過程,雙向數據綁定原理

      vue.js 則是采用數據劫持結合發布者-訂閱者模式的方式,通過Object.defineProperty()來劫持各個屬性的setter,getter,dep.addSub來收集訂閱的依賴,watcher監聽數據的變化,在數據變動時發布消息給訂閱者,觸發相應的監聽回調。

      監聽器Observer,用來劫持并監聽所有屬性,如果有變動的,就通知訂閱者。訂閱者Watcher,可以收到屬性的變化通知并執行相應的函數,從而調用對應update更新視圖。

      v-model?指令,它能輕松實現表單輸入和應用狀態之間的雙向綁定。

      computed:?支持緩存,只有依賴數據結果發生改變,才會重新進行計算,不支持異步操作,如果一個屬性依賴其他屬性,多對一,一般用computed

      watch:?數據變,直接觸發相應操作,支持異步,監聽數據必須data中聲明過或者父組件傳遞過來的props中的數據,當數據變化時,觸發其他操作,函數有兩個參數

      vue-router實現原理

      端路由簡介以及vue-router實現原理原理核心就是 更新視圖但不重新請求頁面。路徑之間的切換,也就是組件的切換。vue-router實現單頁面路由跳轉模式:hash模式、history模式。根據設置mode參數

      hash模式:通過錨點值的改變,根據不同的值,渲染指定DOM位置的不同數據。每一次改變#后的部分,都會在瀏覽器的訪問歷史中增加一個記錄,使用”后退”按鈕,就可以回到上一個位置。history模式:利用?window.history.pushState?API 來完成 URL 跳轉而無須重新加載頁面。

      vuex實現原理:

      Vue.use(vuex)會調用vuex的install方法

      在beforeCreate鉤子前混入vuexInit方法,vuexInit方法實現了store注入vue組件實例,并注冊了vuex?store的引用屬性$store。

      Vuex的state狀態是響應式,是借助vue的data是響應式,將state存入vue實例組件的data中;

      Vuex的getters則是借助vue的計算屬性computed實現數據實時監聽。

      nextTick 的原理以及運行機制?

      nextTick的源碼分析

      vue進行DOM更新內部也是調用nextTick來做異步隊列控制。只要觀察到數據變化,Vue 將開啟一個隊列,并緩沖在同一事件循環中發生的所有數據改變。如果同一個 watcher 被多次觸發,只會被推入到隊列中一次。

      DOM至少會在當前事件循環里面的所有數據變化完成之后,再統一更新視圖。而當我們自己調用nextTick的時候,它就在更新DOM的microtask(微任務隊列)后追加了我們自己的回調函數

      從而確保我們的代碼在DOM更新后執行,同時也避免了setTimeout可能存在的多次執行問題。確保隊列中的微任務在一次事件循環前被執行完畢。

      Vue 實現一個高階組件

      高階組件就是一個函數,且該函數接受一個組件作為參數,并返回一個新的組件。在不改變對象自身的前提下在程序運行期間動態的給對象添加一些額外的屬性或行為

      //?高階組件(HOC)接收到的?props?應該透傳給被包裝組件即直接將原組件prop傳給包裝組件 //?高階組件完全可以添加、刪除、修改?props export?default?function?Console(BaseComponent)?{return?{props:?BaseComponent.props,mounted()?{console.log("高階組件");},render(h)?{console.log(this);//?將?this.$slots?格式化為數組,因為?h?函數第三個參數是子節點,是一個數組const?slots?=?Object.keys(this.$slots).reduce((arr,?key)?=>?arr.concat(this.$slots[key]),?[]).map((vnode)?=>?{vnode.context?=?this._self;?//?綁定到高階組件上,vm:解決具名插槽被作為默認插槽進行渲染return?vnode;});//?透傳props、透傳事件、透傳slotsreturn?h(BaseComponent,{on:?this.$listeners,attrs:?this.$attrs,?//?attrs?指的是那些沒有被聲明為?props?的屬性props:?this.$props,},slots);},}; }

      Vue.component()、Vue.use()、this.$xxx()

      Vue.component()方法注冊全局組件。

      • 第一個參數是自定義元素名稱,也就是將來在別的組件中使用這個組件的標簽名稱。

      • 第二個參數是將要注冊的Vue組件。

      import?Vue?from?'vue'; //?引入loading組件? import?Loading?from?'./loading.vue'; //?將loading注冊為全局組件,在別的組件中通過<loading>標簽使用Loading組件 Vue.component('loading',?Loading);

      Vue.use注冊插件,這接收一個參數。這個參數必須具有install方法。Vue.use函數內部會調用參數的install方法。

      • 如果插件沒有被注冊過,那么注冊成功之后會給插件添加一個installed的屬性值為true。Vue.use方法內部會檢測插件的installed屬性,從而避免重復注冊插件。

      • 插件的install方法將接收兩個參數,第一個是參數是Vue,第二個參數是配置項options。

      • 在install方法內部可以添加全局方法或者屬性

      import?Vue?from?'vue';//?這個插件必須具有install方法 const?plugin?=?{install?(Vue,?options)?{//?添加全局方法或者屬性Vue.myGlobMethod?=?function?()?{};//?添加全局指令Vue.directive();//?添加混入Vue.mixin();//?添加實例方法Vue.prototype.$xxx?=?function?()?{};//?注冊全局組件Vue.component()} }//?Vue.use內部會調用plugin的install方法 Vue.use(plugin);

      將Hello方法掛載到Vue的prototype上.

      import?Vue?from?'vue'; import?Hello?from?'./hello.js'; Vue.prototype.$hello?=?Hello;

      vue組件中就可以this.$hello('hello world')

      Vue父組件傳遞props數據,子組件修改參數

      • 父子組件傳值時,父組件傳遞的參數,數組和對象,子組件接受之后可以直接進行修改,并且父組件相應的值也會修改。控制臺中發出警告。

      • 如果傳遞的值是字符串,直接修改會報錯。單向數據流,每次父級組件發生更新時,子組件中所有的 prop 都將會刷新為最新的值。

      如果子組件想修改prop中數據:

    • 定義一個局部變量,使用prop的值賦值

    • 定義一個計算屬性,處理prop的值并返回

    • Vue父子組件生命周期執行順序

      加載渲染過程

      父beforeCreate -> 父created -> 父beforeMount-> 子beforeCreate -> 子created -> 子beforeMount -> 子mounted -> 父mounted

      子組件更新過程

      父beforeUpdate -> 子beforeUpdate -> 子updated -> 父updated

      父組件更新過程

      父beforeUpdate -> 父updated

      銷毀過程

      父beforeDestroy -> 子beforeDestroy -> 子destroyed -> 父destroyed

      Vue 自定義指令

      自定義指令提供了幾個鉤子函數:bind:指令第一次綁定到元素時調用inserted:被綁定元素插入父節點時調用update:所在組件的 VNode 更新時調用

      使用slot后可以在子組件內顯示插入的新標簽

      webpack 及工程化

      webpack的生命周期,及鉤子

      compiler(整個生命周期 [k?m?pa?l?r]) 鉤子 https://webpack.docschina.org/api/compiler-hooks/compilation(編譯 [?kɑ?mp??le??n]) 鉤子

      compiler對象包含了Webpack 環境所有的的配置信息。這個對象在啟動 webpack 時被一次性建立,并配置好所有可操作的設置,包括 options,loader 和 plugin。當在 webpack 環境中應用一個插件時,插件將收到此 compiler 對象的引用。可以使用它來訪問 webpack 的主環境。

      compilation對象包含了當前的模塊資源、編譯生成資源、變化的文件等。當運行webpack 開發環境中間件時,每當檢測到一個文件變化,就會創建一個新的 compilation,從而生成一組新的編譯資源。compilation 對象也提供了很多關鍵時機的回調,以供插件做自定義處理時選擇使用。

      compiler代表了整個webpack從啟動到關閉的生命周期,而compilation?只是代表了一次新的編譯過程

      webpack 編譯過程

      Webpack 的編譯流程是一個串行的過程,從啟動到結束會依次執行以下流程:

    • 初始化參數:從配置文件和 Shell 語句中讀取與合并參數,得出最終的參數;

    • 開始編譯:用上一步得到的參數初始化?Compiler?對象,加載所有配置的插件,執行對象的?run方法開始執行編譯;

    • 確定入口:根據配置中的?entry?找出所有的入口文件;

    • 編譯模塊:從入口文件出發,調用所有配置的?Loader?對模塊進行翻譯,再找出該模塊依賴的模塊,再遞歸本步驟直到所有入口依賴的文件都經過了本步驟的處理;

    • 完成模塊編譯:在經過第4步使用?Loader?翻譯完所有模塊后,得到了每個模塊被翻譯后的最終內容以及它們之間的依賴關系;

    • 輸出資源:根據入口和模塊之間的依賴關系,組裝成一個個包含多個模塊的Chunk,再把每個?Chunk?轉換成一個單獨的文件加入到輸出列表,這步是可以修改輸出內容的最后機會;

    • 輸出完成:在確定好輸出內容后,根據配置確定輸出的路徑和文件名,把文件內容寫入到文件系統。

    • 優化項目的webpack打包編譯過程

      1.構建打點:構建過程中,每一個Loader?和?Plugin?的執行時長,在編譯 JS、CSS 的 Loader 以及對這兩類代碼執行壓縮操作的 Plugin上消耗時長 。一款工具:speed-measure-webpack-plugin

      2.緩存:大部分 Loader 都提供了cache?配置項。cache-loader?,將 loader 的編譯結果寫入硬盤緩存

      3.多核編譯,happypack項目接入多核編譯,理解為happypack?將編譯工作灌滿所有線程

      4.抽離,webpack-dll-plugin?將這些靜態依賴從每一次的構建邏輯中抽離出去,靜態依賴單獨打包,Externals將不需要打包的靜態資源從構建邏輯中剔除出去,使用CDN 引用

      5.tree-shaking,雖然依賴了某個模塊,但其實只使用其中的某些功能。通過?tree-shaking,將沒有使用的模塊剔除,來達到刪除無用代碼的目的。

      首屏加載優化

      路由懶加載:改為用import引用,以函數的形式動態引入,可以把各自的路由文件分別打包,只有在解析給定的路由時,才會下載路由組件;

      element-ui按需加載:引用實際上用到的組件 ;

      組件重復打包:CommonsChunkPlugin配置來拆包,把使用2次及以上的包抽離出來,放進公共依賴文件,首頁也有復用的組件,也會下載這個公共依賴文件;

      gzip: 拆完包之后,再用gzip做一下壓縮,關閉sourcemap。

      UglifyJsPlugin:??生產環境,壓縮混淆代碼,移除console代碼

      CDN部署靜態資源:靜態請求打在nginx時,將獲取靜態資源的地址進行重定向CDN內容分發網絡

      移動端首屏加載可以使用骨架屏,自定義loading,首頁單獨做服務端渲染

      如何進行前端性能優化(21種優化+7種定位方式)

      webpack 熱更新機制

      熱更新流程總結:

      • 啟動本地server,讓瀏覽器可以請求本地的靜態資源

      • 頁面首次打開后,服務端與客戶端通過 websocket建立通信渠道,把下一次的 hash 返回前端

      • 客戶端獲取到hash,這個hash將作為下一次請求服務端 hot-update.js 和 hot-update.json的hash

      • 修改頁面代碼后,Webpack 監聽到文件修改后,開始編譯,編譯完成后,發送 build 消息給客戶端

      • 客戶端獲取到hash,成功后客戶端構造hot-update.js script鏈接,然后插入主文檔

      • hot-update.js 插入成功后,執行hotAPI 的 createRecord 和 reload方法,獲取到 Vue 組件的 render方法,重新 render 組件, 繼而實現 UI 無刷新更新。

      webpack的 loader和plugin介紹,css-loader,style-loader的區別

      loader?它就是一個轉換器,將A文件進行編譯形成B文件,

      plugin?,它就是一個擴展器,來操作的是文件,針對是loader結束后,webpack打包的整個過程,它并不直接操作文件,會監聽webpack打包過程中的某些節點(run, build-module, program)

      Babel?能把ES6/ES7的代碼轉化成指定瀏覽器能支持的代碼。

      css-loader?的作用是把 css文件進行轉碼style-loader: 使用<style>將css-loader內部樣式注入到我們的HTML頁面

      先使用?css-loader轉碼,然后再使用?style-loader插入到文件

      如何編寫一個webpack的plugin?

      https://segmentfault.com/a/1190000037513682

      webpack 插件的組成:

      • 一個 JS 命名函數或一個類(可以想下我們平時使用插件就是?new XXXPlugin()的方式)

      • 在插件類/函數的 (prototype) 上定義一個 apply 方法。

      • 通過 apply 函數中傳入 compiler 并插入指定的事件鉤子,在鉤子回調中取到 compilation 對象

      • 通過 compilation 處理 webpack 內部特定的實例數據

      • 如果是插件是異步的,在插件的邏輯編寫完后調用 webpack 提供的 callback

      為什么 Vite 啟動這么快

      Webpack 會先打包,然后啟動開發服務器,請求服務器時直接給予打包結果。

      而 Vite 是直接啟動開發服務器,請求哪個模塊再對該模塊進行實時編譯。

      Vite 將開發環境下的模塊文件,就作為瀏覽器要執行的文件,而不是像 Webpack 那樣進行打包合并。

      由于 Vite 在啟動的時候不需要打包,也就意味著不需要分析模塊的依賴、不需要編譯。因此啟動速度非常快。當瀏覽器請求某個模塊時,再根據需要對模塊內容進行編譯。

      你的腳手架是怎么做的

      使用?download-git-repo?下載倉庫代碼democommander:完整的?node.js?命令行解決方案。聲明program,使用.option()?方法來定義選項Inquirer.js:命令行用戶界面的集合。

      前端監控

      前端監控通常包括行為監控(PV/UV,埋點接口統計)、異常監控性能監控

      一個監控系統,大致可以分為四個階段:日志采集日志存儲統計與分析報告和警告

      錯誤監控

      Vue專門的錯誤警告的方法?Vue.config.errorHandler,(Vue提供只能捕獲其頁面生命周期內的函數,比如created,mounted)

      Vue.config.errorHandler?=?function?(err)?{ console.error(‘Vue.error’,err.stack) //?邏輯處理 };

      框架:betterjsfundebug(收費) 捕獲錯誤的腳本要放置在最前面,確保可以收集到錯誤信息 方法:

    • window.onerror()當有js運行時錯誤觸發時,onerror可以接受多個參數(message, source, lineno, colno, error)。

    • window.addEventListener('error'), function(e) {}, true?會比window.onerror先觸發,不能阻止默認事件處理函數的執行,但可以全局捕獲資源加載異常的錯誤

    • 前端JS錯誤捕獲--sourceMap

      如何監控網頁崩潰?**崩潰和卡頓有何差別?**監控錯誤

    • Service Worker 有自己獨立的工作線程,與網頁區分開,網頁崩潰了,Service Worker 一般情況下不會崩潰;

    • Service Worker 生命周期一般要比網頁還要長,可以用來監控網頁的狀態;

      卡頓:加載中,渲染遇到阻塞

    • 性能監控 && 性能優化

      性能指標:

      • FP(首次繪制)

      • FCP(首次內容繪制 First contentful paint)

      • LCP(最大內容繪制時間 Largest contentful paint)

      • FPS(每秒傳輸幀數)

      • TTI(頁面可交互時間 Time to Interactive)

      • HTTP?請求響應時間

      • DNS?解析時間

      • TCP?連接時間

      性能數據采集需要使用?window.performance API?, ? JS庫?web-vitals:import {getLCP} from 'web-vitals';

      ????//?重定向耗時redirect:?timing.redirectEnd?-?timing.redirectStart,//?DOM?渲染耗時dom:?timing.domComplete?-?timing.domLoading,//?頁面加載耗時load:?timing.loadEventEnd?-?timing.navigationStart,//?頁面卸載耗時unload:?timing.unloadEventEnd?-?timing.unloadEventStart,//?請求耗時request:?timing.responseEnd?-?timing.requestStart,//?獲取性能信息時當前時間time:?new?Date().getTime(),//?DNS查詢耗時domainLookupEnd?-?domainLookupStart//?TCP鏈接耗時connectEnd?-?connectStart//?request請求耗時responseEnd?-?responseStart//?解析dom樹耗時domComplete?-?domInteractive//?白屏時間domloadng?-?fetchStart//?onload時間loadEventEnd?-?fetchStart

      性能優化常用手段:緩存技術、 ? 預加載技術、 ? 渲染方案。

    • 緩存?:主要有 cdn、瀏覽器緩存、本地緩存以及應用離線包

    • 預加載?:資源預拉取(prefetch)則是另一種性能優化的技術。通過預拉取可以告訴瀏覽器用戶在未來可能用到哪些資源。

      • prefetch支持預拉取圖片、腳本或者任何可以被瀏覽器緩存的資源。

        在head里 添加?<linkrel="prefetch"href="image.png">

      • prerender是一個重量級的選項,它可以讓瀏覽器提前加載指定頁面的所有資源。

      • subresource可以用來指定資源是最高優先級的。當前頁面需要,或者馬上就會用到時。

    • 渲染方案

      • 靜態渲染(SR)

      • 前端渲染(CSR)

      • 服務端渲染(SSR)

      • 客戶端渲染(NSR):NSR 數據請求,首屏數據請求和數據線上與 webview 的一個初始化和框架 JS 初始化并行了起來,大大縮短了首屏時間。

      640.png

      常見的六種設計模式以及應用場景

      https://www.cnblogs.com/whu-2017/p/9471670.html

      觀察者模式的概念

      觀察者模式模式,屬于行為型模式的一種,它定義了一種一對多的依賴關系,讓多個觀察者對象同時監聽某一個主題對象。這個主體對象在狀態變化時,會通知所有的觀察者對象。

      發布訂閱者模式的概念

      發布-訂閱模式,消息的發送方,叫做發布者(publishers),消息不會直接發送給特定的接收者,叫做訂閱者。意思就是發布者和訂閱者不知道對方的存在。需要一個第三方組件,叫做信息中介,它將訂閱者和發布者串聯起來,它過濾和分配所有輸入的消息。換句話說,發布-訂閱模式用來處理不同系統組件的信息交流,即使這些組件不知道對方的存在。

      需要一個第三方組件,叫做信息中介,它將訂閱者和發布者串聯起來

      工廠模式??主要是為創建對象提供了接口。場景:在編碼時不能預見需要創建哪種類的實例。

      代理模式 命令模式

      單例模式

      保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。(window)

      Http 及瀏覽器相關

      七層網絡模型

      應用層、表示層、會話層、傳輸層、網絡層、數據鏈路層、物理層

      TCP:面向連接、傳輸可靠(保證數據正確性,保證數據順序)、用于傳輸大量數據(流模式)、速度慢,建立連接需要開銷較多(時間,系統資源) 。(應用場景:HTP,HTTP,郵件)

      UDP:面向非連接、傳輸不可靠、用于傳輸少量數據(數據包模式)、速度快 ,可能丟包(應用場景:即時通訊)

      是否連接?????面向連接?????面向非連接 傳輸可靠性???可靠????????不可靠 應用場合????少量數據????傳輸大量數據

      https

      客戶端先向服務器端索要公鑰,然后用公鑰加密信息,服務器收到密文后,用自己的私鑰解密。服務器公鑰放在數字證書中。

      url到加載渲染全過程

    • DNS域名解析。

    • TCP三次握手,建立接連。

    • 發送HTTP請求報文。

    • 服務器處理請求返回響應報文。

    • 瀏覽器解析渲染頁面。

    • 四次揮手,斷開連接。

    • DNS 協議提供通過域名查找 IP地址,或逆向從?IP地址反查域名的服務。DNS 是一個網絡服務器,我們的域名解析簡單來說就是在 DNS 上記錄一條信息記錄。

      TCP 三次握手,四次揮手:握手揮手都是客戶端發起,客戶端結束。三次握手與四次揮手詳解

      負載均衡:請求在進入到真正的應用服務器前,可能還會先經過負責負載均衡的機器,它的作用是將請求合理地分配到多個服務器上,轉發HTTP請求;同時具備具備防攻擊等功能。可分為DNS負載均衡,HTTP負載均衡,IP負載均衡,鏈路層負載均衡等。

      Web Server:請求經過前面的負載均衡后,將進入到對應服務器上的 Web Server,比如?Apache、Tomcat

      反向代理是工作在 HTTP 上的,一般都是?Nginx。全國各地訪問baidu.com就肯定要通過代理訪問,不可能都訪問百度的那臺服務器。?(VPN正向代理,代理客戶端)

      瀏覽器解析渲染過程:返回的html傳遞到瀏覽器后,如果有gzip會先解壓,找出文件編碼格式,外鏈資源的加載 html從上往下解析,遇到js,css停止解析渲染,直到js執行完成。解析HTML,構建DOM樹 解析CSS,生成CSS規則樹 合并DOM樹和CSS規則,生成render樹去渲染

      不會引起DOM樹變化,頁面布局變化,改變元素樣式的行為叫重繪

      引起DOM樹結構變化,頁面布局變化的行為叫回流

      GUI渲染線程負責渲染瀏覽器界面HTML元素,當界面需要?重繪(Repaint)?或由于某種操作引發?回流(reflow)?時,該線程就會執行。在Javascript引擎運行腳本期間,GUI渲染線程都是處于掛起狀態的,也就是說被”凍結”了. 直到JS程序執行完成,才會接著執行。因此如果JS執行的時間過長,這樣就會造成頁面的渲染不連貫,導致頁面渲染加載阻塞的感覺。JavaScript是可操縱DOM的,如果在修改這些元素屬性同時渲染界面,渲染前后元素數據可能不一致

      GPU繪制多進程的瀏覽器:主控進程,插件進程,GPU,tab頁(瀏覽器內核)多線程的瀏覽器內核:每一個tab頁面可以看作是瀏覽器內核進程,然后這個進程是多線程的。

      它有幾大類子線程:

      • GUI線程

      • JS引擎線程

      • 事件觸發線程

      • 定時器線程

      • HTTP請求線程

      http1 跟HTTP2

      http2

      多路復用:相同域名多個請求,共享同一個TCP連接,降低了延遲

      請求優先級:給每個request設置優先級

      二進制傳輸;之前是用純文本傳輸

      數據流:數據包不是按順序發送,對數據包做標記。每個請求或回應的所有數據包成為一個數據流,

      服務端推送:可以主動向客戶端發送消息。

      頭部壓縮:減少包的大小跟數量

      HTTP/1.1 中的管道( pipeline)傳輸中如果有一個請求阻塞了,那么隊列后請求也統統被阻塞住了 HTTP/2 多請求復用一個TCP連接,一旦發生丟包,就會阻塞住所有的 HTTP 請求。HTTP/3 把 HTTP 下層的 TCP 協議改成了?UDP!http1 keep alive 串行傳輸

      http 中的 keep-alive 有什么作用

      響應頭中設置?keep-alive?可以在一個 TCP 連接上發送多個 http?請求

      瀏覽器緩存策略

      強緩存:cache-control;no-cache max-age=<10000000>;expires;其中Cache-Conctrol的優先級比Expires高;

      控制強制緩存的字段分別是Expires和Cache-Control,如果客戶端的時間小于Expires的值時,直接使用緩存結果。

      協商緩存:Last-Modified / If-Modified-Since和Etag / If-None-Match,其中Etag / If-None-Match的優先級比Last-Modified / 首次請求,服務器會在返回的響應頭中加上Last-Modified字段,表示資源最后修改的時間。

      瀏覽器再次請求時,請求頭中會帶上If-Modified-Since字段,比較兩個字段,一樣則證明資源未修改,返回304,否則重新返回資源,狀態碼為200;

      垃圾回收機制:

      標記清除:進入執行環境的變量都被標記,然后執行完,清除這些標記跟變量。查看變量是否被引用。

      引用計數:會記錄每個值被引用的次數,當引用次數變成0后,就會被釋放掉。

      前端安全

      同源策略:如果兩個 URL 的協議、域名和端口都相同,我們就稱這兩個 URL 同源。因為瀏覽器有cookies。

      • XSS:跨站腳本攻擊(Cross Site Scripting)?input, textarea等所有可能輸入文本信息的區域,輸入<script src="http://惡意網站"></script>等,提交后信息會存在服務器中 。

      • CSRF:跨站請求偽造 。引誘用戶打開黑客的網站,在黑客的網站中,利用用戶的登錄狀態發起的跨站請求。

        A站點img的src=B站點的請求接口,可以訪問;解決:referer攜帶請求來源

        訪問該頁面后,表單自動提交, 模擬完成了一次POST操作,發送post請求

        解決:后端注入一個隨機串到Cookie,前端請求取出隨機串添加傳給后端。

      • http 劫持:電信運營商劫持

      • SQL注入

      • 點擊劫持:誘使用戶點擊看似無害的按鈕(實則點擊了透明?iframe中的按鈕) ,解決后端請求頭加一個字段?X-Frame-Options

      • 文件上傳漏洞?:服務器未校驗上傳的文件

      CSS 及 HTML

      什么是BFC(塊級格式化上下文)、IFC(內聯格式化上下文 )、FFC(彈性盒模型)

      BFC(Block formatting context),即塊級格式化上下文,它作為HTML頁面上的一個獨立渲染區域,只有區域內元素參與渲染,且不會影響其外部元素。簡單來說,可以將 BFC 看做是一個“圍城”,外面的元素進不來,里面的元素出不去(互不干擾)。

      一個決定如何渲染元素的容器 ,渲染規則 :

      • 1、內部的塊級元素會在垂直方向,一個接一個地放置。

      • 2、塊級元素垂直方向的距離由margin決定。屬于同一個BFC的兩個相鄰塊級元素的margin會發生重疊。

      • 3、對于從左往右的格式化,每個元素(塊級元素與行內元素)的左邊緣,與包含塊的左邊緣相接觸,(對于從右往左的格式化則相反)。即使包含塊中的元素存在浮動也是如此,除非其中元素再生成一個BFC。

      • 4、BFC的區域不會與浮動元素重疊。

      • 5、BFC是一個隔離的獨立容器,容器里面的子元素和外面的元素互不影響。

      • 6、計算BFC容器的高度時,浮動元素也參與計算。

      形成BFC的條件:

      1、浮動元素,float 除 none 以外的值;

      2、定位元素,position(absolute,fixed);

      3、display 為以下其中之一的值 inline-block,table-cell,table-caption;

      4、overflow 除了 visible 以外的值(hidden,auto,scroll);

      BFC 一般用來解決以下幾個問題

      • 邊距重疊問題

      • 消除浮動問題

      • 自適應布局問題

      flex: 0 1 auto;?是什么意思?

      元素會根據自身寬高設置尺寸。它會縮短自身以適應?flex?容器,但不會伸長并吸收?flex?容器中的額外自由空間來適應?flex?容器?。水平的主軸(main axis)和垂直的交叉軸(cross axis)幾個屬性決定按哪個軸的排列方向

      • flex-grow:?0??一個無單位數(): 它會被當作<flex-grow>的值。

      • flex-shrink:?1??一個有效的**寬度(width)**值: 它會被當作?<flex-basis>的值。

      • flex-basis:?auto??關鍵字none,auto或initial.

      放大比例、縮小比例、分配多余空間之前占據的主軸空間。

      避免CSS全局污染

    • scoped 屬性

    • css in js

    • const?styles?=?{bar:?{backgroundColor:?'#000'} } const?example?=?(props)=>{<div?style={styles.bar}?/> }
    • CSS Modules

    • 使用less,盡量少使用全局對選擇器

    • //?選擇器上>要記得寫,免得污染所有ul下面的li ul{>li{color:red;} }

      CSS Modules

      阮一峰 CSS Modules

      CSS Modules是一種構建步驟中的一個進程。通過構建工具來使指定class達到scope的過程。

      CSS Modules?允許使用::global(.className)的語法,聲明一個全局規則。凡是這樣聲明的class,都不會被編譯成哈希字符串。:local(className): 做 localIdentName 規則處理,編譯唯一哈希類名。

      CSS Modules使用特點:

      • 不使用選擇器,只使用 class 名來定義樣式

      • 不層疊多個 class,只使用一個 class 把所有樣式定義好

      • 不嵌套class

      盒子模型和?box-sizing?屬性

      width: 160px; padding: 20px; border: 8px solid orange;標準 box-sizing:?content-box;?元素的總寬度 = 160 + 202 + 82; IE的?border-box:總寬度160

      margin/padding取百分比的值時 ,基于父元素的寬度和高度的。

      css繪制三角形

    • 通過border 處理

    • //?border?處理 .class?{width:?0;height:?0;border-left:?50px?solid?transparent;border-right:?50px?solid?transparent;border-bottom:?100px?solid?red; } //?寬高+border div?{width:?50px;height:?50px;border:?2px?solid?orange; }
    • clip-path裁剪獲得

    • div{clip-path:?polygon(0?100%,?50%?0,?100%?100%); }
    • 漸變linear-gradient 實現

    • div?{width:?200px;height:?200px;background:linear-gradient(to?bottom?right,?#fff?0%,?#fff?49.9%,?rgba(148,88,255,1)?50%,rgba(185,88,255,1)?100%); }

      CSS實現了三角形后如何給三角形添加陰影

      ???

      CSS兩列布局的N種實現

      兩列布局分為兩種,一種是左側定寬、右側自適應,另一種是兩列都自適應(即左側寬度由子元素決定,右側補齊剩余空間)。

    • 左側定寬、右側自適應如何實現

    • //?兩個元素都設置dislpay:inline-block .left?{display:?inline-block;width:?100px;height:?200px;background-color:?red;vertical-align:?top; } .right?{display:?inline-block;width:?calc(100%?-?100px);height:?400px;background-color:?blue;vertical-align:?top; } //?兩個元素設置浮動,右側自適應元素寬度使用calc函數計算 .left{float:?left;width:?100px;height:?200px;background-color:?red; } .right{float:?left;width:?calc(100%?-?100px);height:?400px;background-color:?blue; } //?父元素設置display:flex,自適應元素設置flex:1 .box{height:?600px;width:?100%;display:?flex; } .left{width:?100px;height:?200px;background-color:?red; } .right{flex:?1;height:?400px;background-color:?blue; } //?父元素相對定位,左側元素絕對定位,右側自適應元素設置margin-left的值大于定寬元素的寬度 .left{position:?absolute;width:?100px;height:?200px;background-color:?red; } .right{margin-left:?100px;height:?400px;background-color:?blue; }
    • 左右兩側元素都自適應

    • //?flex布局?同上 //?父元素設置display:grid;?grid-template-columns:auto?1fr;(這個屬性定義列寬,auto關鍵字表示由瀏覽器自己決定長度。fr是一個相對尺寸單位,表示剩余空間做等分)grid-gap:20px(行間距) .parent{display:grid;grid-template-columns:auto?1fr;grid-gap:20px }? .left{background-color:?red;height:?200px; } .right{height:300px;background-color:?blue; } //?浮動+BFC???父元素設置overflow:hidden,左側定寬元素浮動,右側自適應元素設置overflow:auto創建BFC .box{height:?600px;width:?100%;overflow:?hidden; } .left{float:?left;width:?100px;height:?200px;background-color:?red; } .right{overflow:?auto;height:?400px;background-color:?blue; }

      CSS三列布局

    • float布局:左邊左浮動,右邊右浮動,中間margin:0 100px;

    • Position布局: 左邊left:0; 右邊right:0; 中間left: 100px; right: 100px;

    • table布局: 父元素 display: table; 左右 width: 100px; 三個元素display: table-cell;

    • 彈性(flex)布局:父元素 display: flex; 左右 width: 100px;

    • 網格(gird)布局:

    • //?gird提供了?gird-template-columns、grid-template-rows屬性讓我們設置行和列的高、寬 .div{width:?100%;display:?grid;grid-template-rows:?100px;grid-template-columns:?300px?auto?300px; }

      常見場景及問題

      app與H5 如何通訊交互的?

      //?兼容IOS和安卓 callMobile(parameters,messageHandlerName)?{//handlerInterface由iOS addScriptMessageHandler與andorid addJavascriptInterface 代碼注入而來。if?(/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent))?{//?alert('ios')window.webkit.messageHandlers[messageHandlerName].postMessage(JSON.stringify(parameters))}?else?{//?alert('安卓')//安卓傳輸不了js?json對象,只能傳輸stringwindow.webkit[messageHandlerName](JSON.stringify(parameters))} }

      由app將原生方法注入到window上供js調用

      messageHandlerName?約定的通信方法parameters?需要傳入的參數

      移動端適配方案

      rem是相對于HTML的根元素em相對于父級元素的字體大小。VW,VH?屏幕寬度高度的高分比

      //按照寬度375圖算,?1rem?=?100px; (function?(win,?doc)?{function?changeSize()?{doc.documentElement.style.fontSize?=?doc.documentElement.clientWidth?/?3.75?+?'px';console.log(100?*?doc.documentElement.clientWidht?/?3.75)}changeSize();win.addEventListener('resize',?changeSize,?false);})(window,?document);

      代碼編程相關

      實現發布訂閱

      /*?Pubsub?*/ function?Pubsub(){//存放事件和對應的處理方法this.handles?=?{}; }Pubsub.prototype?=?{//傳入事件類型type和事件處理handleon:?function?(type,?handle)?{if(!this.handles[type]){this.handles[type]?=?[];}this.handles[type].push(handle);},emit:?function?()?{//通過傳入參數獲取事件類型//將arguments轉為真數組var?type?=?Array.prototype.shift.call(arguments);if(!this.handles[type]){return?false;}for?(var?i?=?0;?i?<?this.handles[type].length;?i++)?{var?handle?=?this.handles[type][i];//執行事件handle.apply(this,?arguments);}},off:?function?(type,?handle)?{handles?=?this.handles[type];if(handles){if(!handle){handles.length?=?0;//清空數組}else{for?(var?i?=?0;?i?<?handles.length;?i++)?{var?_handle?=?handles[i];if(_handle?===?handle){//從數組中刪除handles.splice(i,1);}}}}?? }

      promise怎么實現鏈式調用跟返回不同的狀態

      //?MyPromise.js//?先定義三個常量表示狀態 const?PENDING?=?'pending'; const?FULFILLED?=?'fulfilled'; const?REJECTED?=?'rejected';//?新建?MyPromise?類 class?MyPromise?{constructor(executor){//?executor?是一個執行器,進入會立即執行//?并傳入resolve和reject方法executor(this.resolve,?this.reject)}//?儲存狀態的變量,初始值是?pendingstatus?=?PENDING;// resolve和reject為什么要用箭頭函數?//?如果直接調用的話,普通函數this指向的是window或者undefined//?用箭頭函數就可以讓this指向當前實例對象//?成功之后的值value?=?null;//?失敗之后的原因reason?=?null;//?更改成功后的狀態resolve?=?(value)?=>?{//?只有狀態是等待,才執行狀態修改if?(this.status?===?PENDING)?{//?狀態修改為成功this.status?=?FULFILLED;//?保存成功之后的值this.value?=?value;}}//?更改失敗后的狀態reject?=?(reason)?=>?{//?只有狀態是等待,才執行狀態修改if?(this.status?===?PENDING)?{//?狀態成功為失敗this.status?=?REJECTED;//?保存失敗后的原因this.reason?=?reason;}}then(onFulfilled,?onRejected)?{//?判斷狀態if?(this.status?===?FULFILLED)?{//?調用成功回調,并且把值返回onFulfilled(this.value);}?else?if?(this.status?===?REJECTED)?{//?調用失敗回調,并且把原因返回onRejected(this.reason);}}}

      實現Promise.all

      //?Promise.all function?all(promises)?{let?len?=?promises.length,?res?=?[]if?(len)?{return?new?Promise(function?(resolve,?reject)?{for(let?i=0;?i?<?len;?i++){let?promise?=?promises[i];promise.then(response?=>?{res[i]?=?response//?當返回結果為最后一個時if?(res.length?===?len)?{resolve(res)}},?error?=>?{reject(error)})}}) }

      對象數組轉換成tree數組

      >?將entries?按照?level?轉換成?result?數據結構const?entries?=?[{"province":?"浙江",?"city":?"杭州",?"name":?"西湖"},?{"province":?"四川",?"city":?"成都",?"name":?"錦里"},?{"province":?"四川",?"city":?"成都",?"name":?"方所"},?{"province":?"四川",?"city":?"阿壩",?"name":?"九寨溝"} ];const?level?=?["province",?"city",?"name"];const??result?=?[{value:'浙江',children:[{value:'杭州',children:[{value:'西湖'}]}]},{value:'四川',children:[{value:'成都',children:[{value:'錦里'},{value:'方所'}]},{value:'阿壩',children:[{value:'九寨溝'}]}]}, ]

      思路:涉及到樹形數組,采用遞歸遍歷的方式

      function?transfrom(list,?level)?{const?res?=?[];list.forEach(item?=>?{pushItem(res,?item,?0);});function?pushItem(arr,?obj,?i)?{const?o?=?{value:?obj[level[i]],children:?[],};//?判斷傳入數組里是否有value等于要傳入的項const?hasItem?=?arr.find(el?=>?el.value?===?obj[level[i]]);let?nowArr;if(hasItem)?{//?存在,則下一次遍歷傳入存在項的childrennowArr?=?hasItem.children;}else{//?不存在?壓入arr,下一次遍歷傳入此項的childrenarr.push(o);nowArr?=?o.children;}if(i?===?level.length?-?1)?delete?o.children;i++;if(i?<?level.length)?{//?遞歸進行層級的遍歷pushItem(nowArr,?obj,?i);}} }transfrom(entries,?level);

      JS instanceof 方法原生實現

      簡單用法

      function?Fn?()?{} const?fn?=?new?Fn() fn?instanceof?Fn??//?true

      實現如下:

      //?left?instanceof?right function?_instanceof(left,?right)?{//?構造函數原型const?prototype?=?right.prototype//?實列對象屬性,指向其構造函數原型left?=?left.__proto__//?查實原型鏈while?(true)?{//?如果為null,說明原型鏈已經查找到最頂層了,真接返回falseif?(left?===?null)?{return?false}//?查找到原型if?(prototype?===?left){return?true}//?繼續向上查找left?=?left.__proto__} }const?str?=?"abc" _instanceof(str,?String)?//?true

      編程題

      將有同樣元素的數組進行合并

      //?例如: const?arr?=?[['a',?'b',?'c'],['a',?'d'],['d',?'e'],['f',?'g'],['h',?'g'],['i'] ] //?運行后的返回結果是: [['a',?'b',?'c',?'d',?'e'],['f',?'g',?'h'],['i'] ] //?思路一: const?arr?=?[['a',?'b',?'c'],?['a',?'d'],?['d',?'e'],?['f',?'g'],?['h',?'g'],?['i']] function?transform(arr){let?res?=?[]arr?=?arr.map(el?=>?el.sort()).sort()const?item?=?arr.reduce((pre,?cur)?=>?{if?(cur.some(el?=>?pre?&&?pre.includes(el)))?{pre?=?pre.concat(cur)}?else?{res.push(pre)pre?=?cur}return?[...new?Set(pre)]})res.push(item)return?res; } transform(arr) //?console.log(transform(arr));//?思路二:?function?r?(arr)?{const?map?=?new?Map()arr.forEach((array,?index)?=>?{const?findAlp?=?array.find((v)?=>?map.get(v))if?(findAlp)?{const?set?=?map.get(findAlp)array.forEach((alp)?=>?{set.add(alp)const?findAlp2?=?map.get(alp)if?(findAlp2?&&?findAlp2?!==?set)?{for(const?v?of?findAlp2.values()){set.add(v)map.set(v,?set)}}map.set(alp,?set)})}?else?{const?set?=?new?Set(arr[index])array.forEach((alp)?=>?map.set(alp,?set))}})const?set?=?new?Set()const?ret?=?[]for?(const?[key,?value]?of?map.entries())?{if?(set.has(value))?continueset.add(value)ret.push([...value])}return?ret }

      關于本文

      作者@幾米陽光?

      https://juejin.cn/post/6991724298197008421

      推薦閱讀

      2021 阿里字節快手面經 & 個人成長經驗分享

      記一次高級前端開發工程師面經

      關注下方「前端開發博客」,回復?“加群”

      加入我們一起學習,天天進步

      如果覺得這篇文章還不錯,來個【分享、點贊、在看】三連吧,讓更多的人也看到~

    總結

    以上是生活随笔為你收集整理的2021年7月 虾皮、OPPO、富途等十几家公司面经总结的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    又大又黄又粗又爽的免费视频 | 国产99久久精品一区二区 | 性欧美疯狂xxxxbbbb | 东京一本一道一二三区 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 国产无遮挡又黄又爽又色 | 大肉大捧一进一出好爽视频 | 在线观看国产午夜福利片 | 黄网在线观看免费网站 | 亚洲区欧美区综合区自拍区 | 精品亚洲韩国一区二区三区 | yw尤物av无码国产在线观看 | 青草青草久热国产精品 | 丰满护士巨好爽好大乳 | 欧美黑人巨大xxxxx | 亚洲综合色区中文字幕 | 色窝窝无码一区二区三区色欲 | 国产sm调教视频在线观看 | 国产成人综合在线女婷五月99播放 | 亚洲成av人影院在线观看 | 成人三级无码视频在线观看 | 在线欧美精品一区二区三区 | 国产综合久久久久鬼色 | 国产香蕉尹人视频在线 | 中文字幕人妻丝袜二区 | 青青青手机频在线观看 | 一个人免费观看的www视频 | 日产精品99久久久久久 | 欧美日韩一区二区三区自拍 | 最近的中文字幕在线看视频 | 人妻少妇被猛烈进入中文字幕 | 午夜福利不卡在线视频 | 水蜜桃色314在线观看 | 欧美大屁股xxxxhd黑色 | 超碰97人人做人人爱少妇 | 日韩成人一区二区三区在线观看 | 无码人妻出轨黑人中文字幕 | 免费国产黄网站在线观看 | 久久国内精品自在自线 | 国产精品美女久久久网av | 久久精品国产一区二区三区 | 精品国产青草久久久久福利 | 亚洲第一无码av无码专区 | 精品无码一区二区三区爱欲 | 国产精品va在线观看无码 | 麻花豆传媒剧国产免费mv在线 | 一本久久a久久精品亚洲 | 人人妻人人澡人人爽精品欧美 | 亚洲精品久久久久中文第一幕 | 精品人妻av区 | 四虎影视成人永久免费观看视频 | 午夜精品一区二区三区在线观看 | 中文字幕无线码免费人妻 | 国内精品人妻无码久久久影院蜜桃 | 国产精品人人妻人人爽 | 搡女人真爽免费视频大全 | 一本大道伊人av久久综合 | 成 人 免费观看网站 | 野狼第一精品社区 | 男人扒开女人内裤强吻桶进去 | 久久天天躁狠狠躁夜夜免费观看 | 爆乳一区二区三区无码 | 久久精品人妻少妇一区二区三区 | 午夜福利试看120秒体验区 | 成在人线av无码免费 | 国产女主播喷水视频在线观看 | 97人妻精品一区二区三区 | 欧美激情一区二区三区成人 | 色窝窝无码一区二区三区色欲 | 3d动漫精品啪啪一区二区中 | 欧美性生交活xxxxxdddd | 久久亚洲中文字幕无码 | 国产精品国产三级国产专播 | 内射老妇bbwx0c0ck | 男女作爱免费网站 | 人人妻人人澡人人爽精品欧美 | 内射白嫩少妇超碰 | 黑人玩弄人妻中文在线 | 97精品人妻一区二区三区香蕉 | 日产精品高潮呻吟av久久 | 婷婷五月综合激情中文字幕 | 国产乱人伦av在线无码 | 亚洲国产日韩a在线播放 | 亚拍精品一区二区三区探花 | 大地资源网第二页免费观看 | 亚洲国产精品久久人人爱 | 亚洲一区二区三区无码久久 | 国产成人人人97超碰超爽8 | 亚洲中文字幕成人无码 | 国产亚洲精品久久久久久国模美 | 沈阳熟女露脸对白视频 | 国产口爆吞精在线视频 | 国产一精品一av一免费 | www成人国产高清内射 | 日韩精品无码免费一区二区三区 | 精品水蜜桃久久久久久久 | 熟妇人妻无码xxx视频 | 成熟妇人a片免费看网站 | 亚洲色欲色欲欲www在线 | 欧美性生交xxxxx久久久 | 亚洲中文字幕无码中字 | 2020最新国产自产精品 | 色婷婷欧美在线播放内射 | 国产精品自产拍在线观看 | 中文字幕无码av波多野吉衣 | 色婷婷欧美在线播放内射 | 欧美性生交xxxxx久久久 | 99久久久无码国产aaa精品 | 人人超人人超碰超国产 | 国产成人精品视频ⅴa片软件竹菊 | 国产精品美女久久久网av | 国产无遮挡吃胸膜奶免费看 | 国内揄拍国内精品少妇国语 | 日本肉体xxxx裸交 | 精品国产青草久久久久福利 | 亚洲欧美日韩国产精品一区二区 | 久久国产36精品色熟妇 | 人妻与老人中文字幕 | 亚洲国产精品毛片av不卡在线 | 国产香蕉尹人综合在线观看 | 强奷人妻日本中文字幕 | 熟女俱乐部五十路六十路av | 久久久av男人的天堂 | 秋霞成人午夜鲁丝一区二区三区 | 四虎永久在线精品免费网址 | 中文字幕av无码一区二区三区电影 | 一本无码人妻在中文字幕免费 | 九九热爱视频精品 | 99久久久无码国产aaa精品 | 久久精品国产亚洲精品 | 国产黑色丝袜在线播放 | 中文字幕精品av一区二区五区 | 日本爽爽爽爽爽爽在线观看免 | 亚洲の无码国产の无码步美 | 亚洲国产av美女网站 | 久久99久久99精品中文字幕 | 欧美性猛交xxxx富婆 | 国产无套内射久久久国产 | 在教室伦流澡到高潮hnp视频 | 老熟妇乱子伦牲交视频 | 1000部夫妻午夜免费 | 久久久久99精品国产片 | 成人无码精品1区2区3区免费看 | 丰满妇女强制高潮18xxxx | 无套内谢老熟女 | 熟妇人妻无码xxx视频 | 一本色道久久综合狠狠躁 | 97色伦图片97综合影院 | 美女极度色诱视频国产 | 国产网红无码精品视频 | 欧美 丝袜 自拍 制服 另类 | 亚洲色无码一区二区三区 | 亚欧洲精品在线视频免费观看 | 亚洲另类伦春色综合小说 | 蜜桃av抽搐高潮一区二区 | 国产亚洲精品久久久闺蜜 | 少妇无码吹潮 | 色综合久久中文娱乐网 | 任你躁在线精品免费 | 欧美大屁股xxxxhd黑色 | 婷婷丁香五月天综合东京热 | 久久久亚洲欧洲日产国码αv | 亚洲日本一区二区三区在线 | 午夜不卡av免费 一本久久a久久精品vr综合 | 任你躁国产自任一区二区三区 | 最新版天堂资源中文官网 | 人妻熟女一区 | 色婷婷av一区二区三区之红樱桃 | 中文字幕人妻丝袜二区 | av无码久久久久不卡免费网站 | 东京热男人av天堂 | 亚洲狠狠色丁香婷婷综合 | 成人试看120秒体验区 | 成人一在线视频日韩国产 | 性啪啪chinese东北女人 | 欧美精品在线观看 | 人妻无码久久精品人妻 | 伊人久久大香线蕉午夜 | 人妻少妇精品视频专区 | 扒开双腿疯狂进出爽爽爽视频 | 欧美怡红院免费全部视频 | 国产成人无码a区在线观看视频app | 人人妻人人澡人人爽欧美一区九九 | 国产热a欧美热a在线视频 | 人人爽人人爽人人片av亚洲 | 两性色午夜视频免费播放 | 99精品国产综合久久久久五月天 | 2020久久香蕉国产线看观看 | 亚洲区小说区激情区图片区 | 麻豆精品国产精华精华液好用吗 | 小sao货水好多真紧h无码视频 | 国产成人无码a区在线观看视频app | 久久亚洲中文字幕精品一区 | 婷婷色婷婷开心五月四房播播 | 久久久精品国产sm最大网站 | √8天堂资源地址中文在线 | 国产内射老熟女aaaa | 久久人人爽人人爽人人片av高清 | 老熟妇仑乱视频一区二区 | 国产农村乱对白刺激视频 | 51国偷自产一区二区三区 | 丰满人妻精品国产99aⅴ | 熟女少妇人妻中文字幕 | 一本色道久久综合狠狠躁 | 欧美xxxxx精品 | 精品厕所偷拍各类美女tp嘘嘘 | 又色又爽又黄的美女裸体网站 | 免费看男女做好爽好硬视频 | 少妇人妻大乳在线视频 | 婷婷六月久久综合丁香 | 亚洲欧洲日本综合aⅴ在线 | 亚洲午夜无码久久 | 女人被男人爽到呻吟的视频 | 亚洲中文字幕在线无码一区二区 | 精品少妇爆乳无码av无码专区 | 久久亚洲中文字幕无码 | 国产香蕉97碰碰久久人人 | 亚洲一区二区三区香蕉 | 日本丰满护士爆乳xxxx | 中文字幕无码av激情不卡 | 精品无码国产自产拍在线观看蜜 | 欧美肥老太牲交大战 | 日日碰狠狠躁久久躁蜜桃 | 天堂а√在线地址中文在线 | 中文精品无码中文字幕无码专区 | 久久久无码中文字幕久... | 亚洲精品无码人妻无码 | 99精品无人区乱码1区2区3区 | 国产亚洲精品久久久久久久久动漫 | 亚洲熟妇自偷自拍另类 | 精品亚洲成av人在线观看 | 丰满岳乱妇在线观看中字无码 | 色综合久久久久综合一本到桃花网 | 亚洲 a v无 码免 费 成 人 a v | 男女性色大片免费网站 | 天堂久久天堂av色综合 | 亚洲精品无码国产 | 久久午夜无码鲁丝片 | 国产成人无码av在线影院 | 久久无码专区国产精品s | 国产凸凹视频一区二区 | 综合人妻久久一区二区精品 | 人妻少妇精品视频专区 | 亚洲熟悉妇女xxx妇女av | 国产莉萝无码av在线播放 | 亚洲精品欧美二区三区中文字幕 | 国产97人人超碰caoprom | 无码人妻出轨黑人中文字幕 | 强奷人妻日本中文字幕 | a在线亚洲男人的天堂 | 人人妻人人澡人人爽人人精品浪潮 | 荫蒂被男人添的好舒服爽免费视频 | 亚洲精品国产品国语在线观看 | 国产又爽又黄又刺激的视频 | 亚洲狠狠婷婷综合久久 | 青春草在线视频免费观看 | 无遮挡啪啪摇乳动态图 | 对白脏话肉麻粗话av | 大地资源网第二页免费观看 | 亚洲精品国产精品乱码不卡 | 草草网站影院白丝内射 | 亚洲一区二区三区在线观看网站 | 亚洲国产欧美国产综合一区 | 男女猛烈xx00免费视频试看 | 午夜不卡av免费 一本久久a久久精品vr综合 | 精品无码国产一区二区三区av | 牲交欧美兽交欧美 | 国产无套粉嫩白浆在线 | 图片区 小说区 区 亚洲五月 | 亚洲男人av天堂午夜在 | 婷婷综合久久中文字幕蜜桃三电影 | 玩弄中年熟妇正在播放 | 日本va欧美va欧美va精品 | 亚洲综合在线一区二区三区 | 在线观看免费人成视频 | 动漫av网站免费观看 | 真人与拘做受免费视频一 | 亚洲国产日韩a在线播放 | 狠狠色噜噜狠狠狠7777奇米 | 亚洲色偷偷偷综合网 | 欧美国产日韩亚洲中文 | 亚洲综合久久一区二区 | 天堂а√在线地址中文在线 | 99riav国产精品视频 | 亚洲精品一区二区三区大桥未久 | 中文字幕 亚洲精品 第1页 | 久久精品人人做人人综合试看 | 亚洲一区二区三区含羞草 | 装睡被陌生人摸出水好爽 | 女人高潮内射99精品 | 久久综合狠狠综合久久综合88 | 国产人妖乱国产精品人妖 | 少妇无套内谢久久久久 | 国产午夜亚洲精品不卡下载 | 国产精品久久久久久久9999 | 中文字幕久久久久人妻 | 曰韩无码二三区中文字幕 | 精品国产精品久久一区免费式 | 国内精品久久久久久中文字幕 | 久久人人爽人人爽人人片av高清 | 男女超爽视频免费播放 | 国产偷国产偷精品高清尤物 | 欧美精品国产综合久久 | 2020久久香蕉国产线看观看 | 九九在线中文字幕无码 | 中文精品无码中文字幕无码专区 | 小鲜肉自慰网站xnxx | 成人免费视频视频在线观看 免费 | 中文字幕无码视频专区 | 97无码免费人妻超级碰碰夜夜 | 亚洲欧美精品aaaaaa片 | 国产小呦泬泬99精品 | 中文毛片无遮挡高清免费 | 亚洲gv猛男gv无码男同 | 亚洲日韩av片在线观看 | 国产日产欧产精品精品app | 亚洲精品鲁一鲁一区二区三区 | 免费无码av一区二区 | 久久久精品456亚洲影院 | 国产精品嫩草久久久久 | 丰满肥臀大屁股熟妇激情视频 | 精品人妻av区 | 强奷人妻日本中文字幕 | 色欲人妻aaaaaaa无码 | 天天爽夜夜爽夜夜爽 | 久久亚洲精品成人无码 | 无码人妻丰满熟妇区毛片18 | 日本熟妇大屁股人妻 | 中文字幕 亚洲精品 第1页 | 国产真实乱对白精彩久久 | 18禁黄网站男男禁片免费观看 | 国产在线无码精品电影网 | 国产人妻人伦精品1国产丝袜 | 精品aⅴ一区二区三区 | 日韩成人一区二区三区在线观看 | 免费无码午夜福利片69 | 一本久久a久久精品亚洲 | 少妇被粗大的猛进出69影院 | 国产成人综合美国十次 | 最新国产乱人伦偷精品免费网站 | 粗大的内捧猛烈进出视频 | 日本一卡2卡3卡四卡精品网站 | 妺妺窝人体色www婷婷 | 十八禁真人啪啪免费网站 | 国产精品va在线观看无码 | 特大黑人娇小亚洲女 | 秋霞成人午夜鲁丝一区二区三区 | 天天燥日日燥 | 亚洲成av人片在线观看无码不卡 | 精品人人妻人人澡人人爽人人 | a在线观看免费网站大全 | 亚洲七七久久桃花影院 | 亚洲理论电影在线观看 | 成人一在线视频日韩国产 | 亚洲va中文字幕无码久久不卡 | 久久久中文久久久无码 | 老熟妇乱子伦牲交视频 | 18黄暴禁片在线观看 | 久久亚洲中文字幕无码 | 强辱丰满人妻hd中文字幕 | 国产午夜福利亚洲第一 | 少妇无码一区二区二三区 | 色妞www精品免费视频 | 亚洲 a v无 码免 费 成 人 a v | 亚洲 激情 小说 另类 欧美 | 97无码免费人妻超级碰碰夜夜 | 亚洲精品国产品国语在线观看 | 国产另类ts人妖一区二区 | 中文字幕人妻丝袜二区 | 日韩欧美成人免费观看 | 无码人中文字幕 | 中文字幕无码日韩专区 | 98国产精品综合一区二区三区 | 国产亚av手机在线观看 | 在线播放亚洲第一字幕 | 国产猛烈高潮尖叫视频免费 | 97精品国产97久久久久久免费 | 亚洲无人区午夜福利码高清完整版 | 亚洲精品午夜无码电影网 | 在线天堂新版最新版在线8 | 久久人人爽人人爽人人片ⅴ | 欧美日韩一区二区三区自拍 | 桃花色综合影院 | 精品久久久中文字幕人妻 | 97精品人妻一区二区三区香蕉 | 激情综合激情五月俺也去 | 欧美大屁股xxxxhd黑色 | 久激情内射婷内射蜜桃人妖 | 亚洲欧美国产精品久久 | 亚洲 a v无 码免 费 成 人 a v | 无码人妻精品一区二区三区下载 | 久久久中文久久久无码 | 麻花豆传媒剧国产免费mv在线 | 俺去俺来也在线www色官网 | 久久综合网欧美色妞网 | 精品久久久中文字幕人妻 | 成人精品天堂一区二区三区 | 久久97精品久久久久久久不卡 | 国产熟妇另类久久久久 | 成熟女人特级毛片www免费 | 国产亚洲美女精品久久久2020 | 国产亚洲tv在线观看 | 中国女人内谢69xxxx | 国产手机在线αⅴ片无码观看 | 天天躁夜夜躁狠狠是什么心态 | 久久久久久国产精品无码下载 | 男女超爽视频免费播放 | 国产av人人夜夜澡人人爽麻豆 | 日韩人妻无码中文字幕视频 | 97无码免费人妻超级碰碰夜夜 | 日产国产精品亚洲系列 | 亚洲精品一区二区三区在线观看 | 狠狠色噜噜狠狠狠狠7777米奇 | 精品国产一区av天美传媒 | av无码不卡在线观看免费 | 一本大道久久东京热无码av | 老太婆性杂交欧美肥老太 | 亚洲精品一区三区三区在线观看 | 亚洲综合精品香蕉久久网 | 午夜成人1000部免费视频 | 中文字幕乱码人妻无码久久 | 波多野结衣aⅴ在线 | 一本色道久久综合狠狠躁 | 国产成人精品三级麻豆 | 国产成人无码一二三区视频 | 亚洲精品国偷拍自产在线麻豆 | 国产猛烈高潮尖叫视频免费 | 日本欧美一区二区三区乱码 | 久久久久免费看成人影片 | 亚洲一区av无码专区在线观看 | 国产香蕉97碰碰久久人人 | 波多野结衣高清一区二区三区 | 久久国产36精品色熟妇 | 强辱丰满人妻hd中文字幕 | 性色欲情网站iwww九文堂 | 亚洲爆乳精品无码一区二区三区 | 少妇性l交大片欧洲热妇乱xxx | 国产成人亚洲综合无码 | 亚洲人亚洲人成电影网站色 | 国产手机在线αⅴ片无码观看 | 欧美日韩人成综合在线播放 | 无码吃奶揉捏奶头高潮视频 | 国产成人精品必看 | 无码帝国www无码专区色综合 | 午夜性刺激在线视频免费 | 精品国精品国产自在久国产87 | 国产精品无码一区二区三区不卡 | 亚洲中文字幕在线观看 | 欧美zoozzooz性欧美 | 亚洲阿v天堂在线 | 女人被爽到呻吟gif动态图视看 | 久久久www成人免费毛片 | 国产精品内射视频免费 | 在线欧美精品一区二区三区 | 377p欧洲日本亚洲大胆 | 强开小婷嫩苞又嫩又紧视频 | 久久精品中文闷骚内射 | 中文字幕无码热在线视频 | 日本一区二区更新不卡 | 欧美国产亚洲日韩在线二区 | 曰韩少妇内射免费播放 | 亚洲色偷偷偷综合网 | 亚洲精品国产a久久久久久 | 欧美日本免费一区二区三区 | 日韩av无码中文无码电影 | 最新版天堂资源中文官网 | 妺妺窝人体色www婷婷 | v一区无码内射国产 | 九一九色国产 | 国产精品欧美成人 | 欧美大屁股xxxxhd黑色 | 兔费看少妇性l交大片免费 | 一个人看的视频www在线 | av香港经典三级级 在线 | 99久久精品日本一区二区免费 | 国产国语老龄妇女a片 | 午夜无码区在线观看 | 亚洲成在人网站无码天堂 | 国产精品a成v人在线播放 | 九九久久精品国产免费看小说 | 在线播放无码字幕亚洲 | 欧美乱妇无乱码大黄a片 | 国产人妻精品一区二区三区 | 久久 国产 尿 小便 嘘嘘 | 东京无码熟妇人妻av在线网址 | 亚洲综合伊人久久大杳蕉 | 18禁黄网站男男禁片免费观看 | 国产精品久免费的黄网站 | 国产精品免费大片 | 六月丁香婷婷色狠狠久久 | 日韩精品a片一区二区三区妖精 | 国产又爽又猛又粗的视频a片 | 无码人妻少妇伦在线电影 | 丰满肥臀大屁股熟妇激情视频 | 老熟女重囗味hdxx69 | 在线观看欧美一区二区三区 | 日韩欧美群交p片內射中文 | 88国产精品欧美一区二区三区 | 人人爽人人澡人人人妻 | 熟妇人妻激情偷爽文 | 国产午夜亚洲精品不卡下载 | 色综合久久久无码网中文 | 亚洲爆乳大丰满无码专区 | 国产偷抇久久精品a片69 | 国产精品成人av在线观看 | 无码人妻精品一区二区三区下载 | 国产国语老龄妇女a片 | 欧美人与善在线com | 欧美人妻一区二区三区 | 国产av无码专区亚洲a∨毛片 | 麻豆人妻少妇精品无码专区 | 久久亚洲a片com人成 | 日本一本二本三区免费 | 欧美人与牲动交xxxx | 波多野结衣乳巨码无在线观看 | 免费观看激色视频网站 | 天天躁日日躁狠狠躁免费麻豆 | www国产亚洲精品久久网站 | 日本大香伊一区二区三区 | 亚洲精品美女久久久久久久 | 免费国产成人高清在线观看网站 | 久久97精品久久久久久久不卡 | 欧美35页视频在线观看 | 少妇高潮一区二区三区99 | 亚洲精品久久久久久一区二区 | 亚洲欧洲日本综合aⅴ在线 | 国产日产欧产精品精品app | 亚洲の无码国产の无码影院 | 超碰97人人射妻 | 少妇邻居内射在线 | 国产精品亚洲综合色区韩国 | v一区无码内射国产 | 国产成人午夜福利在线播放 | 国产亚洲欧美在线专区 | 亚洲啪av永久无码精品放毛片 | 一本色道久久综合亚洲精品不卡 | 欧美肥老太牲交大战 | 久久久无码中文字幕久... | 亚洲精品国产精品乱码视色 | 亚洲成a人片在线观看无码 | 国产一区二区三区影院 | 真人与拘做受免费视频 | 99er热精品视频 | 强开小婷嫩苞又嫩又紧视频 | 蜜桃av抽搐高潮一区二区 | 天天综合网天天综合色 | 色诱久久久久综合网ywww | 日本熟妇大屁股人妻 | 免费无码的av片在线观看 | 久久久久久九九精品久 | 亚洲色无码一区二区三区 | 国产内射爽爽大片视频社区在线 | 精品无人区无码乱码毛片国产 | 午夜精品一区二区三区的区别 | 一本大道伊人av久久综合 | 男人扒开女人内裤强吻桶进去 | 欧美人妻一区二区三区 | 国产绳艺sm调教室论坛 | 日本护士xxxxhd少妇 | 国产午夜无码精品免费看 | 牲欲强的熟妇农村老妇女视频 | 国产一精品一av一免费 | 狂野欧美性猛xxxx乱大交 | 粉嫩少妇内射浓精videos | 亚洲中文字幕久久无码 | 日日麻批免费40分钟无码 | 色婷婷香蕉在线一区二区 | 国产无套粉嫩白浆在线 | 夜精品a片一区二区三区无码白浆 | 国产偷国产偷精品高清尤物 | 亚洲日韩一区二区 | 久久久国产精品无码免费专区 | 在线播放亚洲第一字幕 | 色婷婷综合中文久久一本 | 中文字幕人成乱码熟女app | 无码人妻丰满熟妇区毛片18 | aⅴ亚洲 日韩 色 图网站 播放 | 亚洲国产欧美国产综合一区 | 在线看片无码永久免费视频 | 夜夜躁日日躁狠狠久久av | 最新版天堂资源中文官网 | 国产女主播喷水视频在线观看 | 欧美日韩综合一区二区三区 | 波多野结衣一区二区三区av免费 | 荫蒂被男人添的好舒服爽免费视频 | 久久久久se色偷偷亚洲精品av | 99在线 | 亚洲 | 精品一区二区不卡无码av | 国产午夜亚洲精品不卡下载 | 精品一区二区不卡无码av | 精品无码av一区二区三区 | 伦伦影院午夜理论片 | 波多野结衣高清一区二区三区 | 亚洲人成网站在线播放942 | 久久精品国产日本波多野结衣 | 香港三级日本三级妇三级 | 国产亚洲精品久久久久久 | av无码不卡在线观看免费 | 国产成人久久精品流白浆 | 激情国产av做激情国产爱 | 色婷婷久久一区二区三区麻豆 | 少妇邻居内射在线 | 天天摸天天碰天天添 | 女人色极品影院 | 人妻与老人中文字幕 | 日韩亚洲欧美精品综合 | 日韩成人一区二区三区在线观看 | 天天摸天天透天天添 | 欧洲欧美人成视频在线 | 99久久人妻精品免费二区 | 少妇性荡欲午夜性开放视频剧场 | 亚洲成熟女人毛毛耸耸多 | 中文精品久久久久人妻不卡 | 成人无码视频在线观看网站 | 国产亚av手机在线观看 | 亚洲日本一区二区三区在线 | 老熟女乱子伦 | av香港经典三级级 在线 | 67194成是人免费无码 | av人摸人人人澡人人超碰下载 | 国产片av国语在线观看 | 亚洲国产欧美在线成人 | 中文字幕+乱码+中文字幕一区 | 最近免费中文字幕中文高清百度 | 国产精品手机免费 | 国产综合在线观看 | 丰满少妇熟乱xxxxx视频 | 99麻豆久久久国产精品免费 | 日韩人妻少妇一区二区三区 | 久久无码人妻影院 | 极品尤物被啪到呻吟喷水 | 亚洲色大成网站www国产 | 久久人人爽人人人人片 | 成人精品视频一区二区 | 亚洲 另类 在线 欧美 制服 | 欧美喷潮久久久xxxxx | 伊人久久婷婷五月综合97色 | 亚洲欧洲日本无在线码 | 国产偷自视频区视频 | 一本久道高清无码视频 | 风流少妇按摩来高潮 | 亚洲精品一区二区三区在线观看 | 国产极品美女高潮无套在线观看 | 久久无码中文字幕免费影院蜜桃 | 国产高潮视频在线观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 日韩欧美群交p片內射中文 | 人妻无码久久精品人妻 | 永久黄网站色视频免费直播 | 小sao货水好多真紧h无码视频 | 国产亚洲精品久久久久久久久动漫 | 国产亚洲精品精品国产亚洲综合 | 伊人久久大香线蕉av一区二区 | 久久精品99久久香蕉国产色戒 | 欧美丰满熟妇xxxx性ppx人交 | 国产精品无套呻吟在线 | 精品国产一区二区三区av 性色 | 奇米影视7777久久精品 | 亚洲一区二区三区含羞草 | 午夜精品一区二区三区的区别 | 国产成人精品三级麻豆 | 一本久久伊人热热精品中文字幕 | 一本一道久久综合久久 | 荫蒂添的好舒服视频囗交 | 最新国产乱人伦偷精品免费网站 | 一个人看的视频www在线 | 久久国产36精品色熟妇 | 日韩亚洲欧美中文高清在线 | а√资源新版在线天堂 | 88国产精品欧美一区二区三区 | 丰满肥臀大屁股熟妇激情视频 | 小鲜肉自慰网站xnxx | 久久久成人毛片无码 | 伊人久久大香线蕉午夜 | 日韩av激情在线观看 | 国产亚洲欧美在线专区 | 台湾无码一区二区 | 露脸叫床粗话东北少妇 | 欧美国产亚洲日韩在线二区 | 婷婷五月综合激情中文字幕 | 国产国语老龄妇女a片 | 性做久久久久久久免费看 | 午夜精品久久久久久久 | 亚洲码国产精品高潮在线 | 国产成人一区二区三区在线观看 | 日韩av无码一区二区三区 | 精品国产一区二区三区四区 | 久久久久av无码免费网 | 久久视频在线观看精品 | 中文字幕乱码中文乱码51精品 | 久久精品人人做人人综合试看 | 国产 浪潮av性色四虎 | 天天做天天爱天天爽综合网 | 日本一本二本三区免费 | 亚洲人成网站免费播放 | 国产无遮挡吃胸膜奶免费看 | 99精品视频在线观看免费 | 人妻与老人中文字幕 | 亚洲国产精品久久久久久 | 久久久成人毛片无码 | 激情爆乳一区二区三区 | 久久久精品成人免费观看 | 东北女人啪啪对白 | 久久精品人人做人人综合试看 | 男人扒开女人内裤强吻桶进去 | 亚洲精品国偷拍自产在线观看蜜桃 | 日本欧美一区二区三区乱码 | 妺妺窝人体色www在线小说 | 欧美午夜特黄aaaaaa片 | 久久人人爽人人爽人人片av高清 | 亚洲午夜福利在线观看 | 国精品人妻无码一区二区三区蜜柚 | 亚洲va欧美va天堂v国产综合 | 久久五月精品中文字幕 | 无码国产激情在线观看 | 中文字幕av伊人av无码av | 性生交大片免费看l | 久久综合九色综合97网 | 高中生自慰www网站 | 国产成人av免费观看 | 人妻熟女一区 | 国产精品亚洲综合色区韩国 | 无码av免费一区二区三区试看 | 久久国产精品萌白酱免费 | 精品乱子伦一区二区三区 | 国产人成高清在线视频99最全资源 | 男女超爽视频免费播放 | 色 综合 欧美 亚洲 国产 | 99精品国产综合久久久久五月天 | 丝袜美腿亚洲一区二区 | 少妇性俱乐部纵欲狂欢电影 | 国产精品久久久久影院嫩草 | 久久综合狠狠综合久久综合88 | 蜜桃视频韩日免费播放 | 亚洲色大成网站www | 亚洲无人区午夜福利码高清完整版 | 精品午夜福利在线观看 | 成人欧美一区二区三区 | 久久国产精品精品国产色婷婷 | 人人爽人人澡人人人妻 | 麻花豆传媒剧国产免费mv在线 | 青青青爽视频在线观看 | 亚洲国产精品久久久天堂 | 国内揄拍国内精品少妇国语 | 理论片87福利理论电影 | 久久97精品久久久久久久不卡 | 国产成人一区二区三区别 | 亚洲日韩乱码中文无码蜜桃臀网站 | 无码吃奶揉捏奶头高潮视频 | 亚洲成色www久久网站 | 美女黄网站人色视频免费国产 | 男女作爱免费网站 | 午夜精品一区二区三区的区别 | 国产成人无码av在线影院 | 麻豆国产丝袜白领秘书在线观看 | 国产精品无码永久免费888 | 高清无码午夜福利视频 | 中文字幕乱码亚洲无线三区 | 亚洲精品国偷拍自产在线麻豆 | 牲欲强的熟妇农村老妇女 | 国产精品福利视频导航 | 激情人妻另类人妻伦 | 国产国语老龄妇女a片 | 亚洲精品午夜无码电影网 | 国产精品人人妻人人爽 | 无码人妻少妇伦在线电影 | 婷婷五月综合缴情在线视频 | 日韩在线不卡免费视频一区 | 人人爽人人澡人人人妻 | 欧美肥老太牲交大战 | 欧美性生交活xxxxxdddd | 乱中年女人伦av三区 | 欧美精品国产综合久久 | 国产特级毛片aaaaaa高潮流水 | 亚洲a无码综合a国产av中文 | 国产免费久久精品国产传媒 | 亚洲高清偷拍一区二区三区 | 香港三级日本三级妇三级 | 粉嫩少妇内射浓精videos | 国产精品亚洲а∨无码播放麻豆 | 国产亚洲视频中文字幕97精品 | 高潮喷水的毛片 | 亚洲va中文字幕无码久久不卡 | 久久久精品456亚洲影院 | 内射后入在线观看一区 | 中文字幕乱码中文乱码51精品 | 国产福利视频一区二区 | 久久人人爽人人爽人人片ⅴ | 欧美一区二区三区 | 色综合久久网 | 性欧美疯狂xxxxbbbb | 成人影院yy111111在线观看 | 在线观看国产一区二区三区 | www成人国产高清内射 | 99riav国产精品视频 | 东京热无码av男人的天堂 | 国产一区二区三区影院 | 丰满少妇女裸体bbw | 无码任你躁久久久久久久 | 精品国产aⅴ无码一区二区 | 人人妻人人澡人人爽人人精品 | 成人精品视频一区二区三区尤物 | 亚洲精品欧美二区三区中文字幕 | 丰满少妇人妻久久久久久 | www国产亚洲精品久久网站 | 人人妻人人澡人人爽人人精品 | 98国产精品综合一区二区三区 | 色窝窝无码一区二区三区色欲 | 四虎国产精品一区二区 | 日韩成人一区二区三区在线观看 | 亚洲人成网站在线播放942 | 日本一区二区更新不卡 | 亚洲乱码日产精品bd | 国产成人人人97超碰超爽8 | 少妇被黑人到高潮喷出白浆 | 久久aⅴ免费观看 | 天天综合网天天综合色 | 漂亮人妻洗澡被公强 日日躁 | 成人女人看片免费视频放人 | 久久综合给合久久狠狠狠97色 | 又大又黄又粗又爽的免费视频 | 国产香蕉尹人视频在线 | 亚洲成av人在线观看网址 | 亚洲一区二区观看播放 | 老太婆性杂交欧美肥老太 | 久久精品国产大片免费观看 | 日本一卡二卡不卡视频查询 | 欧美人与物videos另类 | 奇米影视7777久久精品人人爽 | 日本精品高清一区二区 | 十八禁真人啪啪免费网站 | 免费观看又污又黄的网站 | 成人综合网亚洲伊人 | 狂野欧美性猛交免费视频 | 少妇愉情理伦片bd | 亚洲精品国产品国语在线观看 | 中文字幕无线码 | 伊人久久大香线蕉亚洲 | 精品无人区无码乱码毛片国产 | 人人妻人人澡人人爽欧美一区九九 | 日日麻批免费40分钟无码 | 在线а√天堂中文官网 | 漂亮人妻洗澡被公强 日日躁 | 97久久国产亚洲精品超碰热 | 97久久国产亚洲精品超碰热 | 国产精品内射视频免费 | 国产精品.xx视频.xxtv | 国产午夜福利100集发布 | 三上悠亚人妻中文字幕在线 | 国产xxx69麻豆国语对白 | 精品久久久中文字幕人妻 | 中文字幕无码日韩专区 | 日日橹狠狠爱欧美视频 | 久久国产自偷自偷免费一区调 | 中文字幕人妻无码一夲道 | 国产av久久久久精东av | 人妻与老人中文字幕 | 影音先锋中文字幕无码 | 国产亚洲人成a在线v网站 | 中文字幕乱码亚洲无线三区 | 欧美日韩综合一区二区三区 | 国产成人精品三级麻豆 | 欧美日韩一区二区免费视频 | 亚洲精品一区二区三区大桥未久 | 夜夜躁日日躁狠狠久久av | 精品国产成人一区二区三区 | 亚洲成av人片在线观看无码不卡 | 熟女少妇人妻中文字幕 | 蜜桃无码一区二区三区 | 强开小婷嫩苞又嫩又紧视频 | 成人精品视频一区二区三区尤物 | 国产成人无码av在线影院 | 熟妇人妻激情偷爽文 | 在线播放无码字幕亚洲 | 亚洲中文字幕无码一久久区 | 亚洲欧美国产精品久久 | 亚洲成a人片在线观看无码3d | 国产精品久久久久久亚洲影视内衣 | 大肉大捧一进一出好爽视频 | 88国产精品欧美一区二区三区 | 午夜丰满少妇性开放视频 | 亚洲国产av精品一区二区蜜芽 | 国产乱人偷精品人妻a片 | 东京热一精品无码av | 国产极品视觉盛宴 | 国产97在线 | 亚洲 | 国内揄拍国内精品少妇国语 | 东京热无码av男人的天堂 | 亚洲热妇无码av在线播放 | 中文字幕av无码一区二区三区电影 | 国产人妻久久精品二区三区老狼 | 男人扒开女人内裤强吻桶进去 | 成人综合网亚洲伊人 | 天下第一社区视频www日本 | 人妻插b视频一区二区三区 | 国语精品一区二区三区 | 无码乱肉视频免费大全合集 | 人人妻人人澡人人爽欧美一区九九 | 国精产品一品二品国精品69xx | 天下第一社区视频www日本 | 丰满妇女强制高潮18xxxx | 欧美老妇交乱视频在线观看 | 乱人伦人妻中文字幕无码久久网 | 无码毛片视频一区二区本码 | 国产莉萝无码av在线播放 | 欧美人与善在线com | 精品人妻人人做人人爽 | 中文字幕+乱码+中文字幕一区 | 国产人妻人伦精品 | 午夜精品一区二区三区的区别 | 国产精品高潮呻吟av久久4虎 | 精品国产一区av天美传媒 | 野狼第一精品社区 | 自拍偷自拍亚洲精品被多人伦好爽 | 午夜精品一区二区三区在线观看 | 国产香蕉尹人综合在线观看 | 成人综合网亚洲伊人 | 又紧又大又爽精品一区二区 | 女高中生第一次破苞av | 无码人妻av免费一区二区三区 | 国产精品第一区揄拍无码 | 国产精品沙发午睡系列 | 无码纯肉视频在线观看 | 成人无码视频在线观看网站 | 全黄性性激高免费视频 | 亚洲区欧美区综合区自拍区 | 亚洲欧美中文字幕5发布 | 国产亚洲精品久久久闺蜜 | 日本一区二区三区免费播放 | 久久久久免费精品国产 | 伊人久久大香线蕉午夜 | 高清不卡一区二区三区 | 水蜜桃av无码 | 99精品国产综合久久久久五月天 | 四虎影视成人永久免费观看视频 | 丝袜 中出 制服 人妻 美腿 | 97色伦图片97综合影院 | www国产亚洲精品久久久日本 | 中文毛片无遮挡高清免费 | 精品久久久无码人妻字幂 | 荡女精品导航 | 国产97在线 | 亚洲 | 久久精品中文闷骚内射 | 午夜精品一区二区三区的区别 | 漂亮人妻洗澡被公强 日日躁 | 清纯唯美经典一区二区 | 无码乱肉视频免费大全合集 | 少妇的肉体aa片免费 | 在线观看国产午夜福利片 | 人人爽人人爽人人片av亚洲 | 熟妇人妻无乱码中文字幕 | 美女张开腿让人桶 | 无码av岛国片在线播放 | 免费无码午夜福利片69 | 天天拍夜夜添久久精品大 | 亚洲精品久久久久avwww潮水 | 久久国产精品_国产精品 | 丰满少妇弄高潮了www | 成熟女人特级毛片www免费 | 欧美丰满少妇xxxx性 | 中文字幕色婷婷在线视频 | 特级做a爰片毛片免费69 | 高潮毛片无遮挡高清免费 | 国内揄拍国内精品少妇国语 | 未满成年国产在线观看 | 动漫av一区二区在线观看 | 精品厕所偷拍各类美女tp嘘嘘 | 亚洲日韩一区二区三区 | 大肉大捧一进一出好爽视频 | 亚洲中文字幕乱码av波多ji | 国产精品亚洲一区二区三区喷水 | 麻豆精品国产精华精华液好用吗 | 精品无人国产偷自产在线 | 亚洲成熟女人毛毛耸耸多 | 偷窥日本少妇撒尿chinese | 久久国产36精品色熟妇 | 免费国产成人高清在线观看网站 | 又粗又大又硬毛片免费看 | 色婷婷av一区二区三区之红樱桃 | 亚洲精品中文字幕乱码 | 97无码免费人妻超级碰碰夜夜 | 国产在线一区二区三区四区五区 | 国产黑色丝袜在线播放 | 99视频精品全部免费免费观看 | 国产精品美女久久久久av爽李琼 | 免费网站看v片在线18禁无码 | 欧洲熟妇精品视频 | 国产成人一区二区三区在线观看 | 精品国产一区av天美传媒 | 国产精品欧美成人 | 在线观看欧美一区二区三区 | 亚洲最大成人网站 | 大肉大捧一进一出视频出来呀 | 天天爽夜夜爽夜夜爽 | 亚洲乱码中文字幕在线 | 性生交大片免费看l | 午夜精品久久久久久久久 | 亚洲成色在线综合网站 | 国产片av国语在线观看 | 一本色道久久综合狠狠躁 | 国产免费久久久久久无码 | 5858s亚洲色大成网站www | 无码一区二区三区在线观看 | 久久午夜无码鲁丝片秋霞 | 天天爽夜夜爽夜夜爽 | 老太婆性杂交欧美肥老太 | 国产成人av免费观看 | 久久久无码中文字幕久... | 欧美乱妇无乱码大黄a片 | 无码精品人妻一区二区三区av | 99国产精品白浆在线观看免费 | 好男人www社区 | 国产综合色产在线精品 | 在线a亚洲视频播放在线观看 | 国产凸凹视频一区二区 | 国产办公室秘书无码精品99 | 无码av岛国片在线播放 | 激情国产av做激情国产爱 | 宝宝好涨水快流出来免费视频 | 久久精品99久久香蕉国产色戒 | 天下第一社区视频www日本 | 色一情一乱一伦一区二区三欧美 | 67194成是人免费无码 | 亚洲日韩av片在线观看 | 亚洲欧美中文字幕5发布 | 人妻天天爽夜夜爽一区二区 | 亚洲精品中文字幕 | 国产女主播喷水视频在线观看 | 少妇被粗大的猛进出69影院 | 中文字幕 亚洲精品 第1页 | 久久无码中文字幕免费影院蜜桃 | 双乳奶水饱满少妇呻吟 | 18禁止看的免费污网站 | 内射欧美老妇wbb | 中文字幕中文有码在线 | 最新国产乱人伦偷精品免费网站 | 疯狂三人交性欧美 | 国产成人一区二区三区在线观看 | 夜夜影院未满十八勿进 | 久久久久亚洲精品中文字幕 | 人人妻人人澡人人爽精品欧美 | 在线欧美精品一区二区三区 | 亚洲精品午夜国产va久久成人 | 亚洲精品一区三区三区在线观看 | 在线亚洲高清揄拍自拍一品区 | 国内丰满熟女出轨videos | 在线观看欧美一区二区三区 | 国产精品-区区久久久狼 | 亚洲色在线无码国产精品不卡 | 日韩人妻无码一区二区三区久久99 | 骚片av蜜桃精品一区 | 国产精品办公室沙发 | 在线天堂新版最新版在线8 | 免费中文字幕日韩欧美 | 一本色道久久综合狠狠躁 | 88国产精品欧美一区二区三区 | 国产成人无码午夜视频在线观看 | 色婷婷av一区二区三区之红樱桃 | 伊人久久大香线焦av综合影院 | 日本精品久久久久中文字幕 | 性生交片免费无码看人 | 狠狠cao日日穞夜夜穞av | 少妇的肉体aa片免费 | 日本精品少妇一区二区三区 | 牲欲强的熟妇农村老妇女 | 日本精品人妻无码77777 天堂一区人妻无码 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 美女黄网站人色视频免费国产 | 国产成人无码av一区二区 | 久久国语露脸国产精品电影 | 亚洲爆乳精品无码一区二区三区 | 波多野结衣av在线观看 | 国产成人综合在线女婷五月99播放 | 久久综合色之久久综合 | 一本久道久久综合婷婷五月 | 7777奇米四色成人眼影 | 亚洲精品综合五月久久小说 | 强奷人妻日本中文字幕 | 99riav国产精品视频 | 国产精品-区区久久久狼 | 亚洲色大成网站www国产 | 97久久超碰中文字幕 | 亚洲精品综合五月久久小说 | 欧美老妇与禽交 | 色欲久久久天天天综合网精品 | 久久综合香蕉国产蜜臀av | 丰满少妇高潮惨叫视频 | 日日橹狠狠爱欧美视频 | 精品国产av色一区二区深夜久久 | 三级4级全黄60分钟 | 欧美freesex黑人又粗又大 | 4hu四虎永久在线观看 | 日日天干夜夜狠狠爱 | 国产精品a成v人在线播放 | 久久亚洲精品中文字幕无男同 | 欧美熟妇另类久久久久久多毛 | 无码精品国产va在线观看dvd | 国产人妻精品一区二区三区 | 欧美日韩一区二区免费视频 | 国产免费久久精品国产传媒 | 成人亚洲精品久久久久软件 | 综合人妻久久一区二区精品 | 97人妻精品一区二区三区 | 白嫩日本少妇做爰 | 亚洲无人区一区二区三区 | 日本熟妇乱子伦xxxx | 久久久久久国产精品无码下载 | 国精产品一区二区三区 | 婷婷六月久久综合丁香 | 天堂无码人妻精品一区二区三区 | 亚洲中文字幕av在天堂 | 亚洲日韩av一区二区三区中文 | 大乳丰满人妻中文字幕日本 | 骚片av蜜桃精品一区 | 国产va免费精品观看 | 少妇久久久久久人妻无码 | 欧美性黑人极品hd | 欧美 日韩 人妻 高清 中文 | 精品国产青草久久久久福利 | 在线成人www免费观看视频 | 国产精品亚洲一区二区三区喷水 | 亚洲精品国产精品乱码视色 | 亚洲性无码av中文字幕 | 亚洲日韩中文字幕在线播放 | 国产人妻精品午夜福利免费 | 成人性做爰aaa片免费看 | a国产一区二区免费入口 | 日日夜夜撸啊撸 | 给我免费的视频在线观看 | 性色欲网站人妻丰满中文久久不卡 | 国产精品.xx视频.xxtv | 亚洲小说春色综合另类 | 丁香花在线影院观看在线播放 | 国产精品高潮呻吟av久久4虎 | 粗大的内捧猛烈进出视频 | 亲嘴扒胸摸屁股激烈网站 | 色欲人妻aaaaaaa无码 | 无码人中文字幕 | 久久久久亚洲精品中文字幕 | 少妇无码一区二区二三区 | 国产va免费精品观看 | 久久久久亚洲精品中文字幕 | 国产人妻久久精品二区三区老狼 | 精品欧美一区二区三区久久久 | 在线 国产 欧美 亚洲 天堂 | 牲欲强的熟妇农村老妇女 | 欧美成人家庭影院 | 亚洲国产精品无码久久久久高潮 | 久久aⅴ免费观看 | 国产精品-区区久久久狼 | 特级做a爰片毛片免费69 | 小鲜肉自慰网站xnxx | 国产精品无套呻吟在线 | 亚洲人成影院在线观看 | 国产免费久久久久久无码 | 欧美激情综合亚洲一二区 | 麻豆成人精品国产免费 | 国产成人无码a区在线观看视频app | 日本饥渴人妻欲求不满 | 成人三级无码视频在线观看 | 丁香花在线影院观看在线播放 | 日韩人妻系列无码专区 | 全球成人中文在线 | 亚无码乱人伦一区二区 | 内射欧美老妇wbb | 无码人妻av免费一区二区三区 | 国产深夜福利视频在线 | 久久97精品久久久久久久不卡 | 亚洲国产精品久久久久久 | 日本肉体xxxx裸交 | 国产精品无套呻吟在线 | 亚洲最大成人网站 | 国产莉萝无码av在线播放 | 亚洲人成影院在线观看 | 日韩欧美中文字幕在线三区 | 一个人看的www免费视频在线观看 | 国产免费无码一区二区视频 | 日本欧美一区二区三区乱码 | 久久熟妇人妻午夜寂寞影院 | 午夜熟女插插xx免费视频 | 国产精品高潮呻吟av久久 | 精品无人区无码乱码毛片国产 | 亚洲а∨天堂久久精品2021 | 国色天香社区在线视频 | 无码帝国www无码专区色综合 | 久久精品人妻少妇一区二区三区 | 丰满诱人的人妻3 | 色综合久久久无码中文字幕 | 国产精品无套呻吟在线 | 国产精品a成v人在线播放 | 人妻少妇精品视频专区 | 国产情侣作爱视频免费观看 | 久久aⅴ免费观看 | 亚洲熟妇色xxxxx欧美老妇 | 美女黄网站人色视频免费国产 | 色窝窝无码一区二区三区色欲 | 国产亚洲精品久久久久久 | 久久久久久久久蜜桃 | 人妻中文无码久热丝袜 | 久久久久国色av免费观看性色 | 青草青草久热国产精品 | 亚洲精品成a人在线观看 | 午夜精品一区二区三区的区别 | 波多野结衣aⅴ在线 | √天堂中文官网8在线 | 色综合天天综合狠狠爱 | 久久久久久久久888 | 99久久精品日本一区二区免费 | 老熟妇仑乱视频一区二区 | 最近的中文字幕在线看视频 | 爆乳一区二区三区无码 | 国产又粗又硬又大爽黄老大爷视 | 日韩少妇白浆无码系列 | 国产亚洲精品久久久久久久 | 国产 浪潮av性色四虎 | av无码电影一区二区三区 | 少妇无码av无码专区在线观看 | 国产精品福利视频导航 | 2020久久超碰国产精品最新 | 亚洲综合无码一区二区三区 | 成人无码影片精品久久久 | 牲欲强的熟妇农村老妇女视频 | 丰满人妻精品国产99aⅴ | 中文字幕人成乱码熟女app | 亚洲一区二区三区四区 | 精品无人区无码乱码毛片国产 | 麻花豆传媒剧国产免费mv在线 | 欧美激情内射喷水高潮 | 亚洲精品国产第一综合99久久 | 亚洲国产精品一区二区美利坚 | 99视频精品全部免费免费观看 | 亚洲成av人片在线观看无码不卡 | 久久国产36精品色熟妇 | 99久久婷婷国产综合精品青草免费 | 在线 国产 欧美 亚洲 天堂 | 18无码粉嫩小泬无套在线观看 | 老熟妇仑乱视频一区二区 | 国产农村妇女高潮大叫 | 暴力强奷在线播放无码 | 99久久人妻精品免费二区 | 夜夜影院未满十八勿进 | 国产免费久久精品国产传媒 | 嫩b人妻精品一区二区三区 | 久热国产vs视频在线观看 | 中文亚洲成a人片在线观看 | 国产莉萝无码av在线播放 | 国产午夜手机精彩视频 | 久久五月精品中文字幕 | 久久精品女人天堂av免费观看 | 亚洲色www成人永久网址 | a在线亚洲男人的天堂 | 国产精品国产自线拍免费软件 | 亚洲日韩精品欧美一区二区 | 少妇邻居内射在线 | 国产精品二区一区二区aⅴ污介绍 | 人妻有码中文字幕在线 | 国产乱码精品一品二品 | 国产av一区二区三区最新精品 | 国产精品无码成人午夜电影 | 老熟妇乱子伦牲交视频 | 国产无遮挡又黄又爽又色 | 亚洲精品一区三区三区在线观看 | 99精品视频在线观看免费 | 人妻天天爽夜夜爽一区二区 | 久久 国产 尿 小便 嘘嘘 | 天天综合网天天综合色 | 久久亚洲中文字幕无码 | 欧美性生交活xxxxxdddd | 久久综合给合久久狠狠狠97色 | 在线欧美精品一区二区三区 | 97资源共享在线视频 | 中文字幕乱码人妻无码久久 | 青青青爽视频在线观看 | 国产精品igao视频网 | 亚洲日韩av一区二区三区中文 | 无遮挡国产高潮视频免费观看 | 成人片黄网站色大片免费观看 | 日产精品99久久久久久 | 宝宝好涨水快流出来免费视频 | 欧美 亚洲 国产 另类 | 无码人妻丰满熟妇区毛片18 | 青青青手机频在线观看 | 国产精品多人p群无码 | 麻豆av传媒蜜桃天美传媒 | 亚洲一区二区三区含羞草 | 欧美亚洲国产一区二区三区 | 九月婷婷人人澡人人添人人爽 | 18黄暴禁片在线观看 | 亚洲色欲色欲天天天www | 99久久久国产精品无码免费 | 免费观看激色视频网站 | 国产亚洲视频中文字幕97精品 | 久久精品国产精品国产精品污 | 99久久久国产精品无码免费 | 精品厕所偷拍各类美女tp嘘嘘 | 久久综合给久久狠狠97色 | 98国产精品综合一区二区三区 | 精品人妻av区 | 亚洲成av人片天堂网无码】 | 亚洲国产精品久久久久久 | 精品久久久无码人妻字幂 | 精品国产成人一区二区三区 | a片在线免费观看 | 永久免费观看国产裸体美女 | 国产欧美精品一区二区三区 | 亚洲午夜久久久影院 | 国产香蕉尹人视频在线 | 精品人妻人人做人人爽 | 久久久精品欧美一区二区免费 | 99精品视频在线观看免费 | 免费观看黄网站 | 性做久久久久久久免费看 | 成在人线av无码免观看麻豆 | 欧美阿v高清资源不卡在线播放 | 亚洲国产日韩a在线播放 | 又大又黄又粗又爽的免费视频 | 国内少妇偷人精品视频 | 亚洲人成网站免费播放 | 亚洲成av人片天堂网无码】 | 俺去俺来也www色官网 | 麻豆果冻传媒2021精品传媒一区下载 | 亚洲成a人片在线观看无码 | 中文字幕乱妇无码av在线 | 一本大道伊人av久久综合 | 亚洲高清偷拍一区二区三区 | 国产精品久久久午夜夜伦鲁鲁 | 九九在线中文字幕无码 | 午夜性刺激在线视频免费 | 久久久中文久久久无码 | 亚洲精品中文字幕久久久久 | 扒开双腿疯狂进出爽爽爽视频 | 无码毛片视频一区二区本码 | 久久久av男人的天堂 | 国产熟妇另类久久久久 | 一二三四在线观看免费视频 | 亚洲国产精品成人久久蜜臀 | 国产精品成人av在线观看 | 亚洲欧美日韩成人高清在线一区 | 欧美日韩视频无码一区二区三 | 天天拍夜夜添久久精品大 | 亚洲乱码日产精品bd | 免费播放一区二区三区 | 色老头在线一区二区三区 | 欧美人妻一区二区三区 | 熟妇女人妻丰满少妇中文字幕 | 国产真人无遮挡作爱免费视频 | 国产精品高潮呻吟av久久 | 狠狠综合久久久久综合网 | 亚洲一区二区三区无码久久 | 嫩b人妻精品一区二区三区 | 国产精品人人妻人人爽 | 亚洲精品一区国产 | 国产亚洲欧美日韩亚洲中文色 | 蜜桃无码一区二区三区 | 一本色道久久综合亚洲精品不卡 | 亚洲精品午夜国产va久久成人 | 成人aaa片一区国产精品 | 久久99国产综合精品 | 狠狠色欧美亚洲狠狠色www | 帮老师解开蕾丝奶罩吸乳网站 | 日本一区二区三区免费高清 | 久久综合给久久狠狠97色 | 亚洲一区av无码专区在线观看 | 波多野结衣乳巨码无在线观看 | 亚洲第一网站男人都懂 | 日日干夜夜干 | 久久99久久99精品中文字幕 | 在线 国产 欧美 亚洲 天堂 | 国产精品人人爽人人做我的可爱 | 野外少妇愉情中文字幕 | 亚洲综合在线一区二区三区 | 欧美人与牲动交xxxx | 色一情一乱一伦一视频免费看 | 国产人妻久久精品二区三区老狼 | 暴力强奷在线播放无码 | 四虎国产精品一区二区 | 免费无码午夜福利片69 | 久久熟妇人妻午夜寂寞影院 | 国产成人综合美国十次 | 水蜜桃色314在线观看 | 人人爽人人澡人人人妻 | 久久99精品国产麻豆蜜芽 | 久久久国产精品无码免费专区 | 搡女人真爽免费视频大全 | 丰满少妇人妻久久久久久 | 亚洲色在线无码国产精品不卡 | 久热国产vs视频在线观看 | 色婷婷av一区二区三区之红樱桃 | 国产猛烈高潮尖叫视频免费 | 亚洲欧美日韩综合久久久 | 男人的天堂av网站 | 亚洲熟妇色xxxxx亚洲 | 成人免费视频视频在线观看 免费 | 99视频精品全部免费免费观看 | 亚洲欧美综合区丁香五月小说 | 亚洲午夜久久久影院 | 天堂无码人妻精品一区二区三区 | 国产婷婷色一区二区三区在线 | 国产午夜无码视频在线观看 | 免费看少妇作爱视频 | 日本熟妇大屁股人妻 | 97久久精品无码一区二区 | 久久综合香蕉国产蜜臀av | 人人爽人人澡人人人妻 | 精品国产成人一区二区三区 | 国产精品无套呻吟在线 | 无码乱肉视频免费大全合集 | 中文字幕无码免费久久9一区9 | 国内综合精品午夜久久资源 | 国产成人无码专区 | 国产sm调教视频在线观看 | 沈阳熟女露脸对白视频 | 久久99精品久久久久婷婷 | 玩弄中年熟妇正在播放 | 午夜精品久久久久久久久 | 亚洲娇小与黑人巨大交 | 国产特级毛片aaaaaa高潮流水 | 中文字幕无码av激情不卡 | 青青草原综合久久大伊人精品 | 久久99久久99精品中文字幕 | 内射老妇bbwx0c0ck | 99国产精品白浆在线观看免费 | 亚洲自偷自拍另类第1页 | 国产成人无码a区在线观看视频app | 国产av一区二区三区最新精品 | 国产深夜福利视频在线 | 国产三级久久久精品麻豆三级 | 色噜噜亚洲男人的天堂 | 婷婷丁香五月天综合东京热 | 亚洲大尺度无码无码专区 | 亚洲国产高清在线观看视频 | 丁香啪啪综合成人亚洲 | 蜜桃视频插满18在线观看 | 少妇无套内谢久久久久 | 十八禁真人啪啪免费网站 | 九九热爱视频精品 | 国产精品美女久久久久av爽李琼 | 日本一区二区更新不卡 | 牲交欧美兽交欧美 | 久久精品人妻少妇一区二区三区 | 免费看少妇作爱视频 | 奇米影视888欧美在线观看 | 曰本女人与公拘交酡免费视频 | 一本久久伊人热热精品中文字幕 | 国产内射老熟女aaaa | 国产免费久久精品国产传媒 | 久久精品人妻少妇一区二区三区 | 欧美性猛交内射兽交老熟妇 | 中文字幕无码日韩专区 | 中文字幕色婷婷在线视频 | 狠狠躁日日躁夜夜躁2020 | 免费观看黄网站 | 高潮喷水的毛片 | aⅴ亚洲 日韩 色 图网站 播放 | 丰满少妇人妻久久久久久 | 色一情一乱一伦一区二区三欧美 | 又大又黄又粗又爽的免费视频 | 免费视频欧美无人区码 | 免费中文字幕日韩欧美 | 免费观看的无遮挡av | 日日摸夜夜摸狠狠摸婷婷 | 老头边吃奶边弄进去呻吟 | 我要看www免费看插插视频 | 亚洲小说图区综合在线 | 久久综合久久自在自线精品自 | 欧美老熟妇乱xxxxx | 九九久久精品国产免费看小说 | 男女猛烈xx00免费视频试看 | 99久久人妻精品免费一区 | 国产亚洲精品久久久ai换 | 99久久精品无码一区二区毛片 | 蜜桃无码一区二区三区 | 亚洲国产欧美国产综合一区 | 狂野欧美性猛xxxx乱大交 | 人人妻人人藻人人爽欧美一区 | 牲欲强的熟妇农村老妇女视频 | 小鲜肉自慰网站xnxx | 日韩亚洲欧美精品综合 | 亚洲综合无码一区二区三区 | 欧美人与牲动交xxxx | 97资源共享在线视频 | 国产精品99久久精品爆乳 | 欧美野外疯狂做受xxxx高潮 | 熟女少妇人妻中文字幕 | 男女作爱免费网站 | 国产人妻精品一区二区三区 | 中文字幕乱码人妻二区三区 | 无码人妻出轨黑人中文字幕 | 欧美一区二区三区视频在线观看 | 亚洲中文字幕无码中文字在线 | 精品欧洲av无码一区二区三区 | 成人免费无码大片a毛片 | 中文无码精品a∨在线观看不卡 | 欧美高清在线精品一区 | 四十如虎的丰满熟妇啪啪 | 欧美丰满熟妇xxxx性ppx人交 | 亚洲成a人片在线观看日本 | 久久久精品成人免费观看 | 日日碰狠狠躁久久躁蜜桃 | 亚洲欧洲中文日韩av乱码 | 亚洲国产av精品一区二区蜜芽 | 妺妺窝人体色www婷婷 | 日本熟妇乱子伦xxxx | 天堂无码人妻精品一区二区三区 | 成人欧美一区二区三区 | 欧美人与物videos另类 | 亚洲中文字幕无码一久久区 | 亚洲色大成网站www国产 | 中文字幕无码av激情不卡 | 爱做久久久久久 | 一本精品99久久精品77 | 日产精品高潮呻吟av久久 | 成熟女人特级毛片www免费 | 无遮无挡爽爽免费视频 | 中文字幕无码乱人伦 | 免费无码av一区二区 | 亚洲国产欧美在线成人 | 亚洲日韩av一区二区三区四区 | 小泽玛莉亚一区二区视频在线 | 激情内射日本一区二区三区 | 无码精品国产va在线观看dvd | 亚洲中文字幕成人无码 | 国产精品无码mv在线观看 | 精品水蜜桃久久久久久久 | 无码人妻精品一区二区三区不卡 | 国产亚洲人成在线播放 | 99久久人妻精品免费二区 | 色综合久久中文娱乐网 | 久久精品一区二区三区四区 | 四虎国产精品免费久久 | 波多野结衣 黑人 | 精品一区二区不卡无码av | 中文字幕无线码 | 少妇激情av一区二区 | 亚洲一区二区三区含羞草 | 欧美真人作爱免费视频 | 强伦人妻一区二区三区视频18 | 天堂а√在线中文在线 | 日韩精品一区二区av在线 | 精品人妻中文字幕有码在线 | 中文字幕无码人妻少妇免费 | 国产亚洲美女精品久久久2020 | 性啪啪chinese东北女人 | 动漫av网站免费观看 | 中文字幕 人妻熟女 | 国产无遮挡又黄又爽又色 | 初尝人妻少妇中文字幕 | 国产精品久久久久久无码 | 色一情一乱一伦一视频免费看 | 蜜桃视频插满18在线观看 | 久久人妻内射无码一区三区 | 久久久久免费精品国产 | 免费国产黄网站在线观看 | 精品国产福利一区二区 | 97精品人妻一区二区三区香蕉 | 午夜男女很黄的视频 | 97久久超碰中文字幕 | 少妇厨房愉情理9仑片视频 | 131美女爱做视频 | 亚洲精品鲁一鲁一区二区三区 | 性色欲情网站iwww九文堂 | 亚洲成熟女人毛毛耸耸多 | 国产精品久久久久久久影院 | 无码乱肉视频免费大全合集 | 红桃av一区二区三区在线无码av | 99精品视频在线观看免费 | 玩弄少妇高潮ⅹxxxyw | 性欧美大战久久久久久久 | 岛国片人妻三上悠亚 | 国产免费久久精品国产传媒 | 国产亚洲精品久久久久久久 | 娇妻被黑人粗大高潮白浆 | 久精品国产欧美亚洲色aⅴ大片 | 大乳丰满人妻中文字幕日本 | 色噜噜亚洲男人的天堂 | 国产精品亚洲а∨无码播放麻豆 | 中国女人内谢69xxxx | 麻豆精品国产精华精华液好用吗 | 国产精品第一国产精品 | 国产成人综合色在线观看网站 | 高潮毛片无遮挡高清免费视频 | 国产综合久久久久鬼色 | 麻豆国产人妻欲求不满谁演的 | 中文字幕乱妇无码av在线 | 97久久国产亚洲精品超碰热 | 欧美三级a做爰在线观看 | 老头边吃奶边弄进去呻吟 | 亚洲s色大片在线观看 | 中文字幕无码免费久久99 | 日本大乳高潮视频在线观看 | 亚洲一区二区观看播放 | 亚洲精品久久久久中文第一幕 | 欧美freesex黑人又粗又大 | 国产舌乚八伦偷品w中 | 激情内射亚州一区二区三区爱妻 | 国产69精品久久久久app下载 | 特级做a爰片毛片免费69 | 久久人人爽人人爽人人片av高清 | 高清国产亚洲精品自在久久 | 一个人看的www免费视频在线观看 | 亚洲男人av天堂午夜在 | 亚洲码国产精品高潮在线 | 曰本女人与公拘交酡免费视频 | 午夜福利电影 | 18禁止看的免费污网站 | 爽爽影院免费观看 | 国产香蕉97碰碰久久人人 | 4hu四虎永久在线观看 | 久久99国产综合精品 | 久久久久亚洲精品男人的天堂 | 国产精品办公室沙发 | 中文无码成人免费视频在线观看 | 中文字幕无码av激情不卡 | 久久精品女人天堂av免费观看 | 4hu四虎永久在线观看 | 一本加勒比波多野结衣 | 久久99精品国产.久久久久 | 久久久久久久女国产乱让韩 | 内射后入在线观看一区 | 中文字幕人妻丝袜二区 | 国产超碰人人爽人人做人人添 | 熟妇女人妻丰满少妇中文字幕 | 在线观看国产一区二区三区 | 成 人影片 免费观看 | 成熟女人特级毛片www免费 | 中文字幕人妻无码一区二区三区 | 国产人妻久久精品二区三区老狼 | 国产精品亚洲五月天高清 | 国产成人久久精品流白浆 | 日韩精品无码免费一区二区三区 | 色偷偷人人澡人人爽人人模 | 欧美阿v高清资源不卡在线播放 | 中文字幕av无码一区二区三区电影 | 国产激情无码一区二区app | 久久综合给合久久狠狠狠97色 | 国产精品无码mv在线观看 | 极品嫩模高潮叫床 | 麻豆av传媒蜜桃天美传媒 | 欧美黑人性暴力猛交喷水 | 亚洲精品国产第一综合99久久 | 荫蒂被男人添的好舒服爽免费视频 | 青草视频在线播放 | 好爽又高潮了毛片免费下载 | 色一情一乱一伦 | 国产电影无码午夜在线播放 | 免费无码肉片在线观看 | 精品熟女少妇av免费观看 | 国产绳艺sm调教室论坛 | 大肉大捧一进一出好爽视频 | 久久国产精品偷任你爽任你 | 亚洲午夜久久久影院 | 99国产精品白浆在线观看免费 | 国产九九九九九九九a片 | 任你躁在线精品免费 | 大胆欧美熟妇xx | 一本久道久久综合狠狠爱 | 久久综合给合久久狠狠狠97色 | 中国女人内谢69xxxxxa片 | 国产真人无遮挡作爱免费视频 | 一本久久伊人热热精品中文字幕 | 东京无码熟妇人妻av在线网址 | 中文亚洲成a人片在线观看 | 中文毛片无遮挡高清免费 | 国产高清av在线播放 | 无码免费一区二区三区 | 欧美放荡的少妇 | 免费视频欧美无人区码 | 黑人巨大精品欧美黑寡妇 | 国产精品美女久久久网av | 亚洲国产精品久久久久久 | 天下第一社区视频www日本 | 国精产品一品二品国精品69xx | 亚洲国精产品一二二线 | 六月丁香婷婷色狠狠久久 | 欧美熟妇另类久久久久久不卡 | 亚洲中文字幕在线无码一区二区 |