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

這些 JavaScript函數讓你的工作更加 So Easy!

開發 前端
你是否有一個DDL,它每n分鐘顯示一天的時間?用這個函數。

[[384757]]

本文已經過原作者 YoussefZidan 授權翻譯。

randomNumber()

獲取指定區間的隨機數。

  1. ** 
  2.  * 在最小值和最大值之間生成隨機整數。 
  3.  * @param {number} min Min number 
  4.  * @param {number} max Max Number 
  5.  */ 
  6. export const randomNumber = (min = 0, max = 1000) => 
  7.   Math.ceil(min + Math.random() * (max - min)); 
  8.  
  9. // Example 
  10. console.log(randomNumber()); // 97  

capitalize()

將字符串的第一個字母變為大寫。

  1. /** 
  2.  * Capitalize Strings. 
  3.  * @param {string} s String that will be Capitalized 
  4.  */ 
  5. export const capitalize = (s) => { 
  6.   if (typeof s !== "string"return ""
  7.   return s.charAt(0).toUpperCase() + s.slice(1); 
  8.  
  9. // Example 
  10. console.log(capitalize("cat")); // Cat 

truncate();

這對于長字符串很有用,特別是在表內部。

  1. /** 
  2.  * 截斷字符串.... 
  3.  * @param {string} 要截斷的文本字符串 
  4.  * @param {number} 截斷的長度 
  5.  */ 
  6. export const truncate = (text, num = 10) => { 
  7.   if (text.length > num) { 
  8.     return `${text.substring(0, num - 3)}...` 
  9.   } 
  10.   return text; 
  11.  
  12. // Example 
  13. console.log(truncate("this is some long string to be truncated"));   
  14.  
  15. // this is...  

toTop();

滾到到底部,可以通過 behavior 屬性指定滾動速度狀態。

  1. /** 
  2.  * Scroll to top 
  3.  */ 
  4. export const toTop = () => { 
  5.   window.scroll({ top: 0, left: 0, behavior: "smooth" }); 
  6. };  

softDeepClone()

這個方法是經常被用到的,因為有了它,我們可以深度克隆嵌套數組或對象。

不過,這個函數不能與new Date()、NaN、undefined、function、Number、Infinity等數據類型一起工作。

你想深度克隆上述數據類型,可以使用 lodash 中的 cloneDeep() 函數。

  1. /** 
  2.  * Deep cloning inputs 
  3.  * @param {any} input Input 
  4.  */ 
  5. export const softDeepClone= (input) => JSON.parse(JSON.stringify(input)); 

appendURLParams() & getURLParams()

快速添加和獲取查詢字符串的方法,我通常使用它們將分頁元數據存儲到url。

  1. /** 
  2.  * Appen query string and return the value in a query string format. 
  3.  * @param {string} key 
  4.  * @param {string} value 
  5.  */ 
  6. export const appendURLParams = (key, value) => { 
  7.   const searchParams = new URLSearchParams(window.location.search).set(key, value); 
  8.   return searchParams.toString(); 
  9. }; 
  10.  
  11. // example 
  12. console.log(appendURLParams("name""youssef")) // name=youssef 
  13.  
  14. /** 
  15.  * Get param name from URL. 
  16.  * @param {string} name 
  17.  */ 
  18. export const getURLParams = (name) => new URLSearchParams(window.location.search).get(name); 
  19.  
  20. // Example 
  21. console.log(getURLParams(id)) // 5 

getInnerHTML()

每當服務器返回一串HTML元素時,我都會使用它。

  1. /** 
  2.  * 獲取HTML字符串的內部Text 
  3.  * @param {string} str A string of HTML 
  4.  */ 
  5. export const getInnerHTML = (str) => str.replace(/(<([^>]+)>)/gi, ""); 

scrollToHide()

上滾動以顯示HTML元素,向下滾動以將其隱藏。

  1. /** 
  2.  * 下滾動時隱藏HTML元素。 
  3.  * @param {string} 元素的 id 
  4.  * @param {string} distance in px ex: "100px" 
  5.  */ 
  6. export const scrollToHide = (id, distance) => { 
  7.   let prevScrollpos = window.pageYOffset; 
  8.   window.onscroll = () => { 
  9.     const currentScrollPos = window.pageYOffset; 
  10.     if (prevScrollpos > currentScrollPos) { 
  11.       document.getElementById(id).style.transform = `translateY(${distance})`; 
  12.     } else { 
  13.       document.getElementById(id).style.transform = `translateY(-${distance})`; 
  14.     } 
  15.     prevScrollpos = currentScrollPos; 
  16.   }; 
  17. }; 

humanFileSize ()

傳入字節為單位的文件,返回我們日常所熟悉的單位。

  1. /** 
  2.  * Converting Bytes to Readable Human File Sizes. 
  3.  * @param {number} bytes Bytes in Number 
  4.  */ 
  5. export const humanFileSize = (bytes) => { 
  6.   let BYTES = bytes; 
  7.   const thresh = 1024; 
  8.  
  9.   if (Math.abs(BYTES) < thresh) { 
  10.     return `${BYTES} B`; 
  11.   } 
  12.  
  13.   const units = ["kB""MB""GB""TB""PB""EB""ZB""YB"]; 
  14.  
  15.   let u = -1; 
  16.   const r = 10 ** 1; 
  17.  
  18.   do { 
  19.     BYTES /= thresh; 
  20.     u += 1; 
  21.   } while (Math.round(Math.abs(BYTES) * r) / r >= thresh && u < units.length - 1); 
  22.  
  23.   return `${BYTES.toFixed(1)} ${units[u]}`; 
  24. }; 
  25.  
  26. // Example 
  27. console.log(humanFileSize(456465465)); // 456.5 MB 

getTimes()

你是否有一個DDL,它每n分鐘顯示一天的時間?用這個函數。

  1. /** 
  2.  * Getting an Array of Times + "AM" or "PM"
  3.  * @param {number} minutesInterval 
  4.  * @param {number} startTime  
  5.  */ 
  6. export const getTimes = (minutesInterval = 15, startTime = 60) => { 
  7.   const times = []; // time array 
  8.   const x = minutesInterval; // minutes interval 
  9.   let tt = startTime; // start time 
  10.   const ap = ["AM""PM"]; // AM-PM 
  11.  
  12.   // loop to increment the time and push results in array 
  13.   for (let i = 0; tt < 24 * 60; i += 1) { 
  14.     const hh = Math.floor(tt / 60); // getting hours of day in 0-24 format 
  15.     const mm = tt % 60; // getting minutes of the hour in 0-55 format 
  16.     times[i] = `${`${hh === 12 ? 12 : hh % 12}`.slice(-2)}:${`0${mm}`.slice(-2)} ${ 
  17.       ap[Math.floor(hh / 12)] 
  18.     }`; // pushing data in array in [00:00 - 12:00 AM/PM format] 
  19.     tt += x; 
  20.   } 
  21.   return times; 
  22. }; 
  23.  
  24. // Example 
  25. console.log(getTimes()); 
  26. /* [ 
  27.     "1:00 AM"
  28.     "1:15 AM"
  29.     "1:30 AM"
  30.     "1:45 AM"
  31.     "2:00 AM"
  32.     "2:15 AM"
  33.     "2:30 AM"
  34.     // .... 
  35.     ] 
  36. */  

setLocalItem() & getLocalItem()

讓 LocalStorage 具有過期時間。

  1. /** 
  2.  * Caching values with expiry date to the LocalHost. 
  3.  * @param {string} key Local Storage Key 
  4.  * @param {any} value Local Storage Value 
  5.  * @param {number} ttl Time to live (Expiry Date in MS) 
  6.  */ 
  7. export const setLocalItem = (key, value, ttl = duration.month) => { 
  8.   const now = new Date(); 
  9.   // `item` is an object which contains the original value 
  10.   // as well as the time when it's supposed to expire 
  11.   const item = { 
  12.     value, 
  13.     expiry: now.getTime() + ttl, 
  14.   }; 
  15.   localStorage.setItem(key, JSON.stringify(item)); 
  16. }; 
  17.  
  18. /** 
  19.  * Getting values with expiry date from LocalHost that stored with `setLocalItem`. 
  20.  * @param {string} key Local Storage Key 
  21.  */ 
  22. export const getLocalItem = (key) => { 
  23.   const itemStr = localStorage.getItem(key); 
  24.   // if the item doesn't exist, return null 
  25.   if (!itemStr) { 
  26.     return null
  27.   } 
  28.   const item = JSON.parse(itemStr); 
  29.   const now = new Date(); 
  30.   // compare the expiry time of the item with the current time 
  31.   if (now.getTime() > item.expiry) { 
  32.     // If the item is expired, delete the item from storage 
  33.     // and return null 
  34.     localStorage.removeItem(key); 
  35.     return null
  36.   } 
  37.   return item.value; 
  38. };  

formatNumber()

  1. /** 
  2.  * Format numbers with separators. 
  3.  * @param {number} num 
  4.  */ 
  5. export const formatNumber = (num) => num.toLocaleString(); 
  6.  
  7. // Example 
  8. console.log(formatNumber(78899985)); // 78,899,985 

我們還可以添加其他選項來獲取其他數字格式,如貨幣、距離、權重等。

  1. export const toEGPCurrency = (num) => 
  2.   num.toLocaleString("ar-EG", { style: "currency", currency: "EGP" }); 
  3.  
  4. export const toUSDCurrency = (num) => 
  5.   num.toLocaleString("en-US", { style: "currency", currency: "USD" }); 
  6.  
  7. console.log(toUSDCurrency(78899985)); // $78,899,985.00 
  8. console.log(toEGPCurrency(78899985)); // ٧٨٬٨٩٩٬٩٨٥٫٠٠ ج.م. 

toFormData()

每當我需要向服務器發送文件時,我就使用這個函數。

  1. /** 
  2.  * Convert Objects to Form Data Format. 
  3.  * @param {object} obj 
  4.  */ 
  5. export const toFormData = (obj) => { 
  6.   const formBody = new FormData(); 
  7.   Object.keys(obj).forEach((key) => { 
  8.     formBody.append(key, obj[key]) 
  9.   }) 
  10.    
  11.   return formBody; 

getScreenWidth()

獲取一個表示屏幕寬度的字符串。

  1. /** 
  2.  * Detect screen width and returns a string representing the width of the screen. 
  3.  */ 
  4. export const getScreenWidth = () => { 
  5.   const screenWidth = window.screen.width; 
  6.   if (screenWidth <= 425) return "mobile"
  7.   if (screenWidth <= 768) return "tablet"
  8.   if (screenWidth <= 1024) return "laptopSm"
  9.   if (screenWidth <= 1440) return "laptopLg"
  10.   if (screenWidth <= 2560) return "HD"
  11.   return screenWidth; 
  12. };  

檢查數組中的每個元素是否存在于另一個數組中。

  1. export const containsAll = (baseArr, arr) => { 
  2.   let all = false
  3.  
  4.   for (let i = 0; i < arr.length; i += 1) { 
  5.     if (baseArr.includes(arr[i])) { 
  6.       all = true
  7.     } else { 
  8.       all = false
  9.       return all
  10.     } 
  11.   } 
  12.  
  13.   return all
  14. }; 

你還有使用其他有用的函數嗎?在評論里分享一下怎么樣?

完~,我是小智,我要去刷碗去了。

作者:YoussefZidan 譯者:前端小智 來源:dev原文:https://dev.to/youssefzidan/javascript-functions-that-will-make-your-life-much-easier-1imh

本文轉載自微信公眾號「大遷世界」,可以通過以下二維碼關注。轉載本文請聯系大遷世界公眾號。

 

責任編輯:武曉燕 來源: 大遷世界
相關推薦

2022-03-18 08:00:48

Chrome工具前端

2015-10-23 15:00:30

數據中心求職

2020-08-12 18:11:02

戴爾

2020-07-06 14:18:25

Linux 系統 數據

2025-03-11 08:30:00

Pythonretrying代碼

2010-09-09 16:39:24

2023-07-04 13:35:00

Monorepos工具管理

2023-07-03 07:55:25

2021-07-01 10:03:55

Distroless容器安全

2024-08-02 10:23:20

2021-09-11 22:51:38

Windows 10Windows微軟

2019-08-28 09:28:07

SSHOpenSSH運維

2013-08-28 10:20:56

2022-09-19 15:02:24

C語言

2012-09-07 09:41:15

Win 8關機

2023-12-08 13:47:29

AI工具ChatGPT

2022-11-07 16:25:07

JavaScript技巧

2020-11-23 09:21:09

開源項目

2018-09-05 21:07:06

數據管理

2015-09-06 10:01:24

點贊
收藏

51CTO技術棧公眾號

日日夜夜精品视频免费观看| 99国产在线视频| 一级黄色片大全| 国产一区二区色噜噜| 国产精品乱子久久久久| 亚洲精品日韩av| 91国产丝袜播放在线| 亚瑟一区二区三区四区| 欧美日韩国产精品自在自线| 国产青草视频在线观看| 欧美日韩激情视频一区二区三区| 蜜桃久久久久久久| 欧美国产日韩在线| 卡一卡二卡三在线观看| 9l视频自拍九色9l视频成人| 日韩欧美中文在线| 在线免费观看成人| 五十路在线视频| 在线日韩电影| 中文字幕亚洲欧美| 2018国产精品| 亚洲www啪成人一区二区| 亚洲三级在线播放| 九九九九九精品| 中国精品一区二区| 午夜精品视频| 国产亚洲视频在线观看| 四虎1515hh.com| 三级在线观看视频| 中文字幕一区日韩精品欧美| 国产一级精品aaaaa看| 无码人妻av一区二区三区波多野| 日韩欧美午夜| 日韩av网址在线| 一级做a免费视频| 日产福利视频在线观看| 一区在线观看视频| 国外成人免费视频| 久久这里只有精品9| 91精品国产自产在线观看永久∴| 日韩女优av电影在线观看| 青青青免费在线| 在线观看免费高清完整| 成人黄色大片在线观看| 国产精品高潮呻吟久久av野狼| 曰本女人与公拘交酡| 久草在线成人| 日韩欧美一区在线| 性猛交ⅹ×××乱大交| 精品国产免费人成网站| 午夜亚洲国产au精品一区二区| 亚洲国产激情一区二区三区| 午夜av免费观看| 成人一区二区三区视频在线观看| 国产精品十八以下禁看| 久久久精品毛片| 99riav国产精品| 欧美精品xxx| 国产色无码精品视频国产| 欧美伦理在线视频| 日韩高清有码在线| 精品人妻伦一二三区久| 久久久久久爱| 欧美精品色一区二区三区| 中文字幕欧美人妻精品一区| h片在线观看视频免费免费| 18涩涩午夜精品.www| 亚洲欧美日产图| 国产女主播在线直播| 26uuu国产日韩综合| 国产精品99久久久久久久| 亚洲天堂男人网| 日韩中文字幕麻豆| 欧美一级片一区| 日韩福利片在线观看| 亚洲视频一二| 韩国精品美女www爽爽爽视频| 国产1区2区3区4区| 综合在线一区| 欧美人与性动交| 欧美高清视频一区二区三区| 欧美精品观看| 久久久久久亚洲精品| 日本天堂在线视频| 精品91在线| 91国产精品电影| 制服.丝袜.亚洲.中文.综合懂色| 在线成人www免费观看视频| 欧美另类极品videosbestfree| 日韩国产第一页| 亚洲国产日韩欧美在线| 久久久久久噜噜噜久久久精品| 91精品国产高清一区二区三蜜臀| 欧美三级免费| 久久久亚洲欧洲日产国码aⅴ| 日韩精品无码一区二区| 一本不卡影院| 国产精品久久久久久av| 这里只有精品9| 国产精品综合一区二区| 丁香婷婷久久久综合精品国产 | 高潮无码精品色欲av午夜福利| 亚洲一区二区动漫| 国产精品91久久久| 一级黄色免费片| 丁香桃色午夜亚洲一区二区三区| 国产在线一区二| 国产视频精选在线| 亚洲欧美国产77777| 免费在线观看视频a| 欧美性猛交xxx高清大费中文| 日韩欧中文字幕| 国产wwwxx| 国产精品成人国产| 日韩一级黄色大片| 在线天堂www在线国语对白| 日韩成人三级| 91精品国产色综合久久不卡98| 中文字幕91爱爱| 粉嫩av一区二区三区在线播放| 欧美极品视频一区二区三区| 黄色免费在线观看| 日韩欧美在线国产| 91精产国品一二三| 不卡中文字幕| 国内精品久久久久久中文字幕| 亚洲中文字幕无码爆乳av| 国产一区二区三区av电影| 久久国产精品一区二区三区| 黄网站免费在线观看| 欧美色视频日本版| 国产又粗又长又爽又黄的视频| 婷婷综合福利| 九九热视频这里只有精品| 久久永久免费视频| 成+人+亚洲+综合天堂| 一本一生久久a久久精品综合蜜| 不卡专区在线| 日韩三级视频在线看| www亚洲色图| 亚洲欧美网站| 国产精品久久一区二区三区| 日本福利专区在线观看| 色av一区二区| 日批视频免费看| 欧美大片专区| 成人激情视频网| xxxxx日韩| 色偷偷一区二区三区| 精品影片一区二区入口| 91成人精品| 国产精品网站视频| 国产午夜在线观看| 色综合天天狠狠| 亚洲黄色在线网站| 亚洲国内欧美| 国产精品视频福利| 污视频网站在线免费| 欧美妇女性影城| 天堂在线中文视频| 丝袜亚洲精品中文字幕一区| 精品亚洲欧美日韩| 日本不卡1234视频| 精品欧美一区二区在线观看| 亚洲人与黑人屁股眼交| 国内精品免费在线观看| 一区二区三区四区在线视频| 色综合一本到久久亚洲91| 亚洲美腿欧美激情另类| 影音先锋在线国产| 久久久久青草大香线综合精品| 3d动漫一区二区三区| 久久综合五月婷婷| 97香蕉久久夜色精品国产| 天天爽夜夜爽夜夜爽| 亚洲v中文字幕| 国产麻豆xxxvideo实拍| 国产模特精品视频久久久久| 精品一卡二卡三卡四卡日本乱码 | 99精品免费在线观看| 亚洲系列另类av| 欧美在线xxx| 免费黄色片在线观看| 91极品视觉盛宴| 人成免费在线视频| 韩国一区二区三区| 9191国产视频| 大奶在线精品| 欧美亚洲第一区| 成人在线观看免费| 91精品免费在线| 欧美精品乱码视频一二专区| 成人免费精品视频| 丝袜老师办公室里做好紧好爽| 亚洲激情播播| 国产精品永久免费观看| 国产福利视频在线观看| 亚洲精品一线二线三线| 久久久午夜影院| 国产欧美日韩麻豆91| 久热精品在线播放| 午夜精品视频| 日本不卡久久| 欧美综合社区国产| 久久久久免费视频| 天天操天天操天天干| 欧美视频在线观看一区| 毛片aaaaa| 久久久久9999亚洲精品| 九九热99视频| 亚洲黄色影院| 三区精品视频观看| 中文字幕日韩高清在线| 国产99久久精品一区二区永久免费 | 亚洲一区二区三区高清视频| 一区二区三区在线免费播放| 久久精品一区二区免费播放 | 精品久久久999| 手机在线观看毛片| 欧美午夜在线观看| 日产欧产va高清| 亚洲青青青在线视频| 日本少妇色视频| 国产精品一区免费在线观看| 99热在线这里只有精品| 91精品一区二区三区综合| 久久久精品动漫| 精品中文视频| 国产精品久久久久久久久借妻| 在线heyzo| 这里只有精品在线观看| 免费观看a视频| 欧美老女人第四色| 中文字幕在线看人| 亚洲曰韩产成在线| 中文国语毛片高清视频| 久久日一线二线三线suv| 伦伦影院午夜理论片| 青青草97国产精品免费观看无弹窗版| 日韩黄色短视频| 亚洲有吗中文字幕| 亚洲精品在线观看免费| 校园春色另类视频| 国产伦精品一区| 成人豆花视频| 成人激情视频网| 成人做爰视频www| 97精品伊人久久久大香线蕉| 免费a级在线播放| 亚洲欧美日韩高清| 人人妻人人玩人人澡人人爽| 欧美一区二区三区影视| 亚洲精品国产精品乱码视色| 色综合天天视频在线观看| 久久久久香蕉视频| 综合中文字幕亚洲| 永久免费未视频| 中文字幕一区二区三区在线观看 | aaa在线播放视频| 久久91精品国产91久久久| 国产精品久久一区二区三区不卡| 日韩精品免费综合视频在线播放| 人人妻人人澡人人爽人人欧美一区 | 草草草视频在线观看| 一区二区三区毛片免费| 亚洲国产精品女人| 一区二区三区四区电影| 欧美黄色免费网址| 国内精品99| 久久久久免费看黄a片app| 亚洲韩日在线| 干日本少妇首页| 久久免费黄色| 免费观看成人在线视频| 亚洲日本成人| 波多野结衣之无限发射| 亚洲人成久久| 天天爱天天操天天干| 麻豆精品一二三| 国产欧美精品一二三| 国产精品自拍毛片| 国产女主播在线播放| 成人a区在线观看| 欧美狂猛xxxxx乱大交3| 国产精品―色哟哟| 日本aⅴ在线观看| 亚洲一区二区三区美女| 欧美一二三区视频| 欧美伊人久久大香线蕉综合69| 中文字幕福利视频| 欧美日韩国产免费| 国产aⅴ一区二区三区| 欧美二区乱c少妇| 欧洲av在线播放| 亚洲人精选亚洲人成在线| 91精彩在线视频| 欧美成人免费全部| 国产高潮在线| 国产成人久久久| 麻豆视频久久| 九九九九九九精品| 五月激情久久久| 国产精品一色哟哟| 日韩中文字幕91| 色姑娘综合天天| 91麻豆国产在线观看| 天天爽天天爽天天爽| 亚洲一区二区三区中文字幕| 日韩欧美视频在线免费观看| 欧美性色视频在线| 亚洲一级片免费看| 精品国产91乱码一区二区三区| 免费资源在线观看| 色综合伊人色综合网站| 第一av在线| 国产一区二区丝袜| 国产劲爆久久| 致1999电视剧免费观看策驰影院| 国内精品久久久久久久影视麻豆| 亚洲不卡视频在线| 99视频在线精品| 99re6热在线精品视频| 婷婷国产在线综合| 91成品人影院| 亚洲视频在线视频| 美女精品视频| 成人黄色免费在线观看| 你懂的视频欧美| 日韩国产成人无码av毛片| 蜜臀国产一区二区三区在线播放 | 国产超碰人人爽人人做人人爱| 欧美精品色综合| 国产二区视频在线观看| 26uuu另类亚洲欧美日本一| 国产日本久久| 久久riav| 天堂网在线观看国产精品| 欧美 国产 日本| www.日本不卡| 国产女人被狂躁到高潮小说| 欧美性高清videossexo| 日本电影一区二区在线观看| 久久久久久中文| 日韩精品一区二区三区中文字幕| 亚洲精品成人a8198a| 新67194成人永久网站| 插我舔内射18免费视频| 亚洲精品日产精品乱码不卡| 91精品人妻一区二区三区果冻| 亚洲色图色老头| 亚洲插插视频| 国产欧美日韩综合一区在线观看| 国产精品啊啊啊| 三上悠亚在线一区二区| 久久久亚洲综合| 亚洲精品国产无码| 亚洲国产一区二区三区四区| 国产盗摄在线视频网站| 3d动漫啪啪精品一区二区免费| 国产精品成人a在线观看| 亚洲国产精品三区| 国产欧美日韩久久| 亚洲一区 中文字幕| 神马久久久久久| 成人在线免费av| 亚洲欧洲日夜超级视频| 免费日本视频一区| 老司机深夜福利网站| 欧美日本一道本在线视频| 亚洲成人三级| 国产日本欧美在线观看| 欧美hd在线| 亚洲成人手机在线观看| 中文字幕在线播放不卡一区| 中文字幕 亚洲视频| 日韩专区中文字幕| 国产精品成人**免费视频| 中文字幕色呦呦| 成人网男人的天堂| 国产成人精品一区二三区| 亚洲精品一区av在线播放| 欧美日韩免费观看视频| 亚洲欧洲精品在线观看| 国产伦理精品不卡| 久久草视频在线| 亚洲乱码国产乱码精品精| 亚洲电影有码| 91社在线播放| 成人三级在线视频| 中文字幕国产在线观看| 这里只有精品视频| 电影中文字幕一区二区| 男女h黄动漫啪啪无遮挡软件| 国产乱码精品一区二区三区av | 国产成人精品av久久| 精品无码久久久久久国产| 日韩三区免费| 久久久无码中文字幕久...| jvid福利写真一区二区三区| 久久久精品免费看|