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

20 個(gè)超級(jí)有用的 JavaScript 技巧,讓你的工作更輕松

開(kāi)發(fā) 前端
今天這篇文章,我將跟大家分享21個(gè)我自己收藏使用的JavaScript技巧,希望今天這篇文章里的內(nèi)容能夠幫助到你,讓你的工作更高效!更輕松!

今天這篇文章,我將跟大家分享21個(gè)我自己收藏使用的JavaScript技巧,希望今天這篇文章里的內(nèi)容能夠幫助到你,讓你的工作更高效!更輕松!

我們現(xiàn)在開(kāi)始吧。

1. 多條件 if 語(yǔ)句

將多個(gè)值放入一個(gè)數(shù)組中,然后調(diào)用該數(shù)組的 include 方法。

// bad
if (x === "abc" || x === "def" || x === "ghi" || x === "jkl") {
//logic
}

// better
if (["abc", "def", "ghi", "jkl"].includes(x)) {
//logic
}

2. 簡(jiǎn)化 if true...else 條件表達(dá)式


// bad
let test: boolean;
if (x > 100) {
test = true;
} else {
test = false;
}

// better
let test = x > 10 ? true : false;
//or
let test = x > 10;

console.log(test);

3. 假值(undefined, null, 0, false, NaN, empty string)檢查

當(dāng)我們創(chuàng)建一個(gè)新變量時(shí),有時(shí)我們想檢查引用的變量是否是一個(gè)假值,例如 null 或 undefined 或空字符串。JavaScript 確實(shí)為這種檢查提供了一個(gè)很好的快捷方式——邏輯 OR 運(yùn)算符 (||)

|| 僅當(dāng)左側(cè)為空或 NaN 或 null 或 undefined 或 false 時(shí),如果左側(cè)操作數(shù)為假,則將返回右側(cè)操作數(shù),邏輯或運(yùn)算符 (||) 將返回右側(cè)的值。


// bad
if (test1 !== null || test1 !== undefined || test1 !== "") {
let test2 = test1;
}

// better
let test2 = test1 || "";

// bad
if (test1 === true) or if (test1 !== "") or if (test1 !== null)

// better
if (test1){
// do some
}else{
// do other
}


//Note: If test1 has a value, the logic after if will be executed.
//This operator is mainly used for null, undefined, and empty string checks.

4. null/undefined 檢查和默認(rèn)賦值

//null checking and default assignmentlet test1 = null;let test2 = test1 ?? "";
console.log("null check", test2); // output empty string ""

//undefined checking and default assignmentconst test = undefined ?? "default";console.log(test);// expected output: "default"

5. 獲取列表中的最后一項(xiàng)

在其他語(yǔ)言中,此功能被制成可以在數(shù)組上調(diào)用的方法或函數(shù),但在 JavaScript 中,你必須自己做一些工作。


let array = [0, 1, 2, 3, 4, 5, 6, 7];
console.log(array.slice(-1)) >>> [7];

console.log(array.slice(-2)) >>> [6, 7];

console.log(array.slice(-3)) >>> [5, 6, 7];

function lastItem(list) {
if (Array.isArray(list)) {
return list.slice(-1)[0];
}

if (list instanceof Set) {
return Array.from(list).slice(-1)[0];
}

if (list instanceof Map) {
return Array.from(list.values()).slice(-1)[0];
}
}

6.比較后返回


// bad
let test;
function checkReturn() {
if (!(test === undefined)) {
return test;
} else {
return callMe("test");
}
}

// better
function checkReturn() {
return test ?? callMe("test");
}

7. 使用可選的鏈接運(yùn)算符 -?。

? 也稱為鏈判斷運(yùn)算,它允許開(kāi)發(fā)人員讀取深度嵌套在對(duì)象鏈中的屬性值,而無(wú)需驗(yàn)證每個(gè)引用,當(dāng)引用為空時(shí),表達(dá)式停止計(jì)算并返回 undefined。


const travelPlans = {
destination: "DC",
monday: {
location: "National Mall",
budget: 200,
},
};

// bad
const res = travelPlans && travelPlans.tuesday && travelPlans.tuesday.location && travelPlans.tuesday.location.href;
console.log(res); // Result: undefined

// better
const res1 = travelPlans?.tuesday?.location?.href;
console.log(res1); // Result: undefined

