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

從Vue.js源碼中我學到了尤大大幾點精妙方法

開發(fā) 前端
本篇帶大家試試尤大大教給我們的這幾個精妙方法吧!在工作中肯定會用得到。

[[373241]]

 話不多說,趕快試試尤大大教給我們的這幾個精妙方法吧!在工作中肯定會用得到。

立即執(zhí)行函數(shù)頁面加載完成后只執(zhí)行一次的設置函數(shù)。

  1. (function (a, b) { 
  2.   console.log(a, b); // 1,2 
  3. })(1, 2); 

通常,全局變量被作為一個參數(shù)傳遞給立即執(zhí)行參數(shù),這樣它在函數(shù)內(nèi)部不使用window也可以被訪問到。

  1. (function (global) { 
  2.   console.log(global); // Window對象 
  3. })(this); 

多層嵌套三目運算

符三目運算符嵌套的寫法,使得代碼可讀性差,簡單業(yè)務場景下可以試著使用。

  1. var a = 1; 
  2. var b = 0; 
  3. a == 1 ? (b == 2 ? (b = 3) : (b = 1)) : ""
  4. console.log(b); // 1 

凍結對象

不可對指定對象增刪改。

  1. var emptyObject = Object.freeze({ 
  2.   key"1"
  3. }); 
  4. emptyObject.name = "maomin"
  5. delete emptyObject.key
  6. emptyObject.key = "2"
  7. console.log(emptyObject); 

密封對象

只能對指定對象進行更改,不可進行增加刪除操作。

  1. var sealObject = Object.seal({ 
  2.   key: 3, 
  3. }); 
  4. sealObject.name = "maomin"
  5. delete sealObject.key
  6. sealObject.key = 4; 
  7. console.log(sealObject); // 4 

