精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

2022 Web 前端面試題及答案之JavaScript 篇

開發(fā) 前端
給大家分享一篇面試相關文章,希望大家在 2022 年,摸魚時間越來越多,薪資越漲越快!

給大家分享一篇面試相關文章,希望大家在 2022 年,摸魚時間越來越多,薪資越漲越快!

1、事件循環(huán)機制

阿里面試題1:

  1. <script type="text/javascript"
  2.  var p =new Promise(resolve=>{ 
  3.   console.log(4) 
  4.   resolve(5) 
  5.  }) 
  6.  function f1(){ 
  7.   console.log(1) 
  8.  } 
  9.  function f2(){ 
  10.   setTimeout(()=>{ 
  11.    console.log(2) 
  12.   },0) 
  13.   f1() 
  14.   console.log(3) 
  15.   p.then(res=>{ 
  16.    console.log(res) 
  17.   }) 
  18.  } 
  19.  f2() 
  20. </script> 
  21. // 運行結果 4 1 3 5 2 
  22. // 如果已經了解事件運行機制,就可以跳過該問題了 

 事件循環(huán)機制,event-loop 。包含三部分:調用棧、消息隊列、微任務隊列。

事件循環(huán)開始的時候,會從全局一行一行的執(zhí)行代碼,遇到函數調用的時候,就會壓入調用棧中,當函數執(zhí)行完成之后,彈出調用棧。

  1. // 如:代碼會一行一行執(zhí)行,函數全部調用完成之后清空調用棧 
  2. function f1(){ 
  3.  console.log(1) 
  4. function f2(){ 
  5.  f1() 
  6.  console.log(2) 
  7. f2() 
  8. // 執(zhí)行結果 1 2 

 如果遇到 fetch、setInterval、setTimeout 異步操作時,函數調用壓入調用棧時,異步執(zhí)行內容會被加入消息隊列中,消息隊列中的內容會等到調用棧清空之后才會執(zhí)行。

  1. // 如: 
  2. function f1(){ 
  3.  console.log(1) 
  4. function f2(){ 
  5.  setTimeout(()=>{ 
  6.   console.log(2) 
  7.  },0) 
  8.  f1() 
  9.  console.log(3) 
  10. f2() 
  11. // 執(zhí)行結果 :1 3 2 

 遇到 promise、async、await 異步操作時,執(zhí)行內容會被加入微任務隊列中,會在調用棧清空之后立即執(zhí)行。

調用棧加入的微任務隊列會立即執(zhí)行。

  1. 如 
  2. let p =new Promise(resolve=>{ 
  3.  console.log('立即執(zhí)行'
  4.  resolve(1) //在 then 調用中執(zhí)行 
  5. }) 

 微任務隊列中內容優(yōu)先執(zhí)行,所以比消息隊列中的內容執(zhí)行得早。

了解這些知識后,再試一下最前面的那道面試題,應該就沒什么問題了。

2、你對作用域的認識有多少?

阿里面試題2:

  1. <script type="text/javascript"
  2.  function fn(a,c){ 
  3.   console.log(a) 
  4.   var a = 12 
  5.   console.log(a) 
  6.   console.log(c) 
  7.   function a(){ } 
  8.   if(false){ 
  9.    var d = 34 
  10.   } 
  11.   console.log(d) 
  12.   console.log(b) 
  13.   var b = function(){} 
  14.   console.log(b) 
  15.   function c(){} 
  16.   console.log(c) 
  17.  } 
  18.  fn(1,2) 
  19. </script> 
  20. // 運行結果: 
  21. /* 
  22. function a(){} 
  23. 12 
  24. function c(){} 
  25. undefined 
  26. undefined 
  27. function (){} 
  28. function c(){} 
  29. */ 

 作用域通俗地講,就是指一個變量的作用范圍。下面分別介紹下全局作用域和函數作用域的概念。

全局作用域

  • 頁面打開時被創(chuàng)建,頁面關閉時被銷毀。
  • 編寫在 script 標簽下的變量和函數,作用域為全局,頁面的任意位置都可以訪問
  • 有全局對象 window ,代表瀏覽器窗口,全局作用下的變量和函數作為 window 的屬性和方法

函數作用域(局部)

  • 函數是被調用時創(chuàng)建的,執(zhí)行完畢之后銷毀。
  • 函數每調用一次,變量和函數就會重新創(chuàng)建一次,它們之間是相互獨立的
  • 在函數作用域內可以訪問到全局變量或函數,但是在函數外無法訪問函數作用域內的變量
  • 函數作用域內訪問變量,會在自身作用域內尋找,若沒有則會向上一級作用域內查找,一直到全局作用域。

講這些概念看完,發(fā)現還不會做上邊的面試題,接下來就學習學習作用域的預編譯,看看函數執(zhí)行的時候都干了些啥?

函數在被調用的時候會先進行預編譯:

全局作用域預編譯:

  • 創(chuàng)建上下文 GO 對象。
  • 找變量聲明,將變量名作為 GO 對象的屬性名,值為 undefined
  • 找函數式聲明,將值賦予函數體

函數作用域預編譯:

  • 創(chuàng)建上下文 AO 對象
  • 將形參和實參作為 AO 對象的屬性,賦值為 undefined
  • 實參和形參相統(tǒng)一
  • 在函數體內找函數聲明,將值賦予函數體。

了解預編譯過程之后,我們將上面的面試題進行解析,分析下運行結果是怎么來的?

fn 函數調用的時候,先進行預編譯,

第一階段:生成一個 AO 對象

第二階段:找到形參和實參,作為 AO 對象的屬性名,值為 udefined 。

  1. AO{ 
  2. a : undefined, 
  3. b : undefined, 
  4. c : undefined, 
  5. d : undefined 

 第三階段:實參和形參相統(tǒng)一,之后,AO對象改變?yōu)椋?/p>

  1. AO{ 
  2. a : 1, 
  3. b : undefined, 
  4. c : 2, 
  5. d : undefined 

 第四階段:找到函數聲明,將值賦給變量,AO改變?yōu)椋?/p>

  1. AO{ 
  2. a : function a(){ } , 
  3. b : undefined, 
  4. c : function c(){ }, 
  5. d : undefined 

 這下結合函數的預編譯過程以及函數作用域概念,再嘗試一下面試題,簡單了嗎?

3、為什么會有閉包?它解決了什么問題?

實例3:

  1. var liArr = document.getElementsByTagName('li'
  2. for(var i=0;i<liArr.length;i++){ 
  3.  liArr[i].onclick = function(){ 
  4.   console.log(liArr[i]) 
  5.  } 

 這是一個非常常見的實際應用,我們是想要點擊元素然后操作對應的元素,但是點擊之后發(fā)現打印出來的是 undefined 。我們應該能想到 i 變成了 liArr.length ,所以找不到對應元素,這個問題該如何解決呢?

說閉包時,必須介紹作用域。

上面介紹全局作用域和函數作用域,js內部變量的訪問是由內向外的,內部可以訪問到外部的變量,但是外部無法訪問函數內的變量,如果我們在外部訪問函數內的變量就需要使用閉包。

閉包就是函數嵌套函數,通過函數內的函數訪問變量的規(guī)則,實現外部訪問函數內的變量。

閉包的特點:

  • 函數嵌套函數。
  • 函數內部可以引用函數外部的參數和變量。
  • 參數和變量不會被垃圾回收機制回收。

那么上述實例該如何使用閉包解決該問題呢?

實例3:閉包解決問題

  1. var liArr = document.getElementsByTagName('li'
  2. for(var i=0;i<liArr.length;i++){ 
  3.  (function(i){ 
  4.   liArr[i].onclick = function(){ 
  5.    console.log('點擊元素',liArr[i]) 
  6.   } 
  7.  })(i)  

 閉包優(yōu)點:

  • 保護變量安全,實現封裝,防止變量聲明沖突和全局污染。
  • 在內存當中維持一個變量,可以做緩存。
  • 匿名函數自執(zhí)行函數可以減少內存消耗。

防抖和節(jié)流就是閉包的經典應用。

4、防抖和節(jié)流,你了解多少?

在實際應用中,常見的就是窗口的 resize、輸入框搜索內容、scroll 等操作,如果這些操作觸發(fā)頻率太高,就會加重瀏覽器的負擔,同時用戶體驗也較差。該如何優(yōu)化該操作呢?

防抖函數是什么呢?

當持續(xù)觸發(fā)事件,一定時間內沒有再觸發(fā)事件,事件處理函數才會執(zhí)行一次,如果在設定的時間到來之前又觸發(fā)了事件,就會重新計時。

實例4:我們想要制作一個輸入框搜索,計劃輸入完成后兩秒再執(zhí)行,打印出輸入的值。

  1. function debounce(val){ 
  2.  var timer 
  3.  clearTimeout(timer) 
  4.  timer = setTimeout(function(){ 
  5.   console.log(val) 
  6.  },2000) 
  7. var input = document.getElementById('input'
  8. input.addEventListener('keyup',function(e){ 
  9.  debounce(e.target.value) 
  10. }) 

 實際運行結果:我們發(fā)現輸入之后,延時兩秒之后打印出結果。

2022 Web 前端面試題及答案 之 javaScript 篇

并非我們想要的結果,這是什么原因呢?

因為函數每次重新調用的時候 timer 會重新創(chuàng)建,調用完成之后就會被銷毀,所以每次重新調用函數的時候,clearTimeout 內的 timer 都是 undefined 。所以我們需要把 timer 始終保持在內存當中,所以就需要使用閉包。

使用閉包修改上述實例4:

  1. function debounce(delay){ 
  2.  var timer 
  3.  return function(val){ 
  4.   clearTimeout(timer) 
  5.   timer = setTimeout(function(){ 
  6.    console.log(val) 
  7.   },delay) 
  8.  } 
  9. var debounceFun = debounce(2000) 
  10. var input = document.getElementById('input'
  11. input.addEventListener('keyup',function(e){ 
  12.  debounceFun(e.target.value) 
  13. }) 

防抖函數常見的實際應用:使用 echart 的時候,瀏覽器 resize 時,需要重新繪制圖表大小,還有典型的輸入框搜索應用。

節(jié)流函數是什么?

當持續(xù)觸發(fā)事件的時候,保證一段時間內只調用一次事件處理函數,一段時間內,只允許做一件事情。

實例5:滾動條實現一段時間內執(zhí)行一次處理,執(zhí)行回調。

  1. var throttle = function(func, delay) {             
  2.  var timer = null;             
  3.  return function() {                 
  4.   var context = this;                
  5.   var args = arguments;                 
  6.   if (!timer) {                     
  7.    timer = setTimeout(function() {                         
  8.     func.apply(context, args);                         
  9.      timer = null;                     
  10.     }, delay);                 
  11.    }             
  12.  }         
  13. }         
  14. function handle() {             
  15.  console.log('執(zhí)行回調');         
  16. }         
  17. window.addEventListener('scroll', throttle(handle, 1000));  

防抖和節(jié)流主要是用來限制觸發(fā)頻率較高的事件,再不影響效果的前提條件下,降低事件觸發(fā)頻率,減小瀏覽器或服務器的壓力,提升用戶體驗效果。

5、數組去重有幾種方法?

這是一個非常常見的面試題,你知道幾種方式呢?

  1. var arr = [1,2,3,4,5,1,2,3,4] 
  2. function unique(arr){ 
  3.   //添加去重的方法的內容 
  4. unique(arr) 

方法1: Set 方法

  1. return Array.from(new Set(arr)) 
  2.  
  3. // 或 
  4.  
  5. return [...new Set(arr)] 

 new Set 返回的數據不是數組,所以使用 Aray.from 方法將類數組轉為真正的數組,或把 ...new Set(arr) 放入數組中。

方法2:使用兩次循環(huán)

  1. for(var i=0,len=arr.length;i<len;i++){ 
  2.  for(var j=i+1,len=arr.length;j<len;j++){ 
  3.   if( arr[i]===arr[j] ){ 
  4.    arr.splice(i,1) 
  5.    j--; 
  6.    len-- 
  7.   } 
  8.  } 
  9. return arr 

方法3:indexOf 實現

arr.indexOf(item) 返回 item 元素在 arr 數組中第一次出現所在位置的下標。

  1. let arr1 = [] 
  2. for(var i=0;i<arr.length;i++){ 
  3.  if( arr1.indexOf(arr[i]) === -1 ){ 
  4.   arr1.push(arr[i]) 
  5.  } 
  6. return arr1 

方法4:includes 實現

  1. let arr1 = [] 
  2. for(var i=0;i<arr.length;i++){ 
  3.  if( !arr1.includes(arr[i]) ){ 
  4.   arr1.push(arr[i]) 
  5.  } 
  6. return arr1 

方法5:filter 實現

array.indexOf(item,start) start 表示開始檢索的位置。

  1. return arr.filter(( item, index )=>{ 
  2.  return arr.indexOf( item, 0 ) == index 
  3. }) 

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2022-07-27 08:27:34

Call前端

2021-02-02 06:12:39

JavaScript 前端面試題

2023-08-27 15:57:28

前端開發(fā)

2022-05-08 19:36:35

Web前端時間復雜度

2023-05-19 08:21:40

MarginCSS

2019-02-21 14:12:26

前端面試題Vue

2022-02-09 07:40:42

JavaScript前端面試題

2012-06-28 14:35:49

Web

2012-06-26 11:09:07

Web

2009-02-16 13:03:43

華為面試

2009-06-16 13:41:19

Hibernate面試Hibernate面試

2024-02-26 15:35:44

2020-11-12 10:20:40

前端面試web

2021-10-27 11:00:30

C++語言面試

2022-05-08 19:58:10

JSONPJavaScript

2019-05-15 16:45:13

SpringBoot面試題Java

2018-05-10 16:52:03

阿里巴巴前端面試題

2020-11-06 09:05:18

前端web開發(fā)

2020-08-06 10:45:30

JavaSpring面試題

2012-02-02 09:45:24

Web
點贊
收藏

51CTO技術棧公眾號

777电影在线观看| 久草视频在线免费| 欧美91在线| 色综合色狠狠天天综合色| 欧美一区激情视频在线观看| 亚洲一区二区天堂| 在线欧美福利| 中文字幕精品在线| 伊人久久久久久久久| 中文字幕一区久| 中文字幕字幕中文在线中不卡视频| 99电影在线观看| 中文字幕免费观看| 欧美高清一区| 伊人精品在线观看| 波多野结衣视频播放| 超碰这里只有精品| 午夜国产精品影院在线观看| 亚洲精品中字| 日韩av资源站| 国产精品一二三四| 国产精品久久久久久久久久免费 | 91青青在线视频| 懂色av中文一区二区三区| 国产精品亚洲欧美导航| 999这里只有精品| 欧美黄污视频| 日韩在线视频网站| 波多野吉衣中文字幕| 日韩中文在线| 在线播放一区二区三区| 日韩欧美在线免费观看视频| 鲁鲁在线中文| 亚洲一二三区在线观看| 懂色av一区二区三区四区五区| 日本视频在线观看一区二区三区| 成人在线综合网| 亚洲综合中文字幕在线观看| 在线免费观看av片| 免费成人小视频| 日韩av免费在线看| 成人精品免费在线观看| 91久久久久| 久久久久久国产| 久艹视频在线观看| 欧美国产高清| 色综合老司机第九色激情| 国产美女福利视频| 香蕉久久网站| 久久视频免费在线播放| 51精品免费网站| 99久久99视频只有精品| 日韩在线观看免费| 中文乱码字幕高清一区二区| 国产精品久久久久久麻豆一区软件 | 热久久这里只有精品| 国产一级视频在线| 一区二区视频欧美| 97香蕉超级碰碰久久免费软件| 18精品爽视频在线观看| 亚洲区一区二| 欧美亚洲国产另类| 黄瓜视频在线免费观看| 久久中文在线| 国产精品一香蕉国产线看观看| 在线播放亚洲精品| 国产在线视频一区二区三区| 91久久极品少妇xxxxⅹ软件| 亚洲第一第二区| 96av麻豆蜜桃一区二区| 欧美日韩国产不卡在线看| 九色视频网站在线观看| 国产精品久久二区二区| 一级黄色片播放| 97人人在线视频| 色婷婷久久综合| 91亚洲精品久久久蜜桃借种| 精品视频一区二区三区| 亚洲激情久久久| 黄免费在线观看| 国产精品成人一区二区不卡| 欧美激情第6页| 成年人av网站| 精品一区二区影视| 国产亚洲精品久久飘花| 成人午夜电影在线观看| 亚洲美女视频在线观看| 免费毛片网站在线观看| 成人久久网站| 精品国产一区二区精华| 超碰97人人干| 中文字幕一区二区三区欧美日韩| 久久人人看视频| 一级黄色av片| 国产高清亚洲一区| 欧美裸体网站| 天使と恶魔の榨精在线播放| 欧美日韩激情小视频| 蜜臀av免费观看| 97一区二区国产好的精华液| 亚洲老司机av| 五月天婷婷色综合| 久热精品视频| 不卡视频一区二区| 91免费在线| 欧美日韩国产中字| 亚欧精品在线视频| 欧美日韩激情在线一区二区三区| 欧美人在线视频| 久久久久久av无码免费看大片| 国产成人免费xxxxxxxx| 日韩视频在线播放| 国产va在线视频| 4438x亚洲最大成人网| 极品白嫩丰满美女无套| 欧美在线资源| 国产精品一区二区久久国产| 日韩电影在线观看完整版| 亚洲自拍与偷拍| 91pony九色| 日本久久综合| 国产成人精品在线视频| 国内爆初菊对白视频| 中文字幕欧美一| 四季av一区二区| 米奇777超碰欧美日韩亚洲| 色综合天天狠天天透天天伊人 | 蜜乳av一区二区三区| 精品视频一区二区| gogo久久| 欧美mv日韩mv国产网站| 在线免费观看亚洲视频| 久久99久久久久久久久久久| 色一情一乱一伦一区二区三欧美 | 欧美另类视频| 91精品在线观看视频| 2021av在线| 欧美午夜精品一区| 2019男人天堂| 青青青伊人色综合久久| 日本在线播放一区| 欧美××××黑人××性爽| 日韩精品一二三四区| 久草国产精品视频| av在线播放不卡| 欧美视频在线免费播放| 欧美人成在线观看ccc36| 欧美激情中文网| 国精产品一品二品国精品69xx| 一区二区三区在线视频免费| 日本一级大毛片a一| 国产精品v欧美精品v日本精品动漫| 91亚洲精华国产精华| 成人欧美在线| 日韩网站在线看片你懂的| 久操免费在线视频| eeuss鲁片一区二区三区在线观看| 国产一区二区片| 久久精品福利| 欧洲成人午夜免费大片| 国产精品视频一区二区久久| 色吊一区二区三区| 香蕉久久久久久久| 狠狠色伊人亚洲综合成人| 永久免费网站视频在线观看| 日韩精品一区二区三区免费视频| 欧美黄色三级网站| 四虎在线观看| 精品1区2区3区| 日韩精品一区二区亚洲av性色| 国产一区欧美二区| 亚洲国产精品无码观看久久| 人妖一区二区三区| 国产精品电影观看| 免费av不卡| 日韩免费福利电影在线观看| 日本一二三区视频| 国产亚洲精品福利| 国产一区二区在线观看免费视频| 欧美激情五月| 欧美极品一区| 电影91久久久| 欧美一区三区三区高中清蜜桃| 成人免费一区二区三区视频网站| 91精品一区二区三区久久久久久 | 成人av电影免费| 亚洲国产福利| 久久成人精品视频| 免费黄网站在线观看| 欧美精品久久久久久久久老牛影院| 欧美国产日韩在线观看成人| 99re这里只有精品6| 国产一级片自拍| 亚洲国产婷婷| 亚洲在线视频一区二区| 国产成人在线中文字幕| 国产精品视频成人| 三级在线观看视频| 欧美成年人视频网站| 精品无吗乱吗av国产爱色| 日韩三级.com| 成人午夜精品视频| 午夜国产不卡在线观看视频| 五月综合色婷婷| 91免费版在线| wwwww在线观看| 老司机午夜精品| 116极品美女午夜一级| 夜间精品视频| 日韩在线导航| 亚洲8888| 国产精品毛片va一区二区三区| 巨大黑人极品videos精品| 97婷婷大伊香蕉精品视频| 91福利国产在线观看菠萝蜜| 亚洲一级一级97网| 天堂视频中文在线| 欧美成人bangbros| 国产精品探花视频| 欧美性生活大片视频| 日韩男人的天堂| 亚洲男人的天堂在线观看| 精品日韩在线视频| 久久久久综合网| 免费无码一区二区三区| 高清日韩电视剧大全免费| 男人的天堂最新网址| 日韩成人伦理电影在线观看| 国产aaa一级片| 亚洲激情黄色| 欧美在线一区视频| 狠久久av成人天堂| 日韩精品福利片午夜免费观看| 婷婷色综合网| 偷拍盗摄高潮叫床对白清晰| 欧美电影免费观看高清| 午夜精品福利一区二区| 欧洲福利电影| 亚洲午夜精品一区二区| 日韩精品91| 亚洲国产欧美一区二区三区不卡| 精品美女久久| 亚洲国产日韩美| 偷拍欧美精品| 韩国黄色一级大片| 欧美精品二区| www.好吊操| 99riav1国产精品视频| 免费看黄在线看| 亚洲一级在线| 黑森林福利视频导航| 久久久久国产精品一区二区| 色婷婷综合久久久久中文字幕| 另类国产ts人妖高潮视频| aa免费在线观看| 日韩av一级电影| 日韩精品你懂的| 精一区二区三区| 1314成人网| 成人高清视频在线观看| 国产毛片毛片毛片毛片毛片毛片| 99这里都是精品| 一本加勒比北条麻妃| 国产精品久线在线观看| 国产一二三四区| 午夜精品aaa| 久久久久久av无码免费看大片| 欧美剧在线免费观看网站| 国产美女永久免费| 亚洲二区在线播放视频| 蜜桃视频在线观看网站| 最近2019中文字幕在线高清| 91精品国产91久久久久久青草| 97在线精品国自产拍中文| 国产亚洲一区二区手机在线观看| 成人激情春色网| 高潮久久久久久久久久久久久久 | 国产精品一级无码| 99视频有精品| 国产视频123区| 亚洲国产三级在线| 亚洲黄网在线观看| 91精品国产一区二区三区蜜臀| 你懂的网站在线| 亚洲最大在线视频| 制服丝袜中文字幕在线| 欧美亚洲国产日本| 电影一区中文字幕| 免费亚洲精品视频| 欧美日韩国产精品一区二区亚洲| 精品一区二区中文字幕| 精品一区二区影视| 精品人妻一区二区三区日产乱码卜| 欧美激情一区二区三区不卡| 国产性生活网站| 在线观看亚洲一区| 免费激情视频网站| 日韩在线中文字幕| 亚洲风情在线资源| dy888夜精品国产专区| 欧美久久精品一级c片| 性一交一乱一伧国产女士spa| 美腿丝袜亚洲三区| 爱爱免费小视频| 亚洲综合成人网| 91九色蝌蚪91por成人| 日韩精品视频观看| 女人黄色免费在线观看| 成人免费视频网| 免费看成人哺乳视频网站| 欧妇女乱妇女乱视频| 免费成人av资源网| 亚欧洲乱码视频| 性做久久久久久免费观看欧美| 国产一区二区在线不卡| 亚洲视频精品在线| 深夜福利视频一区二区| 丁香五月网久久综合| 亚洲精品2区| 欧美一级视频在线| 国产精品毛片大码女人| 黄色片中文字幕| 精品中文字幕久久久久久| 黑人另类精品××××性爽| 成人午夜一级二级三级| 不卡中文一二三区| 牛夜精品久久久久久久| 久久久国产精品不卡| 久久久久久久久久影院| 亚洲精品电影在线观看| 91九色在线看| 国产精品二区在线| 欧美激情无毛| 中国男女全黄大片| 亚洲精品福利视频网站| 国产人妖一区二区三区| 久久精品视频在线观看| 亚洲一区av| 7777在线视频| 韩国三级中文字幕hd久久精品| 亚洲女人毛茸茸高潮| 欧美日韩综合一区| 日本激情视频在线观看| 成人网在线免费观看| 婷婷综合五月| 男人女人拔萝卜视频| 亚洲国产日日夜夜| 欧美 日韩 国产 精品| 久久久亚洲国产天美传媒修理工| 亚洲综合网站| 日韩中字在线观看| 久久久精品国产99久久精品芒果 | 亚洲韩国在线| 久久99精品久久久| 艳妇荡乳欲伦69影片| 日韩一区二区免费在线电影| 欧美伦理免费在线| 国产日韩精品推荐| 久久九九99| 一区二区三区在线播放视频| 91麻豆精品国产自产在线| 视频在线这里都是精品| 精品产品国产在线不卡| 视频一区在线播放| 亚洲少妇xxx| 日韩精品一区二区三区老鸭窝| 97蜜桃久久| 午夜精品美女久久久久av福利| 国产一区二区视频在线| 九热这里只有精品| 亚洲视频网站在线观看| 久久精品国产福利| 日韩 欧美 视频| 国产欧美日韩视频在线观看| 一区二区美女视频| 国模叶桐国产精品一区| 国产剧情在线观看一区| 中文字幕在线视频一区二区| 精品二区三区线观看| 精品av中文字幕在线毛片| 91欧美精品成人综合在线观看| 亚洲久久视频| 99热在线观看精品| 日韩黄色高清视频| 97精品资源在线观看| 国产成人无码a区在线观看视频| 国产欧美日韩亚州综合| 亚洲精品成人电影| 国产精品高潮呻吟久久av野狼| 亚洲精品久久久| 国产又爽又黄无码无遮挡在线观看| 欧美日韩视频在线第一区| 2019中文字幕在线电影免费 | 国产伦精品一区二区三区妓女 | 色呦呦免费观看| 国产精品视频久久| 在线不卡视频| 永久免费看片直接| 亚洲毛片一区二区| 亚洲国产欧美国产第一区|