8. 多個(gè)條件的 && 運(yùn)算符

要僅在變量為真時(shí)調(diào)用函數(shù),請(qǐng)使用 && 運(yùn)算符。


// bad
if (test) {
callMethod();
}

// better
test && callMethod();

當(dāng)你想在 React 中有條件地渲染組件時(shí),這對(duì)于使用 (&&) 進(jìn)行短路很有用。例如:

<div> {this.state.isLoading && <Loading />} </div>

9.開(kāi)關(guān)簡(jiǎn)化

我們可以將條件存儲(chǔ)在鍵值對(duì)象中,并根據(jù)條件調(diào)用它們。


// bad
switch (data) {
case 1:
test1();
break;
case 2:
test2();
break;
case 3:
test();
break;
// And so on...
}

// better
var data = {
1: test1,
2: test2,
3: test,
};

// If type exists in data, execute the corresponding function
data[type] && data[type]();

10.默認(rèn)參數(shù)值


// bad
function add(test1, test2) {
if (test1 === undefined) test1 = 1;
if (test2 === undefined) test2 = 2;
return test1 + test2;
}

// better
add = (test1 = 1, test2 = 2) => test1 + test2;
add(); //output: 3

11. 條件查找簡(jiǎn)化

如果我們想根據(jù)不同的類型調(diào)用不同的方法,我們可以使用多個(gè) else if 語(yǔ)句或開(kāi)關(guān),但是還有比這更好的簡(jiǎn)化技巧嗎?其實(shí)和之前的switch簡(jiǎn)化是一樣的。


// bad
if (type === "test1") {
test1();
} else if (type === "test2") {
test2();
} else if (type === "test3") {
test3();
} else if (type === "test4") {
test4();
} else {
throw new Error("Invalid value " + type);
}

// better
var types = {
test1,
test2,
test3,
test4,
};
types[type] && types[type]();

12. 對(duì)象屬性賦值

let test1 = "a";
let test2 = "b";

// bad
let obj = { test1: test1, test2: test2 };

// better
let obj = { test1, test2 };

13. 解構(gòu)賦值


// bad
const test1 = this.data.test1;
const test2 = this.data.test2;
const test2 = this.data.test3;

// better
const { test1, test2, test3 } = this.data;

14. 模板字符串

如果你厭倦了使用 + 將多個(gè)變量連接成一個(gè)字符串,這個(gè)簡(jiǎn)化技巧會(huì)讓你頭疼。


// bad
const welcome = "Hi " + test1 + " " + test2 + ".";

// better
const welcome = `Hi ${test1} ${test2}`;

15. 跨越字符串

// bad
const data =
"hello maxwell this is a test\n\t" + "test test,test test test test\n\t";

// better
const data = `hello maxwell this is a test
test test,test test test test`;

16. indexOf的按位化簡(jiǎn)

在數(shù)組中查找某個(gè)值時(shí),我們可以使用 indexOf() 方法。但是還有更好的方法,我們來(lái)看這個(gè)例子。

// bad
if (arr.indexOf(item) > -1) {
// item found
}
if (arr.indexOf(item) === -1) {
// item not found
}

// better
if (~arr.indexOf(item)) {
// item found
}
if (!~arr.indexOf(item)) {
// item not found
}


//The bitwise (~) operator will return true (except for -1),
//the reverse operation only requires !~. Alternatively, the includes() function can be used.

if (arr.includes(item)) {
// true if the item found
}

17. 將字符串轉(zhuǎn)換為數(shù)字

有諸如 parseInt 和 parseFloat 等內(nèi)置方法可用于將字符串轉(zhuǎn)換為數(shù)字。我們也可以簡(jiǎn)單地通過(guò)在字符串前面提供一元運(yùn)算符 (+) 來(lái)做到這一點(diǎn)。


// bad
let total = parseInt("583");
let average = parseFloat("32.5");

// better
let total = +"583";
let average = +"32.5";

18. 按順序執(zhí)行 Promise

如果你有一堆異步或普通函數(shù)都返回要求你一個(gè)一個(gè)執(zhí)行它們的Promise怎么辦?