檢查是否是原始值

  1. function isPrimitive(value) { 
  2.   return ( 
  3.     typeof value === "string" || 
  4.     typeof value === "number" || 
  5.     // $flow-disable-line 
  6.     typeof value === "symbol" || 
  7.     typeof value === "boolean" 
  8.   ); 

快速檢測是否是對象

當我們知道原始值時,它主要用于將對象與原始值區(qū)分開來。

  1. function isObject(obj) { 
  2.   return obj !== null && typeof obj === "object"
  3. console.log(isObject(true)); //false 

檢測目標類型

  1. var _toString = Object.prototype.toString; 
  2.  
  3. function toRawType(value) { 
  4.   return _toString.call(value).slice(8, -1); 
  5. console.log(toRawType([])); // Array 

檢查目標是否是有效的數(shù)組索引

  1. function isValidArrayIndex(val) { 
  2.   var n = parseFloat(String(val)); 
  3.   return n >= 0 && Math.floor(n) === n && isFinite(val); 

檢測是否是Promise對象

  1. function isDef(v) { 
  2.   return v !== undefined && v !== null
  3. function isPromise(val) { 
  4.   return ( 
  5.     isDef(val) && 
  6.     typeof val.then === "function" && 
  7.     typeof val.catch === "function" 
  8.   ); 
  9. var promiseObj = new Promise(function (resolve, reject) { 
  10.   // 一段耗時的異步操作 
  11.   resolve("成功"); // 數(shù)據(jù)處理完成 
  12.   // reject('失敗') // 數(shù)據(jù)處理出錯 
  13. }).then
  14.   (res) => { 
  15.     console.log(res); 
  16.   }, // 成功 
  17.   (err) => { 
  18.     console.log(err); 
  19.   } // 失敗 
  20. ); 
  21. console.log(isPromise(promiseObj)); // true 

目標轉換為字符串

  1. var _toString = Object.prototype.toString; 
  2. function isPlainObject(obj) { 
  3.   return _toString.call(obj) === "[object Object]"
  4. function toString(val) { 
  5.   return val == null 
  6.     ? "" 
  7.     : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString) 
  8.     ? JSON.stringify(val, null, 2) 
  9.     : String(val); 
  10. console.log(toString({ name: 1 })); // {"name": 1} 

轉化為數(shù)字

將輸入值轉換為數(shù)字以便持久化。如果轉換失敗,則返回原始字符串。

  1. function toNumber(val) { 
  2.   var n = parseFloat(val); 
  3.   return isNaN(n) ? val : n; 

檢測key是否在創(chuàng)建的Map對象內(nèi)

  1. function makeMap(str, expectsLowerCase) { 
  2.   var map = Object.create(null); 
  3.   var list = str.split(","); 
  4.   for (var i = 0; i < list.length; i++) { 
  5.     map[list[i]] = true
  6.   } 
  7.   return expectsLowerCase 
  8.     ? function (val) { 
  9.         return map[val.toLowerCase()]; 
  10.       } 
  11.     : function (val) { 
  12.         return map[val]; 
  13.       }; 
  14. var isbuiltInTag = makeMap("slot,component"true); 
  15. console.log(isbuiltInTag("component")); // true 

刪除簡單數(shù)組中某一項

  1. function remove(arr, item) { 
  2.   if (arr.length) { 
  3.     var index = arr.indexOf(item); 
  4.     if (index > -1) { 
  5.       return arr.splice(index, 1); 
  6.     } 
  7.   } 
  8. console.log(remove([1, 2], 1)); // [1] 

檢測對象中是否有指定key

  1. var hasOwnProperty = Object.prototype.hasOwnProperty; 
  2. function hasOwn(obj, key) { 
  3.   return hasOwnProperty.call(obj, key); 
  4. console.log(hasOwn({ name: 1 }, "name")); //true 

將類數(shù)組對象轉化為真實數(shù)組

  1. function toArray(list, start) { 
  2.   start = start || 0; 
  3.   var i = list.length - start; 
  4.   var ret = new Array(i); 
  5.   while (i--) { 
  6.     ret[i] = list[i + start]; 
  7.   } 
  8.   return ret; 
  9. console.log(toArray({ 0: 42, 1: 52, 2: 63, length: 3 })); // [42, 52, 63] 

將屬性混合到目標對象中

  1. function extend(to, _from) { 
  2.   for (var key in _from) { 
  3.     to[key] = _from[key]; 
  4.   } 
  5.   return to
  6. console.log(extend({ name: 1 }, { name1: 2 })); // {name:1,name1:2} 

將對象數(shù)組合并為單個對象

  1. function extend(to, _from) { 
  2.   for (var key in _from) { 
  3.     to[key] = _from[key]; 
  4.   } 
  5.   return to
  6. function toObject(arr) { 
  7.   var res = {}; 
  8.   for (var i = 0; i < arr.length; i++) { 
  9.     if (arr[i]) { 
  10.       extend(res, arr[i]); 
  11.     } 
  12.   } 
  13.   return res; 
  14. console.log(toObject([{ name: 1 }, { name: 1 }, { name: 2 }, { name1: 3 }])); // {name: 2, name1: 3} 

檢測指定項在數(shù)組(簡單數(shù)組、數(shù)組對象)中的索引

  1. function isObject(obj) { 
  2.   return obj !== null && typeof obj === "object"
  3. function looseEqual(a, b) { 
  4.   if (a === b) { 
  5.     return true
  6.   } 
  7.   var isObjectA = isObject(a); 
  8.   var isObjectB = isObject(b); 
  9.   if (isObjectA && isObjectB) { 
  10.     try { 
  11.       var isArrayA = Array.isArray(a); 
  12.       var isArrayB = Array.isArray(b); 
  13.       if (isArrayA && isArrayB) { 
  14.         return ( 
  15.           a.length === b.length && 
  16.           a.every(function (e, i) { 
  17.             return looseEqual(e, b[i]); 
  18.           }) 
  19.         ); 
  20.       } else if (a instanceof Date && b instanceof Date) { 
  21.         return a.getTime() === b.getTime(); 
  22.       } else if (!isArrayA && !isArrayB) { 
  23.         var keysA = Object.keys(a); 
  24.         var keysb = Object.keys(b); 
  25.         return ( 
  26.           keysA.length === keysb.length && 
  27.           keysA.every(function (key) { 
  28.             return looseEqual(a[key], b[key]); 
  29.           }) 
  30.         ); 
  31.       } else { 
  32.         /* istanbul ignore next */ 
  33.         return false
  34.       } 
  35.     } catch (e) { 
  36.       /* istanbul ignore next */ 
  37.       return false
  38.     } 
  39.   } else if (!isObjectA && !isObjectB) { 
  40.     return String(a) === String(b); 
  41.   } else { 
  42.     return false
  43.   } 
  44.  
  45. function looseIndexOf(arr, val) { 
  46.   for (var i = 0; i < arr.length; i++) { 
  47.     if (looseEqual(arr[i], val)) { 
  48.       return i; 
  49.     } 
  50.   } 
  51.   return -1; 
  52. console.log(looseIndexOf([{ name: 1 }, { name: 2 }], 4)); // -1 
  53. console.log(looseIndexOf([{ name: 1 }, { name: 2 }], { name: 1 })); // 0 

確保函數(shù)只調(diào)用一次

  1. function once(fn) { 
  2.   var called = false
  3.   return function () { 
  4.     if (!called) { 
  5.       called = true
  6.       fn.apply(this, arguments); 
  7.     } 
  8.   }; 
  9. var callOnce = once(function () { 
  10.   console.log("javascript"); 
  11. }); 
  12. callOnce(); // javascript 
  13. callOnce(); 

定義對象屬性

如果你想禁止一個對象添加新屬性并且保留已有屬性,就可以使用Object.preventExtensions(obj)。

  1. function def(obj, key, val, enumerable) { 
  2.   Object.defineProperty(obj, key, { 
  3.     value: val, // 對象定義屬性 
  4.     enumerable: !!enumerable, // 描述屬性是否會出現(xiàn)在for in 或者 Object.keys()的遍歷中 
  5.     writable: true, // 是否可寫 
  6.     configurable: true, // 是否重新定義或者刪除 
  7.   }); 
  8. var obj = { 
  9.   name: 1, 
  10. }; 
  11. def(obj, "name1", 2, true); 
  12. obj.name1 = 3; 
  13. console.log(obj); // {name: 1, name1: 3} 

瀏覽器環(huán)境嗅探

  1. var inBrowser = typeof window !== "undefined"
  2. var inWeex = typeof WXEnvironment !== "undefined" && !!WXEnvironment.platform; 
  3. var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase(); 
  4. var UA = inBrowser && window.navigator.userAgent.toLowerCase(); 
  5.  
  6. var isIE = UA && /msie|trident/.test(UA); 
  7. var isIE9 = UA && UA.indexOf("msie 9.0") > 0; 
  8. var isEdge = UA && UA.indexOf("edge/") > 0; 
  9. var isAndroid = (UA && UA.indexOf("android") > 0) || weexPlatform === "android"
  10. var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || weexPlatform === "ios"
  11. var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge; 
  12. var isPhantomJS = UA && /phantomjs/.test(UA); 
  13. var isFF = UA && UA.match(/firefox\/(\d+)/); 

JS構造函數(shù)內(nèi)的方法與構造函數(shù)prototype屬性上方法的對比

定義在構造函數(shù)內(nèi)部的方法,會在它的每一個實例上都克隆這個方法;定義在構造函數(shù)的 prototype 屬性上的方法會讓它的所有示例都共享這個方法,但是不會在每個實例的內(nèi)部重新定義這個方法。如果我們的應用需要創(chuàng)建很多新的對象,并且這些對象還有許多的方法,為了節(jié)省內(nèi)存,我們建議把這些方法都定義在構造函數(shù)的 prototype 屬性上。當然,在某些情況下,我們需要將某些方法定義在構造函數(shù)中,這種情況一般是因為我們需要訪問構造函數(shù)內(nèi)部的私有變量。

  1. function A() { 
  2.   this.say = function () { 
  3.     console.log(1); 
  4.   }; 
  5. var a = new A(); 
  6. a.say(); 
  7. function B() {} 
  8. B.prototype.say = function () { 
  9.   console.log(2); 
  10. }; 
  11. var b = new B(); 
  12. b.say(); 
  13. var c = new B(); 
  14. c.say(); 

獲取標簽內(nèi)容(包含標簽)

  1. function getOuterHTML(el) { 
  2.   if (el.outerHTML) { 
  3.     return el.outerHTML; 
  4.   } else { 
  5.     var container = document.createElement("div"); 
  6.     container.appendChild(el.cloneNode(true)); 
  7.     return container.innerHTML; 
  8.   } 

字符串hash值

  1. function hash(str) { 
  2.   var hash = 5381; 
  3.   var i = str.length; 
  4.   while (i) { 
  5.     hash = (hash * 33) ^ str.charCodeAt(--i); 
  6.   } 
  7.   return hash >>> 0; 
  8. console.log(hash("222sd"));// 164533792 

 

責任編輯:姜華 來源: 前端歷劫之路
相關推薦

2021-04-15 08:15:27

Vue.js源碼方法

2022-03-27 09:06:04

React類型定義前端

2021-03-09 09:55:02

Vuejs前端代碼

2021-05-08 06:14:28

Vue.js片段開發(fā)

2016-01-18 10:06:05

編程

2020-02-22 15:01:51

后端前端開發(fā)

2020-04-01 08:40:44

Vue.jsweb開發(fā)

2016-09-21 13:32:13

JavascriptWeb前端

2021-03-13 11:23:51

源碼邏輯框架

2020-09-25 06:32:25

前端

2020-12-31 10:47:03

開發(fā)Vuejs技術

2021-10-25 05:43:40

前端技術編程

2020-06-01 14:02:25

Vue.js框架模板

2016-09-21 12:56:31

JavascriptWeb前端

2017-08-30 17:10:43

前端JavascriptVue.js

2020-10-27 08:07:17

Vue.js

2020-06-14 15:09:00

JavaScript開發(fā)技術

2024-04-12 08:54:13

從庫數(shù)據(jù)庫應用

2021-07-28 07:01:09

薅羊毛架構Vue+SSR

2022-12-01 17:13:44

點贊
收藏

51CTO技術棧公眾號

午夜小视频在线观看| 中文字幕永久免费视频| 久本草在线中文字幕亚洲| 岛国av一区二区| 亚洲永久激情精品| 人妻无码一区二区三区久久99| 丝袜诱惑亚洲看片| 欧美黑人视频一区| 免费在线观看污| 一区中文字幕电影| 欧美视频一区二区在线观看| 大陆av在线播放| 午夜视频在线观看免费视频| 成人国产精品视频| 国产欧美中文字幕| 亚洲午夜18毛片在线看| 真实国产乱子伦精品一区二区三区| 日韩av在线电影网| aaaaaaaa毛片| 久久av影院| 精品久久香蕉国产线看观看gif| 亚洲国产一区二区三区在线播| 国产成人自拍一区| 黄色日韩网站视频| 国产精品第3页| 日本熟妇色xxxxx日本免费看| 日韩电影在线视频| 亚洲美女在线视频| 天天躁日日躁狠狠躁av| 热久久久久久| 色狠狠一区二区| 每日在线观看av| 综合图区亚洲| 亚洲欧洲美洲综合色网| 日本一区免费观看| 完全免费av在线播放| 男人亚洲天堂| 91福利在线导航| 久久久久久久中文| 狂野欧美激情性xxxx欧美| 亚洲三级在线免费观看| 日韩高清国产一区在线观看| 日本一卡二卡四卡精品| 不卡在线视频中文字幕| 粉嫩高清一区二区三区精品视频 | 亚洲一区综合| 亚洲s色大片| 国产精品久久久久一区二区三区共 | 综合国产在线| 色七七影院综合| 一级性生活毛片| 亚洲涩涩av| 亚洲欧美制服第一页| 久久久午夜精品福利内容| 国产图片一区| 亚洲精品久久久久久久久久久| 动漫av在线免费观看| 97品白浆高清久久久久久| 精品少妇一区二区三区在线视频| 国产精品一级无码| www.亚洲一二| 亚洲国产精彩中文乱码av在线播放 | 亚洲欧美清纯在线制服| 韩剧1988免费观看全集| 国产 日韩 欧美 成人| 精品动漫3d一区二区三区免费| 欧美激情在线观看视频| 日韩欧美亚洲视频| 久久一区精品| 国产精品美女久久| 91资源在线视频| 国产精品一品二品| 国产精品有限公司| 伦理片一区二区三区| 亚洲国产精品成人久久综合一区| 亚洲午夜精品久久| 污片在线免费观看| 欧美性xxxxxx| 亚洲国产成人va在线观看麻豆| 麻豆精品一区| 日韩精品福利在线| 1024手机在线观看你懂的| 一区二区三区毛片免费| 久久久久久国产三级电影| 在线免费黄色av| 久久69国产一区二区蜜臀| 91嫩草在线| 美国一级片在线免费观看视频 | youjizz在线视频| 免费看精品久久片| 国产日韩一区二区| 1024免费在线视频| 夜色激情一区二区| www日韩在线观看| 深夜激情久久| 国产一区二区日韩精品欧美精品| 国产盗摄一区二区三区在线| 国产亚洲一级| 2019国产精品视频| 国产中文字幕在线看| 亚洲精品一二三区| 老熟妇仑乱视频一区二区| 深夜福利一区二区三区| 国产一区二区三区免费视频| 久久人人爽人人爽人人| 蜜桃免费网站一区二区三区 | 欧美人与牛zoz0性行为| 久久久成人精品| 天天操夜夜操视频| 国产精品一级片在线观看| 日本视频一区在线观看| 超黄网站在线观看| 欧美老年两性高潮| 亚洲国产av一区| 在线观看的日韩av| 91免费在线视频网站| 欧美日韩在线中文字幕| 一二三区精品视频| 一起操在线视频| 精品日韩在线| 9.1国产丝袜在线观看 | 亚洲视频视频在线| 日本免费一二三区| 国产一区二区免费看| 日本在线播放不卡| 周于希免费高清在线观看| 精品嫩草影院久久| 国产精品嫩草影院俄罗斯| 日日摸夜夜添夜夜添国产精品| 亚洲自拍偷拍福利| 黄色在线免费| 欧美日本免费一区二区三区| 少妇精品一区二区三区| 亚洲理论在线| 国产精品播放| 蜜臀av国内免费精品久久久夜夜| 91精品中文字幕一区二区三区| 日韩影视一区二区三区| 视频一区二区三区中文字幕| 精品欧美一区二区久久久伦| heyzo在线| 欧美不卡一区二区三区| 欧美成人一二三区| 国产乱码精品一区二区三| 综合久久国产| 在线免费成人| 久热精品视频在线观看| 99久久精品日本一区二区免费 | 欧美激情亚洲综合| 99久久国产综合精品色伊| 无码熟妇人妻av在线电影| 97视频一区| 午夜精品在线视频| 无码h黄肉3d动漫在线观看| 五月激情综合色| 日韩人妻无码一区二区三区| 久久亚洲精品伦理| 午夜午夜精品一区二区三区文| 日韩高清成人| 一区三区二区视频| 亚洲视频在线免费播放| 1000精品久久久久久久久| 欧美精品 - 色网| 欧美成人嫩草网站| 国内精品国语自产拍在线观看| 深夜在线视频| 中文字幕精品一区久久久久| 亚洲在线观看av| 亚洲最大成人综合| 50一60岁老妇女毛片| 性欧美videos另类喷潮| 日本一区二区精品视频| 欧美v亚洲v综合v国产v仙踪林| 久久精品国产2020观看福利| 亚洲高清精品视频| 丁香五六月婷婷久久激情| 调教驯服丰满美艳麻麻在线视频| 精品一区二区三区免费播放| 又大又硬又爽免费视频| 国产精品嫩模av在线| 91精品在线看| 国产在线看片免费视频在线观看| 国产亚洲精品久久久久久777| 91精品国产乱码久久久久| 亚洲一区视频在线| 一区二区精品免费| 国产精品99久久久久| 成 年 人 黄 色 大 片大 全| blacked蜜桃精品一区| 91在线短视频| 免费观看亚洲| 久久伊人免费视频| 亚洲 欧美 激情 另类| 欧美久久婷婷综合色| 五月天婷婷综合网| 国产精品久久看| 国产中文字幕一区二区| 美女任你摸久久| 国产原创中文在线观看| 999久久久国产精品| 国产精品视频免费一区| 黄色欧美视频| 97国产精品免费视频| 免费不卡视频| 亚洲色图综合久久| 精品国产九九九| 欧美综合欧美视频| 特一级黄色大片| 亚洲欧美欧美一区二区三区| 李宗瑞91在线正在播放| 成人99免费视频| 91日韩精品视频| 蜜桃伊人久久| 久久久亚洲精品无码| 一本一道久久a久久精品蜜桃| 欧美中文娱乐网| 欧美三级自拍| 成人9ⅰ免费影视网站| 四虎国产精品成人免费影视| 国产成人精品久久二区二区91| 俺来俺也去www色在线观看| 精品国产一区二区三区四区在线观看 | 国产成人精品一区二区三区视频 | 极品盗摄国产盗摄合集| 中文成人综合网| 免费在线观看成年人视频| 成人在线视频一区| 青青草精品在线| 国产中文字幕精品| 午夜一区二区视频| 美美哒免费高清在线观看视频一区二区 | 天天干,天天操,天天射| 欧美日韩黄视频| 成人公开免费视频| 黑人狂躁日本妞一区二区三区 | 蜜臀av一区二区三区| 无码aⅴ精品一区二区三区浪潮| 国产精品v欧美精品v日本精品动漫| 亚洲精品中字| 精品av一区二区| 欧美裸体网站| 欧美激情在线精品一区二区三区| 国产精品美女久久久久av福利| 少妇精品在线| 国产欧美亚洲日本| 国产精品tv| 韩国一区二区三区美女美女秀| 精品综合久久88少妇激情| 成人免费观看网站| 久久97精品| 久久久久久欧美精品色一二三四| 欧美日韩精品一区二区三区在线观看| 国产精品久久久久久久久婷婷| 999久久久精品一区二区| 99久热re在线精品996热视频| 69精品国产久热在线观看| 国产欧美亚洲日本| 亚洲动漫精品| 欧美三级华人主播| 日韩亚洲一区在线| 中国老女人av| 精品99视频| 亚洲国产精品久久久久爰色欲| 日日噜噜夜夜狠狠视频欧美人| 国产精品v日韩精品v在线观看| 激情六月婷婷久久| 免费观看一区二区三区| 97久久人人超碰| 日本免费www| 亚洲综合免费观看高清完整版| 国产精品1234区| 欧美视频专区一二在线观看| 中文字幕欧美人妻精品| 91精品国产综合久久婷婷香蕉 | 中文欧美在线视频| av网址在线| 777777777亚洲妇女| 福利一区和二区| 999国内精品视频在线| 日本精品影院| 国产a级片免费看| 制服诱惑一区二区| 性生活免费在线观看| 粉嫩在线一区二区三区视频| 国产精品无码一区二区三区| 成人欧美一区二区三区| 日本少妇激情视频| 欧美日韩久久久一区| 日韩一级片免费看| 日韩最新中文字幕电影免费看| 成人福利电影| 国产精品成人免费视频| 国产成人澳门| 永久免费精品视频网站| 亚洲国产婷婷| 中文字幕在线观看日 | 免费日韩电影在线观看| 婷婷综合伊人| 国产第一页视频| 国产成人亚洲综合a∨猫咪| 国产又大又粗又爽的毛片| 一区二区三区日韩精品视频| 国产99久久久久久免费看| 精品sm捆绑视频| 免费大片在线观看www| 日本道色综合久久影院| a看欧美黄色女同性恋| 亚洲日本无吗高清不卡| 欧美亚洲三区| 特级特黄刘亦菲aaa级| 中文字幕一区不卡| 日日夜夜狠狠操| 亚洲国产免费av| 色www永久免费视频首页在线| 国产精品视频色| 亚洲精品国产动漫| 国产 日韩 亚洲 欧美| 国产一区二区三区在线观看免费视频 | 国产免费无遮挡| 亚洲性线免费观看视频成熟| av资源在线| 99在线影院| 伊人久久大香线| 午夜国产福利在线观看| 欧美极品aⅴ影院| 亚洲毛片一区二区三区| 亚洲福利精品在线| 污视频免费在线观看| 亚洲aa在线观看| 天天综合久久| mm131国产精品| 中文字幕在线一区免费| 中文字幕人妻色偷偷久久| 国产亚洲欧美一区| 日韩电影av| 日韩精品久久一区二区三区| 国产一区二区三区的电影 | 91高清在线免费观看| 88久久精品| 91免费黄视频| www.欧美色图| 日本在线视频中文字幕| 亚洲第五色综合网| 538视频在线| 久久久综合香蕉尹人综合网| 99精品免费网| 中文人妻一区二区三区| 欧美视频一区二区三区…| 国产在线观看免费| 国产精品青草久久久久福利99| 欧美限制电影| 欧美成人福利在线观看| 亚洲美女淫视频| 亚洲不卡免费视频| 性金发美女69hd大尺寸| 日韩伦理一区二区三区| 国产免费人做人爱午夜视频| 国产日韩欧美麻豆| 国产一区二区三区成人| 九九久久国产精品| 美女一区2区| 成年人网站大全| 国产精品久久久久久久蜜臀| 国产日韩精品suv| 欧美激情视频免费观看| 一本色道久久综合亚洲精品酒店| 精品视频无码一区二区三区| 国产精品久久国产精麻豆99网站| 国产欧美一区二区三区视频在线观看| 欧美精品在线视频观看| 日韩av三区| 日本激情综合网| 一区二区在线免费| 男人天堂亚洲二区| 成人福利在线观看| 夜夜精品视频| 亚洲综合欧美综合| 日韩欧美在线一区二区三区| 一二三四视频在线中文| 先锋影音亚洲资源| 成人综合在线视频| 日本a级c片免费看三区| 久久中文精品视频| 香蕉视频一区| 亚洲一二三av| 日韩欧美一区二区三区久久| 日本美女在线中文版| 精品久久久三级| 久久国产精品99久久人人澡| 日本少妇激情舌吻| zzjj国产精品一区二区| 天天躁日日躁狠狠躁欧美| 九一精品久久久| 欧美日韩美女在线观看| 成人毛片av在线| 欧美日韩高清在线一区| 成人丝袜高跟foot| 一区二区日韩在线观看| 亚州成人av在线| 你懂的一区二区|