async function getData() {
const promises = [fetch("url1"), fetch("url2"), fetch("url3"), fetch("url4")];
for (const item of promises) {
// Print out the promise
console.log(item);
}

// better
for await (const item of promises) {
// Print out the results of the request
console.log(item);
}
}

等待所有Promiae完成。

Promise.allSettled() 方法接受一組 Promise 實(shí)例作為參數(shù),包裝到一個(gè)新的 Promise 實(shí)例中。在所有這些參數(shù)實(shí)例都返回結(jié)果(已完成或已拒絕)之前,包裝器實(shí)例不會(huì)結(jié)束。

有時(shí)候,我們并不關(guān)心異步請(qǐng)求的結(jié)果,我們只關(guān)心是否所有請(qǐng)求都結(jié)束了。這時(shí)候,Promise.allSettled() 方法就非常有用了。

const promises = [fetch("index.html"), fetch("https://does-not-exist/")];

const results = await Promise.allSettled(promises);

// Filter out successful requests
const successfulPromises = results.filter((p) => p.status === "fulfilled");

// Filter out failed requests and output the reason
const errors = results
.filter((p) => p.status === "rejected")
.map((p) => p.reason);

19.交換數(shù)組元素的位置


// bad
const swapWay = (arr, i, j) => {
const newArr = [...arr];

let temp = newArr[i];

newArr[i] = list[j];
newArr[j] = temp;

return newArr;
};


//Since ES6, swapping values from different locations in an array has become much easier

// better
const swapWay = (arr, i, j) => {
const newArr = [...arr];

const [newArr[j],newArr[i]] = [newArr[i],newArr[j]];

return newArr;
};

20. 帶范圍的隨機(jī)數(shù)生成器

有時(shí)你需要生成隨機(jī)數(shù),但又希望數(shù)字在一定范圍內(nèi),則可以使用此工具。

function randomNumber(max = 1, min = 0) {
if (min >= max) {
return max;
}

return Math.floor(Math.random() * (max - min) + min);
}

生成隨機(jī)顏色

function getRandomColor() {
const colorAngle = Math.floor(Math.random() * 360);
return `hsla(${colorAngle},100%,50%,1)`;
}

到這里,我要跟你分享的20 個(gè) JavaScript 的小技巧就結(jié)束了,希望這些小技巧對(duì)你有用。

寫在最后

在前面我也跟大家分享過(guò)很多這樣的小技巧,不知道大家是否學(xué)會(huì)了沒(méi)有?如果你沒(méi)有學(xué)會(huì)的話,請(qǐng)記得多看看,暫時(shí)用不上的一些技巧,可以自行收藏起來(lái)。

同時(shí),也要整理一份屬于自己的使用技巧筆記。

如果你覺(jué)得我今天跟你分享的內(nèi)容有幫助的話,請(qǐng)記得點(diǎn)贊我,關(guān)注我,并將其分享給你的開(kāi)發(fā)者朋友,也許能夠幫助到他。

以上就是我今天跟你分享的全部?jī)?nèi)容,感謝你的閱讀,編程愉快!

責(zé)任編輯:華軒 來(lái)源: web前端開(kāi)發(fā)
相關(guān)推薦

2011-07-19 10:16:55

2023-06-28 00:02:40

2023-07-18 07:56:31

工具reduce業(yè)務(wù)

2023-06-29 15:08:21

JavaScrip開(kāi)發(fā)

2024-09-18 15:58:05

2010-12-23 15:55:00

上網(wǎng)行為管理

2022-10-18 16:35:51

JavaScrip數(shù)組參數(shù)

2023-07-04 13:35:00

Monorepos工具管理

2024-10-11 13:17:16

Linux命令行快捷導(dǎo)航

2023-06-02 15:53:38

工具Python開(kāi)發(fā)

2011-04-02 10:13:36

Linux系統(tǒng)管理

2022-12-22 14:44:06

JavaScript技巧

2022-12-25 16:03:31

JavaScript技巧

2019-11-25 10:20:54

CSS代碼javascript

2015-11-05 08:59:19

編程Visual Stud擴(kuò)展

2023-12-28 10:01:05

ChatGPT技巧信息

2023-05-30 15:11:16

JavaScrip開(kāi)發(fā)功能

2022-12-19 15:23:51

JavaScrip開(kāi)發(fā)語(yǔ)言

2023-08-18 15:12:00

JavaScript開(kāi)發(fā)

2019-12-23 10:07:45

邊緣計(jì)算5G云計(jì)算
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

日韩二区三区四区| 粉嫩的18在线观看极品精品| 国产欧美日韩久久| 国产在线精品成人一区二区三区| 疯狂试爱三2浴室激情视频| 国产麻豆一区二区三区| 午夜激情一区二区| 日韩少妇中文字幕| 男人的天堂a在线| 日本免费在线视频不卡一不卡二| 亚洲国产一区二区三区四区| 欧美视频在线免费播放| 三区四区电影在线观看| 成人小视频在线| 国产精品直播网红| 国产污污视频在线观看| 91精品久久久久久久久久不卡| 亚洲高清一区二| 天天干天天色天天干| 日韩脚交footjobhd| 伊人一区二区三区| 日韩久久久久久久| 亚洲欧洲视频在线观看| 国产福利一区二区三区视频在线 | 亚洲一区二区久久| 韩国三级视频在线观看| 中文字幕日韩亚洲| 欧美在线视频全部完| 欧美视频在线观看网站| 在线观看小视频| 国产精品久久久久影院亚瑟| 麻豆成人在线播放| 天天爱天天干天天操| 国产乱人伦偷精品视频免下载 | 婷婷综合国产| 在线成人高清不卡| 爱爱爱爱免费视频| 99久久婷婷国产综合精品首页 | 国产精品蜜臀在线观看| 欧美精品v日韩精品v国产精品| 好吊视频一区二区三区| 国产乱人乱偷精品视频a人人澡| 亚洲区小说区| 日韩成人av网| 亚洲综合自拍网| 成人高潮a毛片免费观看网站| 555夜色666亚洲国产免| 亚洲视频第二页| 久久人体av| 欧美浪妇xxxx高跟鞋交| 91小视频网站| 日本久久一区| 欧美精品色一区二区三区| 污污网站免费看| 欧洲亚洲精品久久久久| 欧美日韩精品福利| 九九热免费在线观看| 色8久久久久| 欧美中文字幕一区二区三区| 噼里啪啦国语在线观看免费版高清版| 欧美人体一区二区三区| 在线观看日韩高清av| 亚洲第一中文av| 欧美黄页在线免费观看| 91麻豆精品久久久久蜜臀| 午夜免费一级片| 日韩一区二区三区在线看| 精品国产露脸精彩对白 | 免费看一级视频| 久久综合导航| 国产欧美精品va在线观看| 国产精品无码久久av| 粉嫩av一区二区三区| 精选一区二区三区四区五区| 男操女在线观看| 中文在线一区二区| 日本一区二区免费高清视频| 女同一区二区免费aⅴ| 精品国产电影一区| 中文久久久久久| 国产一区二区三区亚洲综合| 精品国产sm最大网站| 亚欧洲乱码视频| 婷婷丁香综合| 97国产成人精品视频| 无码人妻av免费一区二区三区 | 大片免费在线看视频| 亚洲精品大片www| 男人操女人逼免费视频| 久久三级毛片| 日韩福利在线播放| 潘金莲一级黄色片| 国产精品夜夜夜| 成人福利在线视频| 污视频网站在线播放| 欧美国产视频在线| 国产精品69久久久| 欧洲亚洲精品| 日韩精品久久久久| 四虎精品免费视频| 日日夜夜一区二区| 国产高清在线一区| 青青青青在线| 色域天天综合网| 中文字幕在线播放一区二区| 国产欧美日韩视频在线| 欧美精品成人在线| 亚洲在线观看av| www一区二区| 成人午夜视频免费观看| 亚洲成人va| 亚洲国模精品一区| 欧美三级小视频| 免费人成网站在线观看欧美高清| 国产v亚洲v天堂无码| 在线观看免费高清完整| 日韩欧美一区二区三区| 精品国产aⅴ一区二区三区东京热| 国内成人自拍| 国产91精品久久久久| 国产高潮在线观看| 国产精品欧美极品| www黄色在线| 日韩精品丝袜美腿| 久久久久久香蕉网| 国产www免费观看| 亚洲欧美中日韩| 好男人www社区| 小嫩嫩12欧美| 97成人精品区在线播放| 黄频网站在线观看| 亚洲精品国产a| 五月天六月丁香| 偷拍欧美精品| 成人免费网站在线看| 网友自拍视频在线| 欧美色国产精品| 影音先锋制服丝袜| 日韩va亚洲va欧美va久久| 久久精品第九区免费观看| 波多野结衣久久| 精品久久久久久无| 久久久久久久蜜桃| 国产成人99久久亚洲综合精品| 正义之心1992免费观看全集完整版| 亚洲www免费| 国产一区二区精品丝袜| 欧美性猛交xxxx乱大交hd| 久久久国际精品| 50路60路老熟妇啪啪| 亚洲资源网你懂的| 日本人成精品视频在线| 极品美乳网红视频免费在线观看 | 欧美成人免费大片| xxxx国产精品| 亚洲第一福利视频在线| 你懂得在线视频| 国产精品日韩久久久| 欧美午夜精品伦理| 国产高清视频网站| 日韩在线观看| 成人福利免费观看| 91在线视频国产| 中文字幕有码无码人妻av蜜桃| 亚洲欧洲高清| 欧美最猛黑人xxxxx猛交| 无码国产69精品久久久久同性| 亚洲欧美日本日韩| 午夜精品一区二区在线观看| 成人国产激情在线| www日韩欧美| 日本人妻伦在线中文字幕| 樱花草涩涩www在线播放| 日韩精品免费视频| 91在线视频免费播放| 国产精品拍天天在线| 国产老头和老头xxxx×| 一本色道88久久加勒比精品| 欧美精品v日韩精品v国产精品| 亚洲成人va| 欧美成人自拍视频| 日本激情一区二区三区| 日本精品免费观看高清观看| 国产又粗又猛又爽又黄的视频四季| 久久精品国产亚洲高清剧情介绍| 老司机午夜网站| 亚洲第一福利社区| 成人国产精品av| 色老头在线一区二区三区| 最新91在线视频| 日韩在线视频免费| 欧美日韩视频在线一区二区 | 一区二区三区在线不卡| 在线观看国产网站| 国内精品视频666| 日韩少妇内射免费播放18禁裸乳| 日韩在线高清| 久久一区二区三区av| 精品国产亚洲一区二区三区大结局| 97久久精品人搡人人玩| 日本在线免费中文字幕| 亚洲精品久久久久久久久久久久久| 中国一级片黄色一级片黄| 亚洲一区二区三区四区五区黄 | 亚洲免费在线播放| 波多野结衣福利| 国产福利精品导航| 久热精品在线播放| 亚洲女优在线| 黄色一级片黄色| 99久久www免费| 欧洲亚洲一区二区| 国产精品午夜av| 91久久久久久久久| 亚洲天堂一区二区| 91chinesevideo永久地址| 91中文在线| www亚洲精品| av免费在线一区二区三区| 日韩av在线一区二区| 精品人妻伦一区二区三区久久| 91福利视频网站| 在线观看国产亚洲| 亚洲国产婷婷综合在线精品| 色欲人妻综合网| 国产精品久久777777| 精品成人无码一区二区三区| 久久亚洲影视婷婷| 国产乱了高清露脸对白| 国产精品亚洲一区二区三区在线 | 手机看片久久久| 亚洲福利国产精品| 国产精彩视频在线观看| 洋洋av久久久久久久一区| 最新av电影网站| ㊣最新国产の精品bt伙计久久| 亚洲一区二区自偷自拍| 久久精品这里都是精品| 大又大又粗又硬又爽少妇毛片| www..com久久爱| 亚洲熟女一区二区| av亚洲精华国产精华精| 亚洲第一黄色网址| 91亚洲精品久久久蜜桃| 亚洲一区二区三区四区五区六区| 99视频超级精品| 精品无码国产一区二区三区51安| 国产 日韩 欧美大片| 91精产国品一二三| 高清不卡在线观看| 国产情侣久久久久aⅴ免费| 懂色一区二区三区免费观看| 亚洲一级Av无码毛片久久精品| 国产成人综合精品三级| 无码av免费精品一区二区三区| 成人黄色综合网站| 538国产视频| 国产人成一区二区三区影院| 伊人影院综合网| 136国产福利精品导航| 国产精品成人免费观看| 亚洲福利视频一区二区| 久久99国产综合精品免费| 色狠狠一区二区| 91福利免费视频| 日韩欧美电影一二三| 天堂av中文字幕| 国产小视频91| 91网在线看| 91产国在线观看动作片喷水| 欧美三区四区| 亚洲japanese制服美女| 里番精品3d一二三区| 日本高清不卡一区二区三| 999成人网| 欧美久久在线观看| 日韩中文字幕区一区有砖一区 | 少妇高潮毛片色欲ava片| 日韩综合在线视频| 日韩视频在线观看一区二区三区| 成人中文字幕合集| 蜜桃无码一区二区三区| 亚洲三级小视频| 日韩xxxxxxxxx| 欧美综合一区二区| 精品人妻无码一区二区| 亚洲色图五月天| 黄色免费网站在线| 欧美中文在线观看国产| 国产999精品在线观看| 国产女人水真多18毛片18精品| 精品精品99| 欧妇女乱妇女乱视频| 日日夜夜精品免费视频| 亚洲国产精品第一页| 国产精品午夜电影| jizz国产免费| 91精品免费在线| 国产在线色视频| 国内外成人免费激情在线视频网站 | 亚洲成av人片在线观看无码| 这里只有精品9| 日韩电影中文字幕在线| 婷婷av在线| 国产女人18毛片水18精品| 欧美理伦片在线播放| 黄色一级视频播放| 日本成人在线电影网| 欲求不满的岳中文字幕| 一区二区三区视频在线看| 欧美性受xxx黑人xyx性爽| 亚洲大胆人体av| 国产在线激情视频| 国产精品精品久久久| 日韩美女毛片| 欧美精品卡一卡二| 国产精品一区三区| 亚洲一级理论片| 日本高清不卡视频| 五月婷婷丁香网| 久久久久久国产精品三级玉女聊斋| 欧美一级网址| 神马欧美一区二区| 久久久亚洲一区| 一本色道久久综合亚洲精品图片| 亚洲一线二线三线视频| 国产麻豆精品一区| 日韩视频一区在线| 欧美亚洲二区| 一区二区三区四区欧美| 免费的国产精品| 精品人妻一区二区三区四区| 欧美日韩国产一中文字不卡 | 日韩电影精品| 亚洲激情啪啪| 日韩av中文在线观看| 日韩一区二区a片免费观看| 日韩人在线观看| 免费国产在线视频| 日韩免费观看网站| 国产日产精品_国产精品毛片| 成人中文字幕在线播放| 99re成人在线| 最近免费中文字幕大全免费版视频| 日韩高清欧美高清| 亚洲天堂手机| 奇米视频888战线精品播放| 老司机午夜精品视频| 欧美 日韩 国产 成人 在线观看| 一本大道久久a久久精品综合| 国产在线观看网站| 国产精品一二三视频| 91亚洲国产| 精品人妻一区二区乱码| 亚洲国产成人tv| 日本亚洲一区| 国产精品爽爽ⅴa在线观看| 日韩久久精品网| 亚洲在线观看网站| 亚洲国产精品影院| 少妇激情av一区二区| 国产国产精品人在线视| 日韩一区自拍| 欧美午夜精品一区二区| 午夜免费久久看| 高清在线观看av| 成人国产精品久久久久久亚洲| 亚洲国产成人精品女人| 在线xxxxx| 日本黄色一区二区| 2024最新电影免费在线观看| 国产在线精品一区| 日本不卡在线视频| 国产十六处破外女视频| 亚洲国产三级网| 青青久久精品| 少妇无码av无码专区在线观看| 久久久久久久久蜜桃| 国产乱码精品一区二区| 亚州欧美日韩中文视频| 成人精品电影| 91九色蝌蚪porny| 91黄色激情网站| av色综合久久天堂av色综合在| 国产综合第一页| 捆绑紧缚一区二区三区视频| 国产一级片免费观看| 亚洲小视频在线观看| 一区二区三区欧洲区| av无码精品一区二区三区| 亚洲免费观看高清在线观看| 欧美拍拍视频| 亚洲综合社区网| 日韩精品国产精品| 99免费在线观看| 久久久97精品| 国产传媒欧美日韩成人精品大片| 丰满人妻一区二区三区53视频| 色综合久久九月婷婷色综合| 1区2区在线观看|