国产无遮挡裸体免费直播视频,久久精品国产蜜臀av,动漫在线视频一区二区,欧亚日韩一区二区三区,久艹在线 免费视频,国产精品美女网站免费,正在播放 97超级视频在线观看,斗破苍穹年番在线观看免费,51最新乱码中文字幕

你需要了解的ES6語法大總結(jié)

 更新時(shí)間:2022年05月10日 15:54:08   作者:Jimmy_fx  
ECMAScript是瀏覽器腳本語言的規(guī)范,而我們熟知的js語言,如JavaScript則是規(guī)范的具體實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于ES6語法總結(jié)的相關(guān)資料,需要的朋友可以參考下

前言

ES6已結(jié)出來6年多了,相信大家的ES6常用語法都用的爐火純青了,自己打算把ES6的語法全部總結(jié)一遍,也方便自己更加的靈活使用和鞏固知識(shí)。希望能對(duì)你有幫助!

let

介紹

let 語句聲明一個(gè)塊級(jí)作用域的本地變量,并且可選的將其初始化為一個(gè)值。新的變量的聲明方式。

它具有如下的特性

不允許重復(fù)聲明

var可以多次重復(fù)聲明(最后一次聲明會(huì)覆蓋前面的聲明),而let不能(會(huì)報(bào)錯(cuò)),可以避免重復(fù)命名

var a = 1;
var a = 2;
console.log(a); // 2
let a = 1;
let a = 2;
console.log(a); // Uncaught SyntaxError: Identifier 'a' has already been declared

這個(gè)特性有一大好處就是避免多人開發(fā)時(shí),自己或者別人命名了相同名稱的變量,把以前的變量給覆蓋掉了。

塊級(jí)作用域

為什么需要塊級(jí)作用域?

ES5時(shí)只有全局作用域和函數(shù)作用域,沒有塊級(jí)作用域,這帶來很多不合理的場(chǎng)景。

第一種場(chǎng)景,內(nèi)層變量可能會(huì)覆蓋外層變量。

var tmp = new Date();

function f() {
  console.log(tmp);
  if (false) {
    var tmp = 'hello world'; // 這里會(huì)有變量提升
  }
}
f(); // undefined

if代碼塊的外部使用外層的tmp變量,內(nèi)部使用內(nèi)層的tmp變量。但是,函數(shù)f執(zhí)行后,輸出結(jié)果為undefined,原因在于變量提升,導(dǎo)致內(nèi)層的tmp變量覆蓋了外層的tmp變量。

第二種場(chǎng)景,用來計(jì)數(shù)的循環(huán)變量泄露為全局變量。

var s = 'hello';
for (var i = 0; i < s.length; i++) {
  console.log(s[i]);
}
// for循環(huán)外面打印
console.log(i); // 5

上面代碼中,變量i只用來控制循環(huán),但是循環(huán)結(jié)束后,它并沒有消失,泄露成了全局變量。

es6的塊級(jí)作用域

{
  let a = 10;
  var b = 1;
}
console.log(b); // 1
console.log(a); // Uncaught ReferenceError: a is not defined

let實(shí)際上為 JavaScript 新增了塊級(jí)作用域,let聲明的變量只在它所在的代碼塊有效,外層拿不到let聲明的變量。上面代碼中{}就是塊級(jí)作用域

ES6 允許塊級(jí)作用域的任意嵌套。

{{{{
  {let insane = 'Hello World'}
  console.log(insane); // 報(bào)錯(cuò)
}}}};

上面代碼使用了一個(gè)五層的塊級(jí)作用域,每一層都是一個(gè)單獨(dú)的作用域。第四層作用域無法讀取第五層作用域的內(nèi)部變量。

內(nèi)層作用域可以定義外層作用域的同名變量。

{{{{
  let insane = 'Hello World';
  {let insane = 'Hello World'}
}}}};

for循環(huán)的計(jì)數(shù)器,就很合適使用let命令。

for (let i = 0; i < 10; i++) {
  // ...
}
console.log(i); // ReferenceError: i is not defined

上面代碼中,計(jì)數(shù)器i只在for循環(huán)體內(nèi)有效,在循環(huán)體外引用就會(huì)報(bào)錯(cuò)。

改成var聲明的話

for (var i = 0; i < 3; i++) {
  console.log(i); //輸出0 1 2
}
console.log(i); //只會(huì)輸出3

如果想要更加深入的研究for循環(huán)作用域的問題,請(qǐng)參考這篇 文章

暫時(shí)性死區(qū)

var a = 1
{ 
 a = 6 
 let a  // Uncaught ReferenceError: Cannot access 'a' before initialization
}

在代碼塊內(nèi),使用let命令聲明變量之前,該變量都是不可用的。這在語法上,稱為暫時(shí)性死區(qū) ES6 規(guī)定暫時(shí)性死區(qū),主要是為了減少運(yùn)行時(shí)錯(cuò)誤,防止在變量聲明前就使用這個(gè)變量,從而導(dǎo)致意料之外的行為。這樣的錯(cuò)誤在 ES5 是很常見的,現(xiàn)在有了這種規(guī)定,避免此類錯(cuò)誤就很容易了。

變量提升

關(guān)于是否有變量提升,目前來看并不統(tǒng)一。阮一峰的 ECMAScript 6 入門中的let和const章節(jié)中明確說明 不存在變量提升。但自己的理解還是存在變量提升的。下面舉例說明一下:

 var a = 1;
  (function () {
    console.log(a); // 1
  })();

我們簡(jiǎn)單改造一下

 var a = 1;
  (function () {
    console.log(a); // Uncaught ReferenceError: Cannot access 'a' before initialization
    let a = 2
  })();

從這里其實(shí)可以看出let也是存在變量提升的,只是在變量賦值之前不能對(duì)變量進(jìn)行讀寫,否則就會(huì)報(bào)錯(cuò),這也就是暫時(shí)性死區(qū)。

變量不會(huì)掛載到window

在本人看來,var聲明的變量掛載到window是一種很不好的設(shè)計(jì),這很容易會(huì)導(dǎo)致變量被污染,以及全局變量被濫用。所以,新的聲明方式已經(jīng)不將聲明的變量再掛載到window上面了。

// var聲明的變量會(huì)掛載到window上
var a = 1;
window.a // 1

// let聲明的變量不會(huì)掛載到window
let b = 1;
window.b // undefined

頂層對(duì)象的屬性與全局變量掛鉤,被認(rèn)為是 JavaScript 語言最大的設(shè)計(jì)敗筆之一。這樣的設(shè)計(jì)帶來了幾個(gè)很大的問題,首先是沒法在編譯時(shí)就報(bào)出變量未聲明的錯(cuò)誤,只有運(yùn)行時(shí)才能知道(因?yàn)槿肿兞靠赡苁琼攲訉?duì)象的屬性創(chuàng)造的,而屬性的創(chuàng)造是動(dòng)態(tài)的);其次,程序員很容易不知不覺地就創(chuàng)建了全局變量(比如打字出錯(cuò));最后,頂層對(duì)象的屬性是到處可以讀寫的,這非常不利于模塊化編程。另一方面,window對(duì)象有實(shí)體含義,指的是瀏覽器的窗口對(duì)象,頂層對(duì)象是一個(gè)有實(shí)體含義的對(duì)象,也是不合適的。

從 ES6 開始,全局變量將逐步與頂層對(duì)象的屬性脫鉤。

const

const聲明一個(gè)只讀的常量。一旦聲明,常量的值就不能改變。其他特性和let一樣

const a = 1;
a = 3; // TypeError: Assignment to constant variable.

const聲明的變量不得改變值,這意味著,const一旦聲明變量,就必須立即初始化,不能留到以后賦值。

const a;
// SyntaxError: Missing initializer in const declaration

const實(shí)際上保證的,并不是變量的值不得改動(dòng),而是變量指向的那個(gè)內(nèi)存地址所保存的數(shù)據(jù)不得改動(dòng)。對(duì)于簡(jiǎn)單類型的數(shù)據(jù)(數(shù)值、字符串、布爾值),值就保存在變量指向的那個(gè)內(nèi)存地址,因此等同于常量。但對(duì)于復(fù)合類型的數(shù)據(jù)(主要是對(duì)象和數(shù)組),變量指向的內(nèi)存地址,保存的只是一個(gè)指向?qū)嶋H數(shù)據(jù)的指針,const只能保證這個(gè)指針是固定的(即總是指向另一個(gè)固定的地址),至于它指向的數(shù)據(jù)結(jié)構(gòu)是不是可變的,就完全不能控制了。因此,將一個(gè)對(duì)象聲明為常量必須非常小心。

const a = {};
// 為 a 添加一個(gè)屬性,可以成功
a.prop = 123;
// 將 a 指向另一個(gè)對(duì)象,就會(huì)報(bào)錯(cuò)
a = {}; // TypeError: "a" is read-only

總結(jié)

對(duì)于var的使用:

  • 我們需要明白一個(gè)事實(shí),var所表現(xiàn)出來的特殊性:比如作用域提升、window全局對(duì)象、沒有塊級(jí)作用域等都是一些歷史遺留問題;是JavaScript在設(shè)計(jì)之初的一種語言缺陷

  • 當(dāng)然目前也在利用這種缺陷出一系列的面試題,來考察大家對(duì)JavaScript語言本身以及底層的理解

  • 但是在實(shí)際工作中,我們可以使用最新的規(guī)范來編寫,也就是不再使用var來定義變量了

對(duì)于let和const:

  • 對(duì)于let和const來說,是目前開發(fā)中推薦使用的

  • 我們推薦使用const,這樣可以保證數(shù)據(jù)的安全性不會(huì)被隨意的篡改

  • 只有當(dāng)我們明確知道一個(gè)變量后續(xù)會(huì)需要被重新賦值時(shí),這個(gè)時(shí)候再使用let

反正就一句話,以后不要再用var啦!

解構(gòu)賦值

ES6 允許按照一定模式,從數(shù)組和對(duì)象中提取值,對(duì)變量進(jìn)行賦值,這被稱為解構(gòu)

對(duì)象的解構(gòu)

以前的取值方式

const obj = { a:1, b:2, c:3 }
const a = obj.a; 
const b = obj.b; 
const c = obj.c; 

現(xiàn)在的取值方式

const obj = { a:1, b:2, c:3 }
const {a,b,c} = obj;

修改解構(gòu)出來的名稱

const obj = { a:1, b:2, c:3 }
const {a:a1, b:b1, c} = obj;
console.log(a1)  // 1
console.log(b1)  // 2
console.log(c)   // 3

給默認(rèn)值

const obj = { a:1, b:2, c:3 }
const {d = 5} = obj;
const {e:e1 = 6} = obj;
console.log(d)  // 5
console.log(e1)  // 6

深層對(duì)象的解構(gòu)

  const metadata = {
    title: "english-title",
    translations: [
      {
        title: "我是深處的title",
      },
    ],
    friend: {
      girlFriend: {
        name: {
          firstName: "chimmy",
        },
      },
    },
  };

  let {
    title: englishTitle, // rename
    translations: [
      {
        title: localeTitle, // rename
      },
    ],
    friend: {
      girlFriend: {
        name: { firstName },
      },
    },
  } = metadata;

  console.log(englishTitle); // "english-title"
  console.log(localeTitle); // "我是深處的title"
  console.log(firstName); // "chimmy"

數(shù)組的解構(gòu)

// 以前獲取數(shù)組里面值得方式
var names = ["abc", "cba", "nba"]
// var item1 = names[0]
// var item2 = names[1]
// var item3 = names[2]

// 對(duì)數(shù)組的解構(gòu): []
let [item1, item2, item3] = names
console.log(item1, item2, item3) // abc cba nba

// 解構(gòu)后面的元素
let [, , itemz] = names
console.log(itemz) // nba

// 解構(gòu)出一個(gè)元素,后面的元素放到一個(gè)新數(shù)組中
let [itemx, ...newNames] = names
console.log(itemx, newNames) // abc ['cba', 'nba']

// 解構(gòu)的默認(rèn)值
let [itema, itemb, itemc, itemd = "aaa"] = names
console.log(itemd) // aaa

// 通過解構(gòu)交換變量
let a = 1;
let b = 3;
[a, b] = [b, a];
console.log(a); // 3
console.log(b); // 1

函數(shù)參數(shù)解構(gòu)

函數(shù)的參數(shù)也可以使用解構(gòu)賦值。

function add([x, y]){
  return x + y;
}
add([1, 2]); // 3

函數(shù)參數(shù)的解構(gòu)也可以使用默認(rèn)值。

function move({x = 0, y = 0} = {}) {
  return [x, y];
}
move({x: 3, y: 8}); // [3, 8]
move({x: 3}); // [3, 0]
move({}); // [0, 0]
move(); // [0, 0]

對(duì)象字面量增強(qiáng)寫法和計(jì)算屬性名

let name = "jimmy"
let age = 18
// 屬性的簡(jiǎn)寫
let obj = {
 name,
 age
}
// 等同于
let obj = {
 name:name,
 age:age
}

// 方法的簡(jiǎn)寫
let obj2 = {
  bar() {
    console.log(this)
  },
}
//   等同于
let obj2 = {
  bar:function() {
    console.log(this)
  }
}

// 計(jì)算屬性名(對(duì)象的鍵可以是變量)
let obj3 = {}
obj3[name] = "chimmy";
console.log(obj3.jimmy); // chimmy

展開語法( ... )

展開語法(Spread syntax), 可以在函數(shù)調(diào)用/數(shù)組構(gòu)造時(shí), 將數(shù)組表達(dá)式或者string在語法層面展開;還可以在構(gòu)造字面量對(duì)象時(shí), 將對(duì)象表達(dá)式按key-value的方式展開。(字面量一般指 [1, 2, 3] 或者 {name: "mdn"} 這種簡(jiǎn)潔的構(gòu)造方式)

示例

const names = ["abc", "cba", "nba"]
const info = {name: "why", age: 18}

// 1.函數(shù)調(diào)用時(shí)
function foo(x, y, z) {
  console.log(x, y, z)  // abc cba nba
}
foo(...names)

// 2.構(gòu)造數(shù)組時(shí)
const newNames = [...names]
console.log(newNames) // ['abc', 'cba', 'nba']
console.log(...[1, 2, 3]) // 1 2 3

// 3.構(gòu)建對(duì)象字面量時(shí)ES2018(ES9)
const obj = { ...info, address: "成都市", ...names }
console.log(obj) // {0: 'abc', 1: 'cba', 2: 'nba', name: 'why', age: 18, address: '成都市'}

復(fù)制數(shù)組(淺拷貝)

數(shù)組是復(fù)合的數(shù)據(jù)類型,直接復(fù)制的話,只是復(fù)制了指向底層數(shù)據(jù)結(jié)構(gòu)的指針,而不是克隆一個(gè)全新的數(shù)組。

const a1 = [1, 2];
const a2 = a1;
a2[0] = 2;
console.log(a1) // [2, 2]
const a1 = [1, 2];
const a2 = [...a1];
a2[0] = 2;
console.log(a1) // [1, 2]

合并數(shù)組

const arr1 = ['a', 'b'];
const arr2 = ['c'];
const arr3 = ['d', 'e'];

// ES5 的合并數(shù)組
arr1.concat(arr2, arr3);
// [ 'a', 'b', 'c', 'd', 'e' ]

// ES6 的合并數(shù)組
[...arr1, ...arr2, ...arr3]
// [ 'a', 'b', 'c', 'd', 'e' ]

模板字符串

ES6之前拼接字符串和其他標(biāo)識(shí)符

const name = "jimmy";
const age = 18;
const height = 1.88;
console.log("my name is " + name + ", age is " + age + ", height is " + height)

ES6提供的模板字符串

const age = 18;
const height = 1.88;

// 支持變量
const message = `my name is ${name}, age is ${age}, height is ${height}`;
console.log(message); // my name is , age is 18, height is 1.88

// 支持表達(dá)式
const info = `age double is ${age * 2}`;
console.log(info); // age double is 36

// 支持函數(shù)調(diào)用
function doubleAge() {
  return age * 2;
}
const info2 = `double age is ${doubleAge()}`;
console.log(info2); // double age is 36

對(duì)象擴(kuò)展

object.is()

語法

Object.is(value1, value2);

被比較的第一個(gè)值。value1

被比較的第二個(gè)值。 value2

介紹

ES5 比較兩個(gè)值是否相等,只有兩個(gè)運(yùn)算符:相等運(yùn)算符(==)和嚴(yán)格相等運(yùn)算符(===)。它們都有缺點(diǎn),前者會(huì)自動(dòng)轉(zhuǎn)換數(shù)據(jù)類型,后者的NaN不等于自身,以及+0等于-0。JavaScript 缺乏一種運(yùn)算,在所有環(huán)境中,只要兩個(gè)值是一樣的,它們就應(yīng)該相等。

ES6 提出“Same-value equality”(同值相等)算法,用來解決這個(gè)問題。Object.is就是部署這個(gè)算法的新方法。它用來比較兩個(gè)值是否嚴(yán)格相等,與嚴(yán)格比較運(yùn)算符(===)的行為基本一致。

Object.is('foo', 'foo')
// true
Object.is({}, {})
// false

不同之處只有兩個(gè):一是+0不等于-0,二是NaN等于自身。

console.log(NaN === NaN); // false
console.log(0 === -0);     // true

Object.is(NaN, NaN) // true
Object.is(+0, -0) // false

Object.assign()

Object.assign()  方法用于將所有可枚舉屬性的值從一個(gè)或多個(gè)源對(duì)象分配到目標(biāo)對(duì)象。它將返回目標(biāo)對(duì)象。

// 目標(biāo)對(duì)象與源對(duì)象有同名屬性,或多個(gè)源對(duì)象有同名屬性,則后面的屬性會(huì)覆蓋前面的屬性。
const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };

const returnedTarget = Object.assign(target, source);

console.log(target); // { a: 1, b: 4, c: 5 } 注意目標(biāo)對(duì)象自身也會(huì)改變
console.log(returnedTarget); { a: 1, b: 4, c: 5 }
// Object.assign()的返回值其實(shí)就是目標(biāo)對(duì)象
target === returnedTarget // true

語法

Object.assign(target, ...sources)
  • target 目標(biāo)對(duì)象。
  • sources 源對(duì)象。 個(gè)數(shù)沒有限制

返回值為 目標(biāo)對(duì)象

如果只有一個(gè)參數(shù),Object.assign()會(huì)直接返回該參數(shù)。

const obj = {a: 1};
Object.assign(obj) === obj // true

如果該參數(shù)不是對(duì)象,則會(huì)先轉(zhuǎn)成對(duì)象,然后返回。

typeof Object.assign(2) // "object"

由于undefined和null無法轉(zhuǎn)成對(duì)象,所以如果它們作為參數(shù),就會(huì)報(bào)錯(cuò)。

Object.assign(undefined) // 報(bào)錯(cuò)
Object.assign(null) // 報(bào)錯(cuò)

// 如果`undefined`和`null`不在首參數(shù),就不會(huì)報(bào)錯(cuò)。
let obj = {a: 1};
Object.assign(obj, undefined) === obj // true
Object.assign(obj, null) === obj // true

常見用途

(1)為對(duì)象添加屬性

class Point {
  constructor(x, y) {
    Object.assign(this, {x, y});
  }
}

上面方法通過Object.assign()方法,將x屬性和y屬性添加到Point類的對(duì)象實(shí)例。

(2)為對(duì)象添加方法

Object.assign(SomeClass.prototype, {
  someMethod(arg1, arg2) {
    ···
  },
  anotherMethod() {
    ···
  }
});

// 等同于下面的寫法
SomeClass.prototype.someMethod = function (arg1, arg2) {
  ···
};
SomeClass.prototype.anotherMethod = function () {
  ···
};

上面代碼使用了對(duì)象屬性的簡(jiǎn)潔表示法,直接將兩個(gè)函數(shù)放在大括號(hào)中,再使用assign()方法添加到SomeClass.prototype之中。

(3)克隆對(duì)象

function clone(origin) {
  return Object.assign({}, origin);
}

注意,這種方式是淺拷貝。詳細(xì)理解 請(qǐng)參考 js深拷貝和淺拷貝知多少

(4)合并多個(gè)對(duì)象

將多個(gè)對(duì)象合并到某個(gè)對(duì)象。

const merge = (target, ...sources) => Object.assign(target, ...sources);

如果希望合并后返回一個(gè)新對(duì)象,可以改寫上面函數(shù),對(duì)一個(gè)空對(duì)象合并。

const merge = (...sources) => Object.assign({}, ...sources);

(5)為屬性指定默認(rèn)值

const DEFAULTS = {
  logLevel: 0,
  outputFormat: 'html'
};

function processContent(options) {
  options = Object.assign({}, DEFAULTS, options);
  console.log(options);
  // ...
}

上面代碼中,DEFAULTS對(duì)象是默認(rèn)值,options對(duì)象是用戶提供的參數(shù)。Object.assign()方法將DEFAULTS和options合并成一個(gè)新對(duì)象,如果兩者有同名屬性,則options的屬性值會(huì)覆蓋DEFAULTS的屬性值。

對(duì)象的遍歷方式(擴(kuò)展)

如何能夠遍歷出對(duì)象中每個(gè)key和value的值呢?

let obj = {
  name: "jimmy",
  age: 18,
  like: "girl",
};

主要有以下方式

// for...in的作用是用于遍歷對(duì)象的。
for (let key in obj) {
  console.log(key, obj[key]);
}

// Object.keys()用于返回對(duì)象所有key組成的數(shù)組。
Object.keys(obj).forEach((key) => {
  console.log(key, obj[key]);
});

// Object.getOwnPropertyNames()用于返回對(duì)象所有key組成的數(shù)組。
Object.getOwnPropertyNames(obj).forEach((key) => {
  console.log(key, obj[key]);
});

// Reflect.ownKeys()用于返回對(duì)象所有key組成的數(shù)組。

Reflect.ownKeys(obj).forEach((key) => {
  console.log(key, obj[key]);
});

// 打印的都是
// name jimmy
// age 18
// like girl

function擴(kuò)展

函數(shù)默認(rèn)值

ES6 之前,不能直接為函數(shù)的參數(shù)指定默認(rèn)值,只能采用變通的方法。

function log(x, y) {
 if (typeof y === 'undefined' || typeof y === 'null') {
   y = 'World';
 }
  console.log(x, y);
}

log('Hello') // Hello World
log('Hello', 'China') // Hello China
log('Hello', '') // Hello World

當(dāng)一個(gè)函數(shù)有很多參數(shù)涉及初始化的時(shí)候,這樣寫代碼極其丑陋。ES6 允許為函數(shù)的參數(shù)設(shè)置默認(rèn)值,即直接寫在參數(shù)定義的后面。

function log(x, y = 'World') {
  console.log(x, y);
}

log('Hello') // Hello World
log('Hello', 'China') // Hello China
log('Hello', '') // Hello

ES6 的寫法還有兩個(gè)好處:首先,閱讀代碼的人,可以立刻意識(shí)到哪些參數(shù)是可以省略的,不用查看函數(shù)體或文檔;其次,有利于將來的代碼優(yōu)化,即使未來的版本在對(duì)外接口中,徹底拿掉這個(gè)參數(shù),也不會(huì)導(dǎo)致以前的代碼無法運(yùn)行。

rest參數(shù)

ES6 引入 rest 參數(shù)(形式為...變量名),用于獲取函數(shù)的多余參數(shù),這樣就不需要使用arguments對(duì)象了。rest 參數(shù)搭配的變量是一個(gè)數(shù)組,該變量將多余的參數(shù)放入數(shù)組中。

function add(...values) {
  let sum = 0;

  for (var val of values) {
    sum += val;
  }

  return sum;
}

add(2, 5, 3) // 10

上面代碼的add函數(shù)是一個(gè)求和函數(shù),利用 rest 參數(shù),可以向該函數(shù)傳入任意數(shù)目的參數(shù)。

下面是一個(gè) rest 參數(shù)代替arguments變量的例子。

// arguments變量的寫法
function sortNumbers() {
  return Array.from(arguments).sort();
}

// rest參數(shù)的寫法
const sortNumbers = (...numbers) => numbers.sort();

上面代碼的兩種寫法,比較后可以發(fā)現(xiàn),rest 參數(shù)的寫法更自然也更簡(jiǎn)潔。

注意,rest 參數(shù)之后不能再有其他參數(shù)(即只能是最后一個(gè)參數(shù)),否則會(huì)報(bào)錯(cuò)。

// 報(bào)錯(cuò)
function f(a, ...b, c) {
  // ...
}

箭頭函數(shù)

箭頭函數(shù)可以說是 ES6 很大的福利了,不管你是函數(shù)式愛好者還是面向?qū)ο箝_發(fā)者,函數(shù)是必須要用到的東西。之前聲明函數(shù)需要使用 function,如下:

function hello() {
    console.log('say hello')
}
// 或

let hello = function() {
    console.log('say hello')
}

現(xiàn)在可以這樣做了:

let hello = () => {
    console.log('say hello')
}

如果帶參數(shù)該怎么做呢?

let hello = (name) => {
    console.log('say hello', name)
}
// 或者

let hello = name => {
    console.log('say hello', name)
}
// 如果只有一個(gè)參數(shù),可以省略括號(hào),如果大于一個(gè)參數(shù)一定要記得帶括號(hào)

函數(shù)的聲明和參數(shù)寫的很清楚了,那么對(duì)于返回值有什么要注意的地方呢?

如果返回值是表達(dá)式可以省略 return 和 {}

 let pow = x => x * x

如果返回值是字面量對(duì)象

let person = (name) => ({
      age: 20,
      addr: 'Beijing City'
  })

箭頭函數(shù)注意點(diǎn)

  • 箭頭函數(shù)中沒有this,內(nèi)部的this就是定義時(shí)上層作用域中的this。也就是說,箭頭函數(shù)內(nèi)部的this指向是固定的

  • 不可以當(dāng)作構(gòu)造函數(shù),也就是說,不可以對(duì)箭頭函數(shù)使用new命令,否則會(huì)拋出一個(gè)錯(cuò)誤。

  • 箭頭函數(shù)不可以使用arguments對(duì)象,該對(duì)象在函數(shù)體內(nèi)不存在。如果要用,可以用 rest 參數(shù)代替。

  • 不可以使用yield命令,因此箭頭函數(shù)不能用作 Generator 函數(shù)。

函數(shù)的length屬性

在函數(shù)體內(nèi),有時(shí)候需要判斷函數(shù)有幾個(gè)參數(shù),一共有2個(gè)辦法。在 ES5 中可以在函數(shù)體內(nèi)使用 arguments 來判斷。

function foo(a, b = 1, c) {
    console.log(arguments.length)
}
foo('a', 'b') //2

然而在 ES6 中不能再使用 arguments 來判斷了,但可以借助 Function.length 來判斷。

function foo(a, b = 1, c) {
    console.log(foo.length)
}
foo('a', 'b') // 1

細(xì)心的同學(xué)發(fā)現(xiàn) Function.length 結(jié)果和 arguments 的結(jié)果不同!沒錯(cuò),F(xiàn)unction.length 是統(tǒng)計(jì)第一個(gè)默認(rèn)參數(shù)前面的變量數(shù):

函數(shù)指定了默認(rèn)值以后,函數(shù)的length屬性,將返回沒有指定默認(rèn)值的參數(shù)個(gè)數(shù)。

數(shù)組的擴(kuò)展

Array.from

介紹

Array.from方法用于將兩類對(duì)象轉(zhuǎn)為真正的數(shù)組:類似數(shù)組的對(duì)象(array-like object)和可遍歷(iterable)的對(duì)象(包括 ES6 新增的數(shù)據(jù)結(jié)構(gòu) Set 和 Map)。

語法

Array.from(arrayLike[, mapFn[, thisArg]])
  • arrayLike 想要轉(zhuǎn)換成數(shù)組的偽數(shù)組對(duì)象或可迭代對(duì)象。
  • mapFn 可選 如果指定了該參數(shù),新數(shù)組中的每個(gè)元素會(huì)執(zhí)行該回調(diào)函數(shù)。
  • thisArg 可選 執(zhí)行回調(diào)函數(shù)mapFn時(shí)this對(duì)象

下面是一個(gè)類似數(shù)組的對(duì)象,Array.from將它轉(zhuǎn)為真正的數(shù)組。

let arrayLike = {
    '0': 'a',
    '1': 'b',
    '2': 'c',
    length: 3
};

// ES5的寫法
var arr1 = [].slice.call(arrayLike); // ['a', 'b', 'c']

// ES6的寫法
let arr2 = Array.from(arrayLike); // ['a', 'b', 'c']

實(shí)際應(yīng)用中,常見的類似數(shù)組的對(duì)象是 DOM 操作返回的 NodeList 集合,以及函數(shù)內(nèi)部的arguments對(duì)象。Array.from都可以將它們轉(zhuǎn)為真正的數(shù)組。

// NodeList對(duì)象
let ps = document.querySelectorAll('p');
Array.from(ps).filter(p => {
  return p.textContent.length > 100;
});

// arguments對(duì)象
function foo() {
  var args = Array.from(arguments);
  // ...
}

// Set
const set = new Set(['foo', 'bar', 'baz', 'foo']);
Array.from(set); // [ "foo", "bar", "baz" ]

// Map
const map = new Map([[1, 2], [2, 4], [4, 8]]);
Array.from(map); // [[1, 2], [2, 4], [4, 8]]

如果參數(shù)是一個(gè)真正的數(shù)組,Array.from會(huì)返回一個(gè)一模一樣的新數(shù)組。

Array.from([1, 2, 3]) // [1, 2, 3]

Array.from可以接受第二個(gè)參數(shù),作用類似于數(shù)組的map方法,用來對(duì)每個(gè)元素進(jìn)行處理,將處理后的值放入返回的數(shù)組。

Array.from(arrayLike, x => x * x);
// 等同于
Array.from(arrayLike).map(x => x * x);

Array.from([1, 2, 3], (x) => x * x)
// [1, 4, 9]

for...of

ES6中新增的數(shù)組遍歷方式

for (let val of [1, 2, 3]) {
    console.log(val); // 1,2,3
}

Array.prototype.find()

介紹

find() 方法返回?cái)?shù)組中滿足提供的測(cè)試函數(shù)的第一個(gè)元素的值,否則返回 undefined。

const array1 = [5, 12, 8, 130, 44];
const found = array1.find(element => element > 10);
console.log(found); //12

語法

arr.find(callback[, thisArg])

callback 在數(shù)組每一項(xiàng)上執(zhí)行的函數(shù),接收 3 個(gè)參數(shù):

element當(dāng)前遍歷到的元素。

index 可選 當(dāng)前遍歷到的索引

array 數(shù)組本身

thisArg 執(zhí)行回調(diào)時(shí)用作this 的對(duì)象。

Array.prototype.findIndex()

findIndex()方法返回?cái)?shù)組中滿足提供的測(cè)試函數(shù)的第一個(gè)元素的索引。否則返回-1。其實(shí)這個(gè)和 find() 是成對(duì)的,不同的是它返回的是索引而不是值。

let array = [5, 12, 8, 130, 44];
let found = array.find(function(element) {
    return element > 10;
});
console.log(found); // 1

Array.prototype.fill()

介紹

fill()  方法用一個(gè)固定值填充一個(gè)數(shù)組中從起始索引到終止索引內(nèi)的全部元素。不包括終止索引。

語法

arr.fill(value[, start[, end]])

value 用來填充數(shù)組元素的值 start 可選 起始索引 默認(rèn)值為0 end 可選 終止索引 默認(rèn)值為this.length 返回值 修改后的數(shù)組

如果 start 是個(gè)負(fù)數(shù), 則開始索引會(huì)被自動(dòng)計(jì)算成為 length+start, 其中 length 是 this 對(duì)象的 length 屬性值。如果 end 是個(gè)負(fù)數(shù), 則結(jié)束索引會(huì)被自動(dòng)計(jì)算成為 length+end。

const array1 = [1, 2, 3, 4];
console.log(array1.fill(0, 2, 4)); // [1, 2, 0, 0]
console.log(array1.fill(5, 1)); //  [1, 5, 5, 5]
// 只有一個(gè)參數(shù),說明其他兩項(xiàng)都是默認(rèn)值,會(huì)替換數(shù)組全部?jī)?nèi)容
console.log(array1.fill(6)); // [6, 6, 6, 6]

Array.prototype.copyWithin()

數(shù)組實(shí)例的copyWithin()方法,在當(dāng)前數(shù)組內(nèi)部,將指定位置的成員復(fù)制到其他位置(會(huì)覆蓋原有成員),然后返回當(dāng)前數(shù)組。也就是說,使用這個(gè)方法,會(huì)修改當(dāng)前數(shù)組。

Array.prototype.copyWithin(target, start = 0, end = this.length)

它接受三個(gè)參數(shù)。

  • target(必需):從該位置開始替換數(shù)據(jù)。如果為負(fù)值,表示倒數(shù)。
  • start(可選):從該位置開始讀取數(shù)據(jù),默認(rèn)為 0。如果為負(fù)值,表示從末尾開始計(jì)算。
  • end(可選):到該位置前停止讀取數(shù)據(jù),默認(rèn)等于數(shù)組長(zhǎng)度。如果為負(fù)值,表示從末尾開始計(jì)算。
// 將3號(hào)位復(fù)制到0號(hào)位
[1, 2, 3, 4, 5].copyWithin(0, 3, 4)
// [4, 2, 3, 4, 5]

// -2相當(dāng)于3號(hào)位,-1相當(dāng)于4號(hào)位
[1, 2, 3, 4, 5].copyWithin(0, -2, -1) // [4, 2, 3, 4, 5]

// 參數(shù)不足三個(gè),沒有的參數(shù)就是默認(rèn)值
[1, 2, 3, 4, 5].copyWithin(-2) // [1, 2, 3, 1, 2]
[1, 2, 3, 4, 5].copyWithin(0, 3) // [4, 5, 3, 4, 5]

Array.of()

Array.of()方法用于將一組值,轉(zhuǎn)換為數(shù)組。

Array.of(3, 11, 8) // [3,11,8]
Array.of(3) // [3]
Array.of(3).length // 1

這個(gè)方法的主要目的,是彌補(bǔ)數(shù)組構(gòu)造函數(shù)Array()的不足。因?yàn)閰?shù)個(gè)數(shù)的不同,會(huì)導(dǎo)致Array()的行為有差異。

Array() // []
Array(3) // [, , ,]
Array(3, 11, 8) // [3, 11, 8]

面代碼中,Array()方法沒有參數(shù)、一個(gè)參數(shù)、三個(gè)參數(shù)時(shí),返回的結(jié)果都不一樣。只有當(dāng)參數(shù)個(gè)數(shù)不少于 2 個(gè)時(shí),Array()才會(huì)返回由參數(shù)組成的新數(shù)組。參數(shù)只有一個(gè)正整數(shù)時(shí),實(shí)際上是指定數(shù)組的長(zhǎng)度。

Array.of()基本上可以用來替代Array()new Array(),并且不存在由于參數(shù)不同而導(dǎo)致的重載。它的行為非常統(tǒng)一。

Array.of() // [] `Array.of()`總是返回參數(shù)值組成的數(shù)組。如果沒有參數(shù),就返回一個(gè)空數(shù)組。
Array.of(undefined) // [undefined]
Array.of(1) // [1]
Array.of(1, 2) // [1, 2]

Number 擴(kuò)展

Number.isFinite()

用來檢查一個(gè)數(shù)值是否為有限的(finite),即不是Infinity。

Number.isFinite(15) // true
Number.isFinite(0.8) // true
Number.isFinite(NaN) // false
Number.isFinite(Infinity) // false
Number.isFinite(-Infinity) // false
Number.isFinite('foo') // false
Number.isFinite('15') // false
Number.isFinite(true) // false

注意,如果參數(shù)類型不是數(shù)值,Number.isFinite一律返回false

Number.isNaN()

用來檢查一個(gè)值是否為NaN。

Number.isNaN(NaN) // true
Number.isNaN(15) // false
Number.isNaN('15') // false
Number.isNaN(true) // false
Number.isNaN(9/NaN) // true
Number.isNaN('true' / 0) // true
Number.isNaN('true' / 'true') // true

如果參數(shù)類型不是NaN,Number.isNaN一律返回false。

Number.isInteger()

用來判斷一個(gè)數(shù)值是否為整數(shù)。

Number.isInteger(25) // true
Number.isInteger(25.1) // false

Number.isInteger() // false
Number.isInteger(null) // false
Number.isInteger('15') // false
Number.isInteger(true) // false

Number.MAX_SAFE_INTEGER Number.MIN_SAFE_INTEGER

JavaScript 能夠準(zhǔn)確表示的整數(shù)范圍在-2^53到2^53之間(不含兩個(gè)端點(diǎn)),超過這個(gè)范圍,無法精確表示這個(gè)值。

Math.pow(2, 53) // 9007199254740992

9007199254740992  // 9007199254740992
9007199254740993  // 9007199254740992

Math.pow(2, 53) === Math.pow(2, 53) + 1 // true

上面代碼中,超出 2 的 53 次方之后,一個(gè)數(shù)就不精確了。

ES6 引入了Number.MAX_SAFE_INTEGERNumber.MIN_SAFE_INTEGER這兩個(gè)常量,用來表示這個(gè)范圍的上下限。

Number.MAX_SAFE_INTEGER === Math.pow(2, 53) - 1 // true
Number.MAX_SAFE_INTEGER === 9007199254740991 // true

Number.MIN_SAFE_INTEGER === -Number.MAX_SAFE_INTEGER // true
Number.MIN_SAFE_INTEGER === -9007199254740991 // true

Number.isSafeInteger()

JavaScript 能夠準(zhǔn)確表示的整數(shù)范圍在-2^53到2^53之間(不含兩個(gè)端點(diǎn)),超過這個(gè)范圍,無法精確表示這個(gè)值。

Math.pow(2, 53) // 9007199254740992

Math.pow(2, 53) === Math.pow(2, 53) + 1 // true

Number.parseInt(),Number.parseFloat()

ES6 將全局方法parseInt(), parseFloat()移植到Number對(duì)象上面,行為完全保持不變。這樣做的目的,是逐步減少全局性方法,使得語言逐步模塊化。

String擴(kuò)展

String.prototype.includes()

ES5中可以使用indexOf方法來判斷一個(gè)字符串是否包含在另一個(gè)字符串中,indexOf返回出現(xiàn)的下標(biāo)位置,如果不存在則返回-1。

const str = 'jimmy'

console.log(str.indexOf('y'))  // 4

ES6提供了includes方法來判斷一個(gè)字符串是否包含在另一個(gè)字符串中,返回boolean類型的值。

const str = 'jimmy'
console.log(str.includes('mm')) // true

// 區(qū)分大小寫
'Blue Whale'.includes('blue'); // returns false

語法

str.includes(searchString[, position])
  • searchString 要在此字符串中搜索的字符串。
  • position 從當(dāng)前字符串的哪個(gè)索引位置開始搜尋子字符串,默認(rèn)值為 0。

返回值

如果當(dāng)前字符串包含被搜尋的字符串,就返回 true;否則返回 false。;

String.prototype.startsWith()

判斷參數(shù)字符串是否在原字符串的頭部, 返回boolean類型的值。

const str = 'jimmy'
console.log(str.startsWith('ji')) // true

String.prototype.endsWith()

判斷參數(shù)字符串是否在原字符串的尾部, 返回boolean類型的值。

const str = 'jimmy'

console.log(str.endsWith('my')) // true

String.prototype.repeat()

repeat方法返回一個(gè)新字符串,表示將原字符串重復(fù)n次。

const str = 'jimmy'
const newStr = str.repeat(2)
console.log(newStr) // jimmyjimmy

Symbol

ES6 引入了一種新的原始數(shù)據(jù)類型 Symbol ,表示獨(dú)一無二的值。它是 JavaScript 語言的第七種數(shù)據(jù)類型,前六種是:undefined、null、布爾值(Boolean)、字符串(String)、數(shù)值(Number)、對(duì)象(Object)。

為什么要引入Symbol呢

ES5 的對(duì)象屬性名都是字符串,這容易造成屬性名的沖突。比如,你使用了一個(gè)他人提供的對(duì)象,但又想為這個(gè)對(duì)象添加新的方法(mixin 模式),新方法的名字就有可能與現(xiàn)有方法產(chǎn)生沖突。如果有一種機(jī)制,保證每個(gè)屬性的名字都是獨(dú)一無二的就好了,這樣就從根本上防止屬性名的沖突。這就是 ES6 引入Symbol的原因。

Symbol 值通過Symbol函數(shù)生成。這就是說,對(duì)象的屬性名現(xiàn)在可以有兩種類型,一種是原來就有的字符串,另一種就是新增的 Symbol 類型。凡是屬性名屬于 Symbol 類型,就都是獨(dú)一無二的,可以保證不會(huì)與其他屬性名產(chǎn)生沖突。

let a = Symbol();
let b = Symbol();

typeof a  // symbol
console.log(a === b); // false

Symbol函數(shù)可以接受一個(gè)字符串作為參數(shù),表示對(duì) Symbol 實(shí)例的描述,主要是為了在控制臺(tái)顯示,或者轉(zhuǎn)為字符串時(shí),比較容易區(qū)分。

let s1 = Symbol('foo')
let s2 = Symbol('foo')
console.log(s1) //Symbol(foo)
console.log(s2) // Symbol(foo)
// `Symbol`函數(shù)的參數(shù)只是表示對(duì)當(dāng)前 Symbol 值的描述,因此相同參數(shù)的`Symbol`函數(shù)的返回值是不相等的。
console.log(s1 === s2) // false

注意

Symbol函數(shù)前不能使用new命令,否則會(huì)報(bào)錯(cuò)。這是因?yàn)樯傻?Symbol 是一個(gè)原始類型的值,不是對(duì)象。也就是說,由于 Symbol 值不是對(duì)象,所以不能添加屬性。基本上,它是一種類似于字符串的數(shù)據(jù)類型。

如果 Symbol 的參數(shù)是一個(gè)對(duì)象,就會(huì)調(diào)用該對(duì)象的toString方法,將其轉(zhuǎn)為字符串,然后才生成一個(gè) Symbol 值。

const obj = {
  toString() {
    return 'abc';
  }
};
const sym = Symbol(obj); // Symbol(abc)

Symbol 值不能與其他類型的值進(jìn)行運(yùn)算,會(huì)報(bào)錯(cuò)。

let sym = Symbol('My symbol');

"your symbol is " + sym
// TypeError: can't convert symbol to string
`your symbol is ${sym}`
// TypeError: can't convert symbol to string

Symbol 值可以顯式轉(zhuǎn)為字符串,布爾值 但是不能轉(zhuǎn)為數(shù)值。

let sym = Symbol('My symbol');
String(sym) // 'Symbol(My symbol)'
sym.toString() // 'Symbol(My symbol)'

Boolean(sym) // true
!sym  // false

Number(sym) // TypeError
sym + 2 // TypeError

Symbol.for()

Symbol.for() 接受一個(gè)字符串作為參數(shù),然后搜索有沒有以該參數(shù)作為名稱的 Symbol 值。如果有,就返回這個(gè) Symbol 值,否則就新建一個(gè)以該字符串為名稱的 Symbol 值,并將其注冊(cè)到全局。

let s1 = Symbol.for('foo')
let s2 = Symbol.for('foo')
console.log(s1 === s2) // true

Symbol.for()與Symbol()這兩種寫法,都會(huì)生成新的 Symbol。它們的區(qū)別是,前者會(huì)被登記在全局環(huán)境中供搜索,后者不會(huì)。Symbol.for()不會(huì)每次調(diào)用就返回一個(gè)新的 Symbol 類型的值,而是會(huì)先檢查給定的key是否已經(jīng)存在,如果不存在才會(huì)新建一個(gè)值。

Symbol.keyFor()

Symbol.keyFor()方法返回一個(gè)已登記的 Symbol 類型值的key。

const s1 = Symbol('foo')
console.log(Symbol.keyFor(s1)) // undefined

const s2 = Symbol.for('foo')
console.log(Symbol.keyFor(s2)) // foo

應(yīng)用場(chǎng)景

消除魔術(shù)字符串

魔術(shù)字符串指的是,在代碼之中多次出現(xiàn)、與代碼形成強(qiáng)耦合的某一個(gè)具體的字符串或者數(shù)值。風(fēng)格良好的代碼,應(yīng)該盡量消除魔術(shù)字符串,改由含義清晰的變量代替。

function getArea(shape, options) {
  let area = 0;

  switch (shape) {
    case 'Triangle': // 魔術(shù)字符串
      area = .5 * options.width * options.height;
      break;
     /* ... more code ... */
  }

  return area;
}

getArea('Triangle', { width: 100, height: 100 }); // 魔術(shù)字符串

上面代碼中,字符串Triangle和Circle就是魔術(shù)字符串。它多次出現(xiàn),與代碼形成“強(qiáng)耦合”,不利于將來的修改和維護(hù)。

常用的消除魔術(shù)字符串的方法,就是把它寫成一個(gè)變量。

const shapeType = {
  triangle: 'Triangle'
};

function getArea(shape, options) {
  let area = 0;
  switch (shape) {
    case shapeType.triangle:
      area = .5 * options.width * options.height;
      break;
  }
  return area;
}

getArea(shapeType.triangle, { width: 100, height: 100 });

上面代碼中,我們把Triangle寫成shapeType對(duì)象的triangle屬性,這樣就消除了強(qiáng)耦合。

如果仔細(xì)分析,可以發(fā)現(xiàn)shapeType.triangle等于哪個(gè)值并不重要,只要確保不會(huì)跟其他shapeType屬性的值沖突即可。因此,這里就很適合改用 Symbol 值。

const shapeType = {
  triangle: Symbol()
};

最終的代碼

const shapeType = {
    triangle: Symbol(),
    circle: Symbol()
}

function getArea(shape) {
    let area = 0
    switch (shape) {
        case shapeType.triangle:
             area = .5 * options.width * options.height;
             break;
        case shapeType.circle:
            // ... more code ...
            break
    }
    return area
}
console.log(getArea(shapeType.triangle))

Symbol 類型還可以用于定義一組常量,保證這組常量的值都是不相等的。

const COLOR_RED    = Symbol();
const COLOR_GREEN  = Symbol();

function getComplement(color) {
  switch (color) {
    case COLOR_RED:
      return COLOR_GREEN;
    case COLOR_GREEN:
      return COLOR_RED;
    default:
      throw new Error('Undefined color');
    }
}

常量使用 Symbol 值最大的好處,就是其他任何值都不可能有相同的值了,因此可以保證上面的switch語句會(huì)按設(shè)計(jì)的方式工作。

Set

ES6 提供了新的數(shù)據(jù)結(jié)構(gòu) Set。它類似于數(shù)組,但是成員的值都是唯一的,沒有重復(fù)的值。

Set本身是一個(gè)構(gòu)造函數(shù),用來生成 Set 數(shù)據(jù)結(jié)構(gòu)。

 let s = new Set()
 // 在實(shí)例化的同時(shí)傳入默認(rèn)的數(shù)據(jù)。
 let s2 = new Set([1,2,3])
 
 // 初始化的參數(shù)必須是可遍歷的,可以是數(shù)組或者自定義遍歷的數(shù)據(jù)結(jié)構(gòu)。

添加數(shù)據(jù)

 let s = new Set()
 s.add('chimmy')
 s.add('18')
 s.add('jimmy').add('18')
 // Set 數(shù)據(jù)結(jié)構(gòu)不允許數(shù)據(jù)重復(fù),所以添加重復(fù)的數(shù)據(jù)是無效的
 console.log(s); // Set(3) { 'chimmy', '18', 'jimmy' }

刪除數(shù)據(jù)

  // 刪除指定數(shù)據(jù)
  s.delete('jimmy') // true
  // 刪除全部數(shù)據(jù)
  s.clear()

查找和總數(shù)

// 判斷是否包含數(shù)據(jù)項(xiàng),返回 true 或 false
s.has('hello') // true
// 計(jì)算數(shù)據(jù)項(xiàng)總數(shù)
s.size // 3

應(yīng)用場(chǎng)景

數(shù)組去重

let arr = [1, 2, 3, 4, 2, 3]
let s = [...new Set(arr)]
console.log(s) // [1,2,3,4]

合并去重

let arr1 = [1, 2, 3, 4]
let arr2 = [2, 3, 4, 5, 6]
let s = new Set([...arr1, ...arr2])
console.log(s) // Set(6) { 1, 2, 3, 4, 5, 6 }
console.log([...s]) // [ 1, 2, 3, 4, 5, 6 ]
console.log(Array.from(s)) // [ 1, 2, 3, 4, 5, 6 ]

交集

let arr1 = [1, 2, 3, 4]
let arr2 = [2, 3, 4, 5, 6]
let s1 = new Set(arr1)
let s2 = new Set(arr2)
let result = new Set(arr1.filter(item => s2.has(item)))
console.log(Array.from(result)) // [ 2, 3, 4 ]

差集

let arr1 = [1, 2, 3, 4];
let arr2 = [2, 3, 4, 5, 6];
let s1 = new Set([1, 2, 3, 4])
let s2 = new Set([2, 3, 4, 5, 6])
let arr3 = new Set(arr1.filter(item => !s2.has(item)))
let arr4 = new Set(arr2.filter(item => !s1.has(item)))
console.log(arr3) // Set(1) { 1 }
console.log(arr4) // Set(2) { 5, 6 }  
console.log([...arr3, ...arr4]) // [ 1, 5, 6 ]

WeakSet

WeakSet 結(jié)構(gòu)與 Set 類似,也是不重復(fù)的值的集合。但是,它與 Set 有兩個(gè)區(qū)別。

WeakSet 的成員只能是對(duì)象,而不能是其他類型的值。

const ws = new WeakSet()
ws.add(1)
// TypeError: Invalid value used in weak set
ws.add(Symbol())
// TypeError: invalid value used in weak set
let ws = new WeakSet()
const obj1 = {
    name: 'imooc'
}
const obj2 = {
    age: 5
}
ws.add(obj1)
ws.add(obj2)
ws.delete(obj1)
console.log(ws)
console.log(ws.has(obj2))

WeakSet 沒有size屬性,沒有辦法遍歷它的成員。

WeakSet 中的對(duì)象都是弱引用,即垃圾回收機(jī)制不考慮 WeakSet 對(duì)該對(duì)象的引用,也就是說,如果其他對(duì)象都不再引用該對(duì)象,那么垃圾回收機(jī)制會(huì)自動(dòng)回收該對(duì)象所占用的內(nèi)存,不考慮該對(duì)象還存在于 WeakSet 之中。

Map

JavaScript 的對(duì)象(Object),本質(zhì)上是鍵值對(duì)的集合(Hash 結(jié)構(gòu)),但是傳統(tǒng)上只能用字符串當(dāng)作鍵。這給它的使用帶來了很大的限制。

const data = {};
const element = document.getElementById('myDiv');

data[element] = 'metadata';
data['[object HTMLDivElement]'] // "metadata"

上面代碼原意是將一個(gè) DOM 節(jié)點(diǎn)作為對(duì)象data的鍵,但是由于對(duì)象只接受字符串作為鍵名,所以element被自動(dòng)轉(zhuǎn)為字符串[object HTMLDivElement]

為了解決這個(gè)問題,ES6 提供了 Map 數(shù)據(jù)結(jié)構(gòu)。它類似于對(duì)象,也是鍵值對(duì)的集合,但是“鍵”的范圍不限于字符串,各種類型的值(包括對(duì)象)都可以當(dāng)作鍵。也就是說,Object 結(jié)構(gòu)提供了“字符串—值”的對(duì)應(yīng),Map 結(jié)構(gòu)提供了“值—值”的對(duì)應(yīng),是一種更完善的 Hash 結(jié)構(gòu)實(shí)現(xiàn)。如果你需要“鍵值對(duì)”的數(shù)據(jù)結(jié)構(gòu),Map 比 Object 更合適。

const m = new Map();
const o = {p: 'Hello World'};

m.set(o, 'content')
m.get(o) // "content"

m.has(o) // true
m.delete(o) // true
m.has(o) // false

上面代碼使用 Map 結(jié)構(gòu)的set方法,將對(duì)象o當(dāng)作m的一個(gè)鍵,然后又使用get方法讀取這個(gè)鍵,接著使用delete方法刪除了這個(gè)鍵。

添加數(shù)據(jù)

  let map = new Map()
  let keyObj = {}
  let keyFunc = function() {}
  let keyString = 'a string'

  // 添加鍵
  map.set(keyString, "和鍵'a string'關(guān)聯(lián)的值")
  map.set(keyObj, '和鍵keyObj關(guān)聯(lián)的值')
  map.set(keyFunc, '和鍵keyFunc關(guān)聯(lián)的值')
  console.log(map) //
  // Map(3) {
  // 'a string' => "和鍵'a string'關(guān)聯(lián)的值",
  // {} => '和鍵keyObj關(guān)聯(lián)的值',
  // [Function: keyFunc] => '和鍵keyFunc關(guān)聯(lián)的值'
  // }

刪除數(shù)據(jù)

  // 刪除指定的數(shù)據(jù)
  map.delete(keyObj)
  // 刪除所有數(shù)據(jù)
  map.clear()

查找和統(tǒng)計(jì)

  // 統(tǒng)計(jì)所有 key-value 的總數(shù)
  console.log(map.size) //3
  // 判斷是否有 key-value
  console.log(map.has(keyObj)) // true

獲取

 console.log(map.get(keyObj)) // 和鍵keyObj關(guān)聯(lián)的值

weakMap

WeakMap結(jié)構(gòu)與Map結(jié)構(gòu)類似,也是用于生成鍵值對(duì)的集合。

// WeakMap 可以使用 set 方法添加成員
const wm1 = new WeakMap()
const key = {
    foo: 1
}
wm1.set(key, 2)
wm1.get(key) // 2

// WeakMap 也可以接受一個(gè)數(shù)組,
// 作為構(gòu)造函數(shù)的參數(shù)
const k1 = [1, 2, 3]
const k2 = [4, 5, 6]
const wm2 = new WeakMap([
    [k1, 'foo'],
    [k2, 'bar']
])
wm2.get(k2) // "bar"

WeakMap與Map的區(qū)別有兩點(diǎn)。

  • WeakMap的鍵名所指向的對(duì)象,不計(jì)入垃圾回收機(jī)制。
  • WeakMap只接受對(duì)象作為鍵名(null除外),不接受其他類型的值作為鍵名。
const map = new WeakMap()
map.set(1, 2)
// TypeError: 1 is not an object!
map.set(Symbol(), 2)
// TypeError: Invalid value used as weak map key
map.set(null, 2)
// TypeError: Invalid value used as weak map key

最后

這篇文章已有萬字,受限于篇幅, ES6的Class,Proxy,Reflect,Promise,Module等自己后續(xù)會(huì)單獨(dú)寫幾篇文章,詳細(xì)講解。

推薦文章

ES7-ES12全部語法講解

到此這篇關(guān)于ES6語法大總結(jié)的文章就介紹到這了,更多相關(guān)ES6語法總結(jié)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

精品人妻伦一二三区久| 国产普通话插插视频| 一级黄片大鸡巴插入美女 | 一区二区三区日韩久久| 午夜精品一区二区三区更新| 亚洲av香蕉一区区二区三区犇| 国产在线观看黄色视频| 欧美精品资源在线观看| 在线国产日韩欧美视频| 欧亚日韩一区二区三区观看视频| 中文字幕在线一区精品| 一色桃子久久精品亚洲| 换爱交换乱高清大片| 青春草视频在线免费播放| 蜜桃专区一区二区在线观看| 亚洲精品国品乱码久久久久| 北条麻妃肉色丝袜视频| av在线观看网址av| 大陆精品一区二区三区久久| 热久久只有这里有精品| 午夜精品福利一区二区三区p| 3337p日本欧洲大胆色噜噜| 大骚逼91抽插出水视频| 国内自拍第一页在线观看| 免费一级黄色av网站| 播放日本一区二区三区电影| 视频在线亚洲一区二区| 久久热久久视频在线观看| 日韩av有码一区二区三区4| 国产成人无码精品久久久电影| 国产一区二区在线欧美| 日韩精品电影亚洲一区| 亚洲激情,偷拍视频| 午夜91一区二区三区| 大胸性感美女羞爽操逼毛片| 国产午夜亚洲精品麻豆| 无码中文字幕波多野不卡| 国产黄色高清资源在线免费观看| 韩国一级特黄大片做受| 扒开让我视频在线观看| 国产福利小视频二区| 93人妻人人揉人人澡人人| 久久久久久cao我的性感人妻| 亚洲va国产va欧美精品88| 中文字幕av第1页中文字幕| 少妇高潮一区二区三区| 一区二区三区av高清免费| 1000小视频在线| 日韩美女综合中文字幕pp| 亚洲欧美成人综合在线观看| 亚洲福利精品视频在线免费观看| 天码人妻一区二区三区在线看 | 伊人情人综合成人久久网小说| 亚洲精品在线资源站| 美女av色播在线播放| 视频 国产 精品 熟女 | 国产三级精品三级在线不卡| 中文亚洲欧美日韩无线码| 男人插女人视频网站| 国产大学生援交正在播放| 91精品国产高清自在线看香蕉网| 婷婷久久久久深爱网| 青娱乐蜜桃臀av色| 精品成人午夜免费看| 精品国产污污免费网站入口自| 日韩精品激情在线观看| 亚洲另类综合一区小说| 91人妻精品一区二区在线看| 日韩美在线观看视频黄| 任你操视频免费在线观看| 亚洲超碰97人人做人人爱| chinese国产盗摄一区二区| 在线 中文字幕 一区| 啊啊好慢点插舔我逼啊啊啊视频| 中文字幕日韩无敌亚洲精品| 5528327男人天堂| 国产chinesehd精品麻豆| 日韩一区二区电国产精品| av手机免费在线观看高潮| 亚洲综合一区二区精品久久| 大屁股熟女一区二区三区| 18禁网站一区二区三区四区| 日本女大学生的黄色小视频| 97人妻人人澡爽人人精品| 漂亮 人妻被中出中文| 天天操夜夜骑日日摸| 喷水视频在线观看这里只有精品| 福利视频一区二区三区筱慧| 天天干天天操天天摸天天射| 亚洲精品国品乱码久久久久| 亚洲精品av在线观看| 欧美成人综合色在线噜噜| 亚洲人妻30pwc| 最近的中文字幕在线mv视频| 91成人在线观看免费视频| 日韩精品激情在线观看| 日韩美女综合中文字幕pp| 国产刺激激情美女网站| 亚洲成人情色电影在线观看| 国产精品亚洲在线观看| 91麻豆精品秘密入口在线观看| 国产女人露脸高潮对白视频| 狠狠操操操操操操操操操| 大陆精品一区二区三区久久| 国产真实乱子伦a视频| 91she九色精品国产| 99精品国产自在现线观看| 免费看国产av网站| 国产午夜激情福利小视频在线| 亚洲成人情色电影在线观看| 一级A一级a爰片免费免会员| 免费在线观看视频啪啪| 国产亚洲四十路五十路| 女同久久精品秋霞网| 日本性感美女写真视频| 中文字幕视频一区二区在线观看| 男生用鸡操女生视频动漫| 91久久综合男人天堂| 91综合久久亚洲综合| 国产精品久久久久久久精品视频| 喷水视频在线观看这里只有精品| 国产精品久久综合久久| 中文字幕在线免费第一页| 亚洲精品乱码久久久久久密桃明| 一区二区三区精品日本| www日韩毛片av| 成人蜜桃美臀九一一区二区三区| AV无码一区二区三区不卡| 天天草天天色天天干| 欧美特级特黄a大片免费| japanese五十路熟女熟妇| 91久久综合男人天堂| 成人综合亚洲欧美一区 | 成人伊人精品色xxxx视频| 精品老妇女久久9g国产| 日日日日日日日日夜夜夜夜夜夜| 超碰97人人澡人人| 亚洲一区自拍高清免费视频| 天天操,天天干,天天射| 国产中文字幕四区在线观看| 亚洲人妻av毛片在线| 日本最新一二三区不卡在线| 国产精品成人xxxx| 91久久综合男人天堂| 免费看国产av网站| 国产av自拍偷拍盛宴| 日本高清撒尿pissing| 人妻3p真实偷拍一二区| 国产a级毛久久久久精品| 少妇人妻二三区视频| 白嫩白嫩美女极品国产在线观看| 国产欧美精品不卡在线| 精品久久久久久久久久久a√国产| 亚洲国产欧美国产综合在线| 一区二区三区久久久91| 韩国一级特黄大片做受| 黄片大全在线观看观看| 热久久只有这里有精品| 偷拍自拍国产在线视频| 国产精品黄页网站视频| 国产成人精品福利短视频| 午夜精品一区二区三区更新| 91成人在线观看免费视频| 2022精品久久久久久中文字幕| 熟女在线视频一区二区三区| 欧美精品免费aaaaaa| 国产成人精品午夜福利训2021| 亚洲在线观看中文字幕av| 天天做天天干天天操天天射| 91久久精品色伊人6882| 一区二区三区av高清免费| 一区二区久久成人网| 国产午夜亚洲精品麻豆| 人妻丝袜榨强中文字幕| 日韩精品中文字幕播放| 亚洲变态另类色图天堂网| 亚洲天堂精品福利成人av| 偷拍美女一区二区三区| 九九热99视频在线观看97| 色婷婷久久久久swag精品| 福利在线视频网址导航| 大鸡巴插入美女黑黑的阴毛| 天天躁日日躁狠狠躁躁欧美av | 中文字幕日韩无敌亚洲精品| 人妻av无码专区久久绿巨人| 无码国产精品一区二区高潮久久4 日韩欧美一级精品在线观看 | 国产精品一区二区久久久av| 精品久久久久久久久久久久人妻| 亚洲激情唯美亚洲激情图片| 日本后入视频在线观看| 午夜极品美女福利视频| 国产成人小视频在线观看无遮挡| 人人爽亚洲av人人爽av| 在线免费视频 自拍| 精品91高清在线观看 | 亚洲超碰97人人做人人爱| 亚洲精品无码久久久久不卡| 亚洲成人免费看电影| 欧美va不卡视频在线观看| 亚洲激情,偷拍视频| 亚洲第一黄色在线观看| 天天躁夜夜躁日日躁a麻豆| 日本真人性生活视频免费看| 熟女人妻一区二区精品视频| 欧美成人综合视频一区二区| av破解版在线观看| 久草极品美女视频在线观看| 天天射夜夜操狠狠干| 狍和女人的王色毛片| 综合精品久久久久97| 亚洲一级美女啪啪啪| 久久人人做人人妻人人玩精品vr| 国产成人精品av网站| 大香蕉福利在线观看| 人人妻人人澡欧美91精品| 亚洲精品一区二区三区老狼| 中文字幕一区二区三区人妻大片| 天天夜天天日天天日| 少妇与子乱在线观看| 日韩视频一区二区免费观看| 欧美成人猛片aaaaaaa| aiss午夜免费视频| 日日日日日日日日夜夜夜夜夜夜| 精品少妇一二三视频在线| 中文字幕高清资源站| 动漫av网站18禁| 亚洲另类在线免费观看| 亚洲美女自偷自拍11页| 黑人解禁人妻叶爱071| 激情啪啪啪啪一区二区三区 | 888欧美视频在线| 性色蜜臀av一区二区三区| 成人免费公开视频无毒| 韩国女主播精品视频网站| 亚洲午夜高清在线观看| 中文字幕综合一区二区| 国产精品国产三级国产精东 | 一色桃子人妻一区二区三区| 国产真实灌醉下药美女av福利| 小泽玛利亚视频在线观看| 日本女人一级免费片| 天天干天天搞天天摸| 欧美另类一区二区视频| 中文字幕日本人妻中出| 手机看片福利盒子日韩在线播放| 大屁股肉感人妻中文字幕在线| 男人的天堂在线黄色| av一区二区三区人妻| 男人的网址你懂的亚洲欧洲av| 亚洲蜜臀av一区二区三区九色| 亚洲熟女综合色一区二区三区四区 | 看一级特黄a大片日本片黑人| 中文字幕AV在线免费看 | 欧美日本国产自视大全| 午夜在线观看一区视频| 一二三区在线观看视频| 在线观看av2025| 香蕉aⅴ一区二区三区| 久久人人做人人妻人人玩精品vr | 色综合久久无码中文字幕波多| 四川乱子伦视频国产vip| 天天日天天干天天搡| 熟女人妻在线中出观看完整版| 国产真实灌醉下药美女av福利| 欧美精品中文字幕久久二区| 又粗又硬又猛又爽又黄的| 中文字幕 亚洲av| 干逼又爽又黄又免费的视频| 在线观看免费岛国av| 77久久久久国产精产品| 亚洲变态另类色图天堂网| 99av国产精品欲麻豆| 美味人妻2在线播放| 欧美日本在线视频一区| 午夜婷婷在线观看视频| 亚洲熟妇久久无码精品| 日本熟妇丰满厨房55| 农村胖女人操逼视频| 国产卡一卡二卡三乱码手机| 成人sm视频在线观看| 国产精品午夜国产小视频| 亚洲av琪琪男人的天堂| 九一传媒制片厂视频在线免费观看| 粉嫩av懂色av蜜臀av| 在线亚洲天堂色播av电影| 成年人中文字幕在线观看| 日本欧美视频在线观看三区| 中文字幕之无码色多多| 国产精品sm调教视频| 亚洲无线观看国产高清在线| www骚国产精品视频| tube69日本少妇| 中文字幕在线一区精品| av天堂中文字幕最新| 9国产精品久久久久老师| 国产白袜脚足J棉袜在线观看| 成熟丰满熟妇高潮xx×xx| 91桃色成人网络在线观看| 国产美女精品福利在线| 国产黄色a级三级三级三级| 香蕉aⅴ一区二区三区| 日本裸体熟妇区二区欧美| 精品人妻一二三区久久| 最新91九色国产在线观看| 成人精品在线观看视频| 国产精品久久9999| 看一级特黄a大片日本片黑人| 国产综合视频在线看片| 绝色少妇高潮3在线观看| 国产精品自拍在线视频| 小泽玛利亚视频在线观看| lutube在线成人免费看| 影音先锋女人av噜噜色| 人妻丝袜av在线播放网址| 午夜国产福利在线观看| 精品国产成人亚洲午夜| 成人影片高清在线观看 | 欧美精品 日韩国产| 亚洲 欧美 精品 激情 偷拍| 亚洲日产av一区二区在线| 婷婷激情四射在线观看视频| 欲满人妻中文字幕在线| 黑人性生活视频免费看| 国产97在线视频观看| 久久久91蜜桃精品ad| 成人乱码一区二区三区av| 又大又湿又爽又紧A视频| 国产精品大陆在线2019不卡| 亚洲国产在人线放午夜| 国产卡一卡二卡三乱码手机| 免费费一级特黄真人片| 久久久制服丝袜中文字幕| 精品成人午夜免费看| 和邻居少妇愉情中文字幕| 国产卡一卡二卡三乱码手机| 最近中文字幕国产在线| 护士小嫩嫩又紧又爽20p| 播放日本一区二区三区电影| 超碰公开大香蕉97| 人妻3p真实偷拍一二区| av天堂资源最新版在线看| 国产一线二线三线的区别在哪| 女蜜桃臀紧身瑜伽裤| 欧美日本在线观看一区二区| 天天操天天干天天日狠狠插| 888亚洲欧美国产va在线播放| 成人蜜桃美臀九一一区二区三区| 最近中文2019年在线看| 可以在线观看的av中文字幕| 大香蕉玖玖一区2区| 免费在线观看视频啪啪| 精品一区二区三区在线观看| 国产成人综合一区2区| 日韩一个色综合导航| av破解版在线观看| 福利在线视频网址导航| 直接能看的国产av| 人妻爱爱 中文字幕| 中文字幕视频一区二区在线观看| 午夜成午夜成年片在线观看| 亚洲 图片 欧美 图片| 超碰97人人澡人人| 北条麻妃av在线免费观看| 福利一二三在线视频观看| 成人区人妻精品一区二视频| 亚洲欧美成人综合在线观看| 婷婷综合亚洲爱久久| 1024久久国产精品| 大香蕉福利在线观看| 大学生A级毛片免费视频| 国产精品视频男人的天堂| 真实国模和老外性视频| 国产一区二区三免费视频 | 宅男噜噜噜666免费观看| 11久久久久久久久久久| huangse网站在线观看| 午夜精品一区二区三区更新| 91色老99久久九九爱精品| 亚洲一区二区三区久久午夜| 黑人性生活视频免费看| 亚洲女人的天堂av| 亚洲一区二区激情在线| 88成人免费av网站| 亚洲 图片 欧美 图片| 欧美日韩激情啪啪啪| 伊人综合免费在线视频| 亚洲精品午夜久久久久| 老司机99精品视频在线观看| 日韩a级精品一区二区| 亚洲一区二区三区精品乱码| 亚洲青青操骚货在线视频| 亚洲 中文 自拍 另类 欧美 | 91精品国产91久久自产久强| 91色网站免费在线观看| 日韩少妇人妻精品无码专区| 欧美黑人性猛交xxxxⅹooo| 精品一区二区三区午夜| 日韩国产乱码中文字幕| 亚洲一区二区三区av网站| 免费在线观看视频啪啪| 免费在线观看视频啪啪| 66久久久久久久久久久| 精品91高清在线观看| 亚洲福利精品视频在线免费观看| 亚洲av日韩高清hd| 好男人视频在线免费观看网站| 亚洲精品国产在线电影| 亚洲成人精品女人久久久| 人妻熟女中文字幕aⅴ在线| 亚洲一区二区三区偷拍女厕91| 亚洲va天堂va国产va久| 欧美精品中文字幕久久二区| 91人妻精品一区二区久久| 国产实拍勾搭女技师av在线| 美女少妇亚洲精选av| 日本三极片视频网站观看| 国产精品久久久黄网站| 中文乱理伦片在线观看| 大陆胖女人与丈夫操b国语高清| 国产九色91在线观看精品| 亚洲自拍偷拍综合色| 亚洲天堂精品福利成人av| 精品一线二线三线日本| 欧美色婷婷综合在线| 日本午夜福利免费视频| 一二三中文乱码亚洲乱码one| 天天摸天天日天天操| 免费一级特黄特色大片在线观看 | 欧美亚洲自偷自拍 在线| 国产一区二区火爆视频| 国产日韩精品免费在线| 动色av一区二区三区| 亚洲成人国产av在线| 天天日夜夜操天天摸| 99婷婷在线观看视频| av亚洲中文天堂字幕网| 亚洲变态另类色图天堂网| 亚洲激情唯美亚洲激情图片| 中文字幕一区二区自拍| 亚洲成人精品女人久久久| 国产综合高清在线观看| 日韩亚国产欧美三级涩爱| 久久久久只精品国产三级| 亚洲精品成人网久久久久久小说| 888欧美视频在线| 欧美80老妇人性视频| 欧美日韩亚洲国产无线码| 欧美韩国日本国产亚洲| 蜜臀av久久久久久久| 搡老熟女一区二区在线观看| 亚洲男人的天堂a在线| 大香蕉伊人国产在线| 中文亚洲欧美日韩无线码| 欧美熟妇一区二区三区仙踪林| 国产第一美女一区二区三区四区| 亚洲中文字幕校园春色| 国产在线一区二区三区麻酥酥| 中文字幕一区的人妻欧美日韩| 综合激情网激情五月五月婷婷| 91免费观看国产免费| 欧美第一页在线免费观看视频| 欧美日本aⅴ免费视频| 精品suv一区二区69| 亚洲欧美一区二区三区爱爱动图| 国产麻豆国语对白露脸剧情 | 日韩欧美中文国产在线| 黄色片一级美女黄色片| 日韩av免费观看一区| 密臀av一区在线观看| 国产精品久久久久网| 肏插流水妹子在线乐播下载| 天天日天天操天天摸天天舔| 日日日日日日日日夜夜夜夜夜夜| 夜夜嗨av蜜臀av| 99精品亚洲av无码国产另类| 男生舔女生逼逼视频| 亚洲2021av天堂| www久久久久久久久久久| 国产成人精品午夜福利训2021| 91社福利《在线观看| 91国偷自产一区二区三区精品| 老司机99精品视频在线观看| 亚洲精品一区二区三区老狼| 国产精品视频一区在线播放| 亚洲综合乱码一区二区| 美女吃鸡巴操逼高潮视频| ka0ri在线视频| 天天日天天添天天爽| 亚洲欧美激情国产综合久久久| 亚洲在线观看中文字幕av| 国产精品3p和黑人大战| 9色在线视频免费观看| 男人靠女人的逼视频| 亚洲公开视频在线观看| 一区二区在线观看少妇| 日比视频老公慢点好舒服啊| 亚洲国产最大av综合| 黄色视频成年人免费观看| 91成人在线观看免费视频| 亚洲美女高潮喷浆视频| 中国黄色av一级片| 在线不卡成人黄色精品| 日本性感美女三级视频| 天天操夜夜骑日日摸| 午夜91一区二区三区| 国产精品国产三级麻豆| 大胆亚洲av日韩av| 91九色porny国产在线| 熟女人妻在线观看视频| 亚洲av自拍天堂网| 国产精品国产三级国产精东| 狍和女人的王色毛片| 五月天中文字幕内射| 在线免费观看欧美小视频| 日本高清成人一区二区三区| 精品欧美一区二区vr在线观看| 777奇米久久精品一区| 亚洲免费av在线视频| 久草视频中文字幕在线观看| 久久久精品精品视频视频| 欧美3p在线观看一区二区三区| 青娱乐在线免费视频盛宴| 亚洲激情偷拍一区二区| 亚洲 国产 成人 在线| 老司机99精品视频在线观看| 色婷婷久久久久swag精品| 亚洲熟女综合色一区二区三区四区| 91免费黄片可看视频| 亚洲国产欧美一区二区三区久久| 一级A一级a爰片免费免会员| 天天干天天操天天摸天天射| 国产精品黄色的av| 91自产国产精品视频| 天天日天天玩天天摸| 福利视频一区二区三区筱慧| gogo国模私拍视频| 大鸡巴操娇小玲珑的女孩逼| 日本裸体熟妇区二区欧美| 午夜成午夜成年片在线观看| 精品一区二区三区午夜| 日本成人一区二区不卡免费在线| 青青青国产片免费观看视频| 亚洲成高清a人片在线观看| gay gay男男瑟瑟在线网站| 黑人借宿ntr人妻的沦陷2| 绝顶痉挛大潮喷高潮无码| 亚洲中文精品人人免费| 久久美欧人妻少妇一区二区三区| 日本性感美女三级视频| 粉嫩av蜜乳av蜜臀| 第一福利视频在线观看| 中文字幕在线乱码一区二区| 婷婷色国产黑丝少妇勾搭AV| 91九色国产熟女一区二区| 国产精品自拍偷拍a| 色婷婷综合激情五月免费观看 | 人人妻人人澡人人爽人人dvl| 插小穴高清无码中文字幕| 亚洲国产精品免费在线观看| 中文字幕一区二区三区蜜月| 99热久久极品热亚洲| 天天日天天爽天天干| 经典亚洲伊人第一页| 五月天久久激情视频| 成人综合亚洲欧美一区| 少妇人妻100系列| 视频一区 二区 三区 综合| 国产精品国色综合久久| 一区二区久久成人网| jiuse91九色视频| weyvv5国产成人精品的视频| 岛国av高清在线成人在线| 中文字幕av熟女人妻| 国产精品久久久久久久久福交| 欧洲国产成人精品91铁牛tv| 亚洲天堂精品久久久| 亚洲伊人av天堂有码在线| 好吊视频—区二区三区| 在线可以看的视频你懂的| 成人蜜桃美臀九一一区二区三区| 亚洲av无女神免非久久| 国产一区二区火爆视频 | 97超碰免费在线视频| 一色桃子人妻一区二区三区| 91久久综合男人天堂| 日本少妇高清视频xxxxx| 黄色录像鸡巴插进去| 喷水视频在线观看这里只有精品| 青青青国产免费视频| 伊人综合aⅴ在线网| 欧美专区第八页一区在线播放 | 免费十精品十国产网站| 含骚鸡巴玩逼逼视频| 91she九色精品国产| 日本18禁久久久久久| 亚洲熟色妇av日韩熟色妇在线| 午夜成午夜成年片在线观看| 欧美日韩国产一区二区三区三州| 制服丝袜在线人妻中文字幕| 沙月文乃人妻侵犯中文字幕在线 | 亚洲蜜臀av一区二区三区九色| 亚洲欧美人精品高清| 韩国AV无码不卡在线播放 | 2020韩国午夜女主播在线| 中文字幕日韩人妻在线三区| 亚洲欧美国产麻豆综合| 欧美视频中文一区二区三区| 92福利视频午夜1000看 | 粉嫩av蜜乳av蜜臀| 国产免费av一区二区凹凸四季| 亚洲精品 欧美日韩| 特大黑人巨大xxxx| 日韩美女综合中文字幕pp| 欧美日韩高清午夜蜜桃大香蕉| 免费岛国喷水视频在线观看| 久久久久只精品国产三级| 黑人借宿ntr人妻的沦陷2| 国产成人精品av网站| 青青青青青青青在线播放视频| 熟女俱乐部一二三区| 成人性爱在线看四区| 五月色婷婷综合开心网4438| 新97超碰在线观看| 久久久久91精品推荐99| 成人综合亚洲欧美一区 | 日本xx片在线观看| jiuse91九色视频| 欧美乱妇无乱码一区二区| 被大鸡吧操的好舒服视频免费| aaa久久久久久久久| 国产白袜脚足J棉袜在线观看| 91老熟女连续高潮对白| 欧美在线一二三视频| 精品一区二区亚洲欧美| 老熟妇凹凸淫老妇女av在线观看| 女同性ⅹxx女同h偷拍| 男人天堂色男人av| 人妻少妇一区二区三区蜜桃| 大尺度激情四射网站| 2022国产综合在线干| 国产乱子伦精品视频潮优女| 97超碰免费在线视频| 自拍偷拍,中文字幕| 久久香蕉国产免费天天| 亚洲av天堂在线播放| 美女 午夜 在线视频| 欧美国产亚洲中英文字幕| 视频一区二区三区高清在线| 红杏久久av人妻一区| 亚洲av在线观看尤物| 人妻久久久精品69系列| 中文字幕之无码色多多| 亚洲av色香蕉一区二区三区| 美女少妇亚洲精选av| 动漫美女的小穴视频| 欧美黑人性猛交xxxxⅹooo| jul—619中文字幕在线| 我想看操逼黄色大片| 国产av福利网址大全| 亚洲一区二区激情在线| 少妇人妻二三区视频| 黄色无码鸡吧操逼视频| 9l人妻人人爽人人爽| 青草亚洲视频在线观看| 亚洲 中文 自拍 另类 欧美| 在线网站你懂得老司机| 中文字幕熟女人妻久久久| 自拍偷区二区三区麻豆| 在线新三级黄伊人网| 熟女人妻在线观看视频| 久久久制服丝袜中文字幕| 91老师蜜桃臀大屁股| 偷青青国产精品青青在线观看| av中文字幕在线观看第三页| 91色秘乱一区二区三区| 国产熟妇人妻ⅹxxxx麻豆| 嫩草aⅴ一区二区三区| 一区二区三区在线视频福利| 色花堂在线av中文字幕九九| a v欧美一区=区三区| 久久艹在线观看视频| 美味人妻2在线播放| 福利视频一区二区三区筱慧| 一级黄色av在线观看| 黄色片一级美女黄色片| 福利视频广场一区二区| 国产内射中出在线观看| 亚洲午夜电影在线观看| 熟女人妻在线中出观看完整版| 中文字幕在线视频一区二区三区 | 亚洲少妇高潮免费观看| 婷婷午夜国产精品久久久| 在线亚洲天堂色播av电影| 国产日韩av一区二区在线| 免费在线黄色观看网站| 狠狠躁狠狠爱网站视频| 久久尻中国美女视频| 中文字幕 码 在线视频| av天堂资源最新版在线看| 日韩欧美亚洲熟女人妻| 天天干天天操天天爽天天摸 | 五十路熟女人妻一区二| 在线观看视频 你懂的| 欧美日韩中文字幕欧美| 直接能看的国产av| 欧美韩国日本国产亚洲| 中国熟女一区二区性xx| 黄色录像鸡巴插进去| 9l人妻人人爽人人爽| 欧美另类一区二区视频| 国产午夜亚洲精品不卡在线观看| 亚洲精品国产久久久久久| 大陆胖女人与丈夫操b国语高清| av无限看熟女人妻另类av| 日韩影片一区二区三区不卡免费| 欧美成一区二区三区四区| av中文字幕福利网| 欧美中文字幕一区最新网址| 在线观看视频网站麻豆| 9色精品视频在线观看| 韩国男女黄色在线观看| 精品一区二区三四区| 亚洲va国产va欧美va在线| 天天干天天操天天摸天天射| 性色蜜臀av一区二区三区| 宅男噜噜噜666免费观看| 香港一级特黄大片在线播放| 99热久久这里只有精品8| 中文字幕熟女人妻久久久| 亚洲人妻国产精品综合| 欧美在线一二三视频| 亚洲男人的天堂a在线| 首之国产AV医生和护士小芳| 久久久久久久久久性潮| 国产综合视频在线看片| 边摸边做超爽毛片18禁色戒| 亚洲一区制服丝袜美腿| 熟女人妻在线观看视频| 亚洲美女自偷自拍11页| 美女操逼免费短视频下载链接| 真实国产乱子伦一区二区| 女同久久精品秋霞网| 日韩中文字幕精品淫| 婷婷激情四射在线观看视频| 漂亮 人妻被中出中文| v888av在线观看视频| 国产成人无码精品久久久电影 | 天天操天天射天天操天天天| 午夜av一区二区三区| av破解版在线观看| 欧美一级片免费在线成人观看| 男人操女人的逼免费视频| 自拍偷拍,中文字幕| 青青青青青青青在线播放视频| 久久尻中国美女视频| 亚洲欧美自拍另类图片| 18禁美女黄网站色大片下载| avjpm亚洲伊人久久| 啊用力插好舒服视频| chinese国产盗摄一区二区| 日韩人妻xxxxx| 日日夜夜狠狠干视频| 91亚洲国产成人精品性色| 日美女屁股黄邑视频| 少妇露脸深喉口爆吞精| 国产麻豆剧传媒精品国产av蜜桃| 日韩精品电影亚洲一区| 亚洲va国产va欧美精品88| 久久免费看少妇高潮完整版| 啊啊好慢点插舔我逼啊啊啊视频| 韩国黄色一级二级三级| 3337p日本欧洲大胆色噜噜| 日本人妻少妇18—xx| 中文字幕av第1页中文字幕| 亚洲欧美福利在线观看| 在线观看av亚洲情色| 人妻少妇中文有码精品| 国产又粗又硬又猛的毛片视频| 日韩人妻在线视频免费| 91精品综合久久久久3d动漫| 天天草天天色天天干| 久久久久久性虐视频| 亚洲自拍偷拍精品网| 十八禁在线观看地址免费| 欧美日韩中文字幕欧美| 国产精品黄页网站视频| 欧美日韩亚洲国产无线码| 天天射,天天操,天天说| 午夜精品亚洲精品五月色| 日本黄色三级高清视频| 亚洲熟妇x久久av久久| 最近中文2019年在线看| 在线观看黄色成年人网站| 欧美亚洲自偷自拍 在线| 在线免费观看日本片| 欧美精品亚洲精品日韩在线| 福利午夜视频在线合集| 自拍 日韩 欧美激情| 黄片大全在线观看观看| 中文字幕AV在线免费看 | 亚洲国产第一页在线观看| 三上悠亚和黑人665番号| 日本免费一级黄色录像| 久草视频中文字幕在线观看| 成人综合亚洲欧美一区 | 精品一区二区三四区| 粉嫩小穴流水视频在线观看| 亚洲av极品精品在线观看| 中文字幕 码 在线视频| 在线观看视频污一区| 国产性生活中老年人视频网站| 沙月文乃人妻侵犯中文字幕在线 | 亚洲第一伊人天堂网| 亚洲精品一线二线在线观看| 亚洲高清国产自产av| 最新97国产在线视频| 亚洲av成人网在线观看| 国产精品中文av在线播放| 国产亚洲视频在线二区| 成人H精品动漫在线无码播放| 免费手机黄页网址大全| 日本黄色特一级视频| av视屏免费在线播放| 美女少妇亚洲精选av| 一区二区三区另类在线 | 欧美国产亚洲中英文字幕| 2o22av在线视频| 欧美视频一区免费在线| 激情色图一区二区三区| 日本一道二三区视频久久| 亚洲 图片 欧美 图片| 韩国女主播精品视频网站| 在线国产日韩欧美视频| 美女骚逼日出水来了| 播放日本一区二区三区电影 | 少妇深喉口爆吞精韩国| 又粗又硬又猛又爽又黄的| 岛国一区二区三区视频在线| 中文字幕欧美日韩射射一| 夜鲁夜鲁狠鲁天天在线| 亚洲精品乱码久久久本| 大陆精品一区二区三区久久| 天堂av中文在线最新版| 久久一区二区三区人妻欧美| 国产精品自拍在线视频| 国产在线拍揄自揄视频网站| 中文字幕亚洲久久久| 亚洲国产欧美国产综合在线| 密臀av一区在线观看| 亚洲黄色av网站免费播放| 91国内视频在线观看| 端庄人妻堕落挣扎沉沦| 欧美一区二区三区高清不卡tv| 97香蕉碰碰人妻国产樱花| 久久久久久久久久性潮| 精品成人午夜免费看| 5528327男人天堂| 亚洲第一伊人天堂网| 午夜影院在线观看视频羞羞羞| 玩弄人妻熟妇性色av少妇| sejizz在线视频| 美日韩在线视频免费看| 日本男女操逼视频免费看| 国产福利小视频大全| 欧美老鸡巴日小嫩逼| 亚洲午夜电影之麻豆| 亚洲av天堂在线播放| 91色网站免费在线观看| 晚上一个人看操B片| 亚洲国产成人av在线一区| 一区二区三区 自拍偷拍| 日本av高清免费网站| 韩国AV无码不卡在线播放| 欧美日韩情色在线观看| 漂亮 人妻被中出中文| 国产九色91在线观看精品| 国产成人精品一区在线观看| 成年人啪啪视频在线观看| 中文字幕AV在线免费看 | 激情综合治理六月婷婷| 国产精品伦理片一区二区| 亚洲精品精品国产综合| 高清一区二区欧美系列| 在线观看免费视频网| 亚洲av无硬久久精品蜜桃| 精品一区二区亚洲欧美| 国产综合高清在线观看| 亚洲熟色妇av日韩熟色妇在线 | 日日夜夜狠狠干视频| av在线观看网址av| 成人性黑人一级av| 欧美日本在线观看一区二区| 粉嫩av蜜乳av蜜臀 | 国产精品久久久久久久久福交 | 操操网操操伊剧情片中文字幕网| 日本少妇高清视频xxxxx| 91成人在线观看免费视频| 国产片免费观看在线观看| 成人av电影免费版| 国产精品欧美日韩区二区| 日本人妻精品久久久久久| 最新激情中文字幕视频| 538精品在线观看视频| 日本又色又爽又黄又粗| 亚洲欧美综合在线探花| 2021天天色天天干| 天天干天天操天天插天天日| 国产品国产三级国产普通话三级| 国产V亚洲V天堂无码欠欠| 又粗又硬又猛又黄免费30| 日韩欧美国产精品91| 精品国产高潮中文字幕| 天天艹天天干天天操| 亚洲一区二区久久久人妻| 97超碰国语国产97超碰| 欧美精品一区二区三区xxxx| 亚洲欧美日韩视频免费观看| 大香蕉大香蕉在线看| 天码人妻一区二区三区在线看| AV无码一区二区三区不卡| 欧美天堂av无线av欧美| 一区二区视频在线观看视频在线| 欧美亚洲中文字幕一区二区三区| 日韩亚国产欧美三级涩爱| 2021年国产精品自拍| 人人妻人人爱人人草| 青青操免费日综合视频观看| 护士特殊服务久久久久久久| 中文字幕高清免费在线人妻 | 2022精品久久久久久中文字幕| 98精产国品一二三产区区别| 伊人网中文字幕在线视频| 欧美成人黄片一区二区三区| 亚洲免费在线视频网站| 人人人妻人人澡人人| 亚洲欧美日韩视频免费观看| 天天日天天鲁天天操| 亚洲va国产va欧美va在线| 80电影天堂网官网| 都市激情校园春色狠狠| 亚洲欧美一区二区三区电影| 成人动漫大肉棒插进去视频| 91色九色porny| 亚洲麻豆一区二区三区| 欧美成人小视频在线免费看| 亚洲成人三级在线播放| 国产熟妇人妻ⅹxxxx麻豆| 无忧传媒在线观看视频| 五十路丰满人妻熟妇| 中文字幕av熟女人妻| 亚洲欧美清纯唯美另类| 特黄老太婆aa毛毛片| 午夜精品在线视频一区| 亚洲综合一区二区精品久久| 中文字幕高清免费在线人妻| 黄色大片免费观看网站| 91人妻精品久久久久久久网站| 亚洲中文字幕校园春色| 小泽玛利亚视频在线观看| 精品黑人巨大在线一区| 欧美视频综合第一页| 亚洲中文精品人人免费| 欧美成人一二三在线网| 午夜在线观看一区视频| 青青青aaaa免费| 精品91自产拍在线观看一区| 偷偷玩弄新婚人妻h视频| 色婷婷久久久久swag精品| 性色av一区二区三区久久久| japanese五十路熟女熟妇| 欧美va不卡视频在线观看 | av俺也去在线播放| 瑟瑟视频在线观看免费视频| 国产精品自拍在线视频| 日本性感美女视频网站| 久久久麻豆精亚洲av麻花| 亚洲av日韩精品久久久久久hd| 大黑人性xxxxbbbb| 五月天色婷婷在线观看视频免费| 97超碰最新免费在线观看| 丝袜国产专区在线观看| 青草亚洲视频在线观看| 9久在线视频只有精品| 欧美日本在线观看一区二区| 在线观看成人国产电影| 成人av电影免费版| 亚洲va天堂va国产va久| 女生自摸在线观看一区二区三区| 欧美日韩精品永久免费网址| 精品久久久久久久久久久a√国产| 91精品激情五月婷婷在线| 一区二区在线观看少妇| 99亚洲美女一区二区三区| 欧美精品激情在线最新观看视频| 日韩美女精品视频在线观看网站| 1024久久国产精品| 99精品亚洲av无码国产另类| 精品国产亚洲av一淫| 97少妇精品在线观看| 99一区二区在线观看| 色呦呦视频在线观看视频| 午夜激情精品福利视频| 国产日韩一区二区在线看| 黄色资源视频网站日韩| 91麻豆精品传媒国产黄色片| 精品91自产拍在线观看一区| yy96视频在线观看| 国产精品久久久黄网站| 一区二区视频在线观看免费观看 | 免费啪啪啪在线观看视频| 青青青爽视频在线播放| 天堂av狠狠操蜜桃| 亚洲国产成人av在线一区| 欧美日韩中文字幕欧美| 亚洲欧美综合在线探花| 白白操白白色在线免费视频| av中文字幕网址在线| 这里有精品成人国产99| 夜色撩人久久7777| 午夜精品亚洲精品五月色| 天堂v男人视频在线观看| 青青草原网站在线观看| 丝袜美腿视频诱惑亚洲无| 国产欧美日韩在线观看不卡| 中文字幕AV在线免费看 | 亚洲精品ww久久久久久| 一区二区三区 自拍偷拍| 亚洲综合一区成人在线| 阴茎插到阴道里面的视频| 91香蕉成人app下载| 都市激情校园春色狠狠| 日美女屁股黄邑视频| 中文字幕午夜免费福利视频| 亚洲精品国品乱码久久久久| 国产视频一区在线观看| 久久久久国产成人精品亚洲午夜| 国产伊人免费在线播放| 国产变态另类在线观看| 国产欧美日韩第三页| 91自产国产精品视频| 日韩一个色综合导航| 成人av久久精品一区二区| 国产精品伦理片一区二区| 538精品在线观看视频| 最新黄色av网站在线观看| 在线观看亚洲人成免费网址| 国产精彩福利精品视频| 91麻豆精品久久久久| 男人天堂色男人av| 亚洲一区二区三区偷拍女厕91| 日曰摸日日碰夜夜爽歪歪| 在线免费观看国产精品黄色| 99av国产精品欲麻豆| 一区二区三区日韩久久| 日韩特级黄片高清在线看| 99精品亚洲av无码国产另类| 在线视频免费观看网| 色秀欧美视频第一页| 国产品国产三级国产普通话三级| 熟女人妻三十路四十路人妻斩| 国产精品黄片免费在线观看| 亚洲日产av一区二区在线| 国产麻豆乱子伦午夜视频观看| 亚洲2021av天堂| 一区二区三区毛片国产一区| 国产老熟女伦老熟妇ⅹ| 亚洲偷自拍高清视频| 粉嫩小穴流水视频在线观看| 男人在床上插女人视频| www,久久久,com| 欧美亚洲牲夜夜综合久久| 国产不卡av在线免费| 韩国一级特黄大片做受| 欧美天堂av无线av欧美| 欧美第一页在线免费观看视频| 国产成人一区二区三区电影网站| 亚洲欧美综合另类13p| 日韩成人免费电影二区| 亚欧在线视频你懂的| 日本在线不卡免费视频| 好吊视频—区二区三区| 黄色三级网站免费下载| 日日爽天天干夜夜操| 亚洲在线免费h观看网站| 人妻少妇av在线观看| 午夜精品一区二区三区4| 一区二区三区 自拍偷拍| 一区二区免费高清黄色视频| 亚洲另类在线免费观看| 男人的天堂在线黄色| 狠狠躁狠狠爱网站视频| 538精品在线观看视频| 国产一区二区在线欧美| 国产亚洲视频在线观看| 91亚洲手机在线视频播放| 自拍偷拍亚洲另类色图| 韩国黄色一级二级三级| 老司机福利精品视频在线| 精品一区二区亚洲欧美| 2022中文字幕在线| 91欧美在线免费观看| 国产真实灌醉下药美女av福利| 香蕉片在线观看av| 国际av大片在线免费观看| 日本少妇在线视频大香蕉在线观看| 黑人解禁人妻叶爱071| 亚洲精品ww久久久久久| 青青在线视频性感少妇和隔壁黑丝| 中文字幕人妻一区二区视频 | 欧亚日韩一区二区三区观看视频| 亚洲精品 欧美日韩| xxx日本hd高清| 亚洲国产最大av综合| 啪啪啪18禁一区二区三区| 久久一区二区三区人妻欧美| 99热碰碰热精品a中文| 亚洲欧美清纯唯美另类| 瑟瑟视频在线观看免费视频| 天天日天天爽天天干| 一级黄色片夫妻性生活| 亚洲人妻av毛片在线| 国产精品黄片免费在线观看| 国产亚洲精品视频合集| 九色精品视频在线播放| 亚洲欧美另类自拍偷拍色图| 婷婷久久一区二区字幕网址你懂得 | 97欧洲一区二区精品免费| 久久久久久性虐视频| 人妻丝袜榨强中文字幕| 久碰精品少妇中文字幕av| 国产视频网站国产视频| 不卡精品视频在线观看| 天天爽夜夜爽人人爽QC| 顶级尤物粉嫩小尤物网站| 中文字幕 亚洲av| av中文字幕网址在线| 999热精品视频在线| 精品少妇一二三视频在线| 做爰视频毛片下载蜜桃视频1| 国产精选一区在线播放| 9色精品视频在线观看| av老司机精品在线观看| 天天色天天舔天天射天天爽| yy96视频在线观看| av日韩在线观看大全| 2022中文字幕在线| 男人的天堂一区二区在线观看| 桃色视频在线观看一区二区 | 国产精品系列在线观看一区二区 | 一区二区三区综合视频| 亚洲成人午夜电影在线观看| 在线观看黄色成年人网站| 超碰在线观看免费在线观看| 欧美交性又色又爽又黄麻豆| 欧美地区一二三专区| 老司机欧美视频在线看| 欧美另类重口味极品在线观看| 欧美综合婷婷欧美综合| 黄色的网站在线免费看| 亚洲av午夜免费观看| 亚洲另类综合一区小说| 国产精品成久久久久三级蜜臀av| 天堂中文字幕翔田av| 精品视频国产在线观看| 欧洲日韩亚洲一区二区三区| 国产精品欧美日韩区二区 | 大鸡巴操b视频在线| 2018最新中文字幕在线观看 | 久久久久久久99精品| 久久免费看少妇高潮完整版| wwwxxx一级黄色片| 东京干手机福利视频| 亚洲av色图18p| 国产精品探花熟女在线观看| 女人精品内射国产99| 免费看国产av网站| 少妇一区二区三区久久久| 粉嫩小穴流水视频在线观看| 大屁股熟女一区二区三区| 视频二区在线视频观看| av网址在线播放大全| 综合激情网激情五月五月婷婷| 天堂av在线播放免费| 动漫精品视频在线观看| 精品国产亚洲av一淫| 亚洲图库另类图片区| 国产精品国产精品一区二区| 青青青青操在线观看免费| 新97超碰在线观看| 亚洲精品无码久久久久不卡| 日本乱人一区二区三区| 成人蜜臀午夜久久一区| 大胆亚洲av日韩av| 美女日逼视频免费观看| 中文字幕奴隷色的舞台50| 中文字幕奴隷色的舞台50| 在线亚洲天堂色播av电影| 天天干夜夜操天天舔| 免费啪啪啪在线观看视频| 国产精品自拍偷拍a| 国产又粗又硬又猛的毛片视频| www久久久久久久久久久| 亚洲卡1卡2卡三卡四老狼| 国产黄色片在线收看| okirakuhuhu在线观看| 91九色porny蝌蚪国产成人| 天天日天天干天天舔天天射| 自拍偷区二区三区麻豆| 操人妻嗷嗷叫视频一区二区| 啊用力插好舒服视频| 超碰97人人澡人人| 少妇ww搡性bbb91| 亚洲成人av在线一区二区| 91色网站免费在线观看| 国产精品入口麻豆啊啊啊| 国产不卡av在线免费| 天天日天天干天天插舔舔| 国产黄色片在线收看| 午夜精品一区二区三区4| av天堂中文免费在线| 亚洲av香蕉一区区二区三区犇| 四川五十路熟女av| 护士小嫩嫩又紧又爽20p| 亚洲人妻视频在线网| 亚洲国产免费av一区二区三区| 天天操天天干天天插| 亚洲精品国偷自产在线观看蜜桃| 亚洲国产精品美女在线观看 | 狠狠嗨日韩综合久久| 欧美另类重口味极品在线观看| 福利国产视频在线观看| 国产chinesehd精品麻豆| 亚洲激情偷拍一区二区| 亚洲成人国产综合一区| 亚洲男人的天堂a在线| 狠狠操操操操操操操操操| 亚洲丝袜老师诱惑在线观看| 2022天天干天天操| 一级a看免费观看网站| 亚洲一区二区激情在线| japanese日本熟妇另类| 天堂av在线播放免费| 91人妻精品久久久久久久网站| 人妻丝袜av在线播放网址| 亚洲图片偷拍自拍区| 色综合天天综合网国产成人| 免费观看成年人视频在线观看| 人妻丝袜精品中文字幕| 国产精品入口麻豆啊啊啊| 2021天天色天天干| 福利视频一区二区三区筱慧| 2022国产精品视频| 91桃色成人网络在线观看| 天天干天天搞天天摸| 动漫av网站18禁| 2021久久免费视频| 日本黄色特一级视频| 一区二区三区麻豆福利视频| 午夜场射精嗯嗯啊啊视频| chinese国产盗摄一区二区| 91快播视频在线观看| 黄片大全在线观看观看| 亚洲码av无色中文| 综合一区二区三区蜜臀| 97国产在线av精品| 免费在线观看污污视频网站| 啪啪啪操人视频在线播放| 日韩美女福利视频网| 国产精彩福利精品视频| 狠狠的往里顶撞h百合| 欧美精品欧美极品欧美视频| 2020中文字幕在线播放| 日本阿v视频在线免费观看| 国产精品福利小视频a| 99的爱精品免费视频| 亚洲中文字幕校园春色| 青青草人人妻人人妻| jiuse91九色视频| 五十路在线观看完整版| 97人人妻人人澡人人爽人人精品| 欧美另类重口味极品在线观看| 骚货自慰被发现爆操| 青青草在观免费国产精品| 国产视频在线视频播放| 岳太深了紧紧的中文字幕| 亚洲男人在线天堂网| 亚洲最大黄了色网站| 91九色porny蝌蚪国产成人| 在线免费观看国产精品黄色| 香蕉91一区二区三区| 88成人免费av网站| 青青青青爽手机在线| 超pen在线观看视频公开97| 人妻丰满熟妇综合网| 久久久久久九九99精品| 二区中出在线观看老师| 亚洲av极品精品在线观看| 日本男女操逼视频免费看| 亚洲av成人网在线观看| 97人人模人人爽人人喊 | 在线观看av亚洲情色| 边摸边做超爽毛片18禁色戒| 中文字幕一区二区亚洲一区| 亚洲va欧美va人人爽3p| 日本韩国免费福利精品| 在线观看一区二区三级| 精品av国产一区二区三区四区| 亚洲国产40页第21页| 中文字幕在线一区精品| 熟女人妻在线观看视频| 国产精品亚洲а∨天堂免| 少妇深喉口爆吞精韩国| 青青草国内在线视频精选| 超pen在线观看视频公开97| 91九色国产熟女一区二区| 成人久久精品一区二区三区| 2021最新热播中文字幕| 日韩欧美制服诱惑一区在线| 非洲黑人一级特黄片| 国产精品人妻一区二区三区网站| 国产一区二区欧美三区| 亚洲综合自拍视频一区| 国产极品精品免费视频 | 91国产在线视频免费观看| 黄色大片免费观看网站| 大屁股熟女一区二区三区| 老有所依在线观看完整版| 偷拍自拍国产在线视频| 久久久久久久亚洲午夜综合福利 | 538精品在线观看视频| 丰满少妇翘臀后进式| 中文字幕中文字幕人妻| 丝袜美腿欧美另类 中文字幕| 97年大学生大白天操逼| 精品一区二区三区午夜| 中文字幕在线视频一区二区三区| 亚洲高清国产拍青青草原| 综合国产成人在线观看| 在线观看欧美黄片一区二区三区| 欧美精品黑人性xxxx| 老司机免费福利视频网| 自拍偷拍日韩欧美一区二区| 国产露脸对白在线观看| 99的爱精品免费视频| 天天干天天操天天扣| 成人av在线资源网站| 国产精彩对白一区二区三区| 都市家庭人妻激情自拍视频| 天天日夜夜干天天操| 在线新三级黄伊人网| 亚洲午夜伦理视频在线| 中文字幕在线免费第一页| 久草视频在线免播放| 中文字幕AV在线免费看 | 午夜av一区二区三区| 天天摸天天日天天操| 人妻无码中文字幕专区| 青青青国产片免费观看视频 | 亚洲国产最大av综合| 人妻少妇性色欲欧美日韩| 98精产国品一二三产区区别| 夜夜操,天天操,狠狠操| 中文字幕在线欧美精品| 青青青爽视频在线播放| 操的小逼流水的文章| 色秀欧美视频第一页| 黄网十四区丁香社区激情五月天 | 日本午夜久久女同精女女| 黑人借宿ntr人妻的沦陷2| 国产亚洲欧美视频网站| 3D动漫精品啪啪一区二区下载 | 少妇与子乱在线观看| 和邻居少妇愉情中文字幕| 久久这里只有精品热视频 | 福利视频一区二区三区筱慧| 一个色综合男人天堂| 欧美中国日韩久久精品| 黑人性生活视频免费看| 老司机免费视频网站在线看| 蜜桃专区一区二区在线观看| 九色视频在线观看免费| 亚洲综合另类精品小说| 天天操天天干天天艹| 国产黄色高清资源在线免费观看| 国产 在线 免费 精品| 中文字幕日韩精品日本| 亚洲午夜福利中文乱码字幕| 性色av一区二区三区久久久| 亚欧在线视频你懂的| 啊啊啊视频试看人妻| 日比视频老公慢点好舒服啊| 国产精品亚洲а∨天堂免| 国产午夜福利av导航| 欧美日韩精品永久免费网址 | 国产一区二区久久久裸臀| 99国产精品窥熟女精品| 国产成人精品午夜福利训2021| 国产亚洲国产av网站在线| 日本人妻少妇18—xx| 国产麻豆乱子伦午夜视频观看| 精品视频中文字幕在线播放| 黄页网视频在线免费观看| 成人sm视频在线观看| 青青青国产免费视频| 熟女人妻一区二区精品视频| 一区二区视频在线观看免费观看| 青青青青青免费视频| 国产之丝袜脚在线一区二区三区| 日本一区美女福利视频| 亚洲精品麻豆免费在线观看| 欧美激情精品在线观看| 91久久国产成人免费网站| 肏插流水妹子在线乐播下载| 久久久久久久亚洲午夜综合福利| 精品人妻伦一二三区久| 特级欧美插插插插插bbbbb| 激情小视频国产在线| 天天色天天操天天透| 老熟妇xxxhd老熟女| 鸡巴操逼一级黄色气| 一个色综合男人天堂| 蜜桃色婷婷久久久福利在线| 成年午夜免费无码区| 在线不卡成人黄色精品| 91免费黄片可看视频| 亚洲欧美另类手机在线| 早川濑里奈av黑人番号| 男人的天堂av日韩亚洲| 老师让我插进去69AV| japanese五十路熟女熟妇| 青青草国内在线视频精选| 91超碰青青中文字幕| 亚洲av香蕉一区区二区三区犇| av天堂加勒比在线| 91极品大一女神正在播放| 真实国模和老外性视频| 三级av中文字幕在线观看| 4个黑人操素人视频网站精品91| 激情啪啪啪啪一区二区三区 | 亚洲国产中文字幕啊啊啊不行了| 女蜜桃臀紧身瑜伽裤| 又大又湿又爽又紧A视频| 国产亚洲天堂天天一区| 亚洲av日韩av网站| 中文字幕中文字幕 亚洲国产| 亚洲精品ww久久久久久| 日本午夜久久女同精女女| 一个人免费在线观看ww视频| 国产午夜福利av导航| 久久免看30视频口爆视频| 国产午夜男女爽爽爽爽爽视频| 免费大片在线观看视频网站| 欧洲亚洲欧美日韩综合| 日韩av大胆在线观看| 免费黄页网站4188| 国产精品亚洲在线观看| 欧美va亚洲va天堂va| 在线可以看的视频你懂的| 337p日本大胆欧美人| 亚洲av日韩精品久久久久久hd| 人妻丝袜av在线播放网址| 亚国产成人精品久久久| 孕妇奶水仑乱A级毛片免费看| 久久这里只有精品热视频 | 国产一区二区在线欧美| 美女操逼免费短视频下载链接 | 热久久只有这里有精品| ka0ri在线视频| 91免费福利网91麻豆国产精品| 久久这里有免费精品| 天天日天天日天天擦| 无码精品一区二区三区人| 久久精品亚洲成在人线a| 自拍偷区二区三区麻豆| 国产亚洲精品欧洲在线观看| 日本一本午夜在线播放| 日韩二区视频一线天婷婷五| 日韩成人性色生活片| 在线观看视频污一区| 日本后入视频在线观看 | 日韩在线中文字幕色| 久久久久久97三级| 久久久久五月天丁香社区| 亚洲激情av一区二区| 91国产在线视频免费观看| 成人高清在线观看视频| 青青尤物在线观看视频网站| 深夜男人福利在线观看| 亚洲天堂精品福利成人av| 骚逼被大屌狂草视频免费看| 人妻少妇亚洲一区二区| 99精品国自产在线人| 激情图片日韩欧美人妻| 青青草视频手机免费在线观看| 欧美视频综合第一页| 大香蕉伊人中文字幕| 福利国产视频在线观看| 熟女人妻三十路四十路人妻斩| 色哟哟在线网站入口| 1000部国产精品成人观看视频 | 国产麻豆国语对白露脸剧情 | 精品老妇女久久9g国产| jiuse91九色视频| 大鸡吧插入女阴道黄色片| 欧美一区二区三区四区性视频| 久久香蕉国产免费天天| 18禁污污污app下载| 一区二区三区蜜臀在线| 在线可以看的视频你懂的| 美女大bxxxx内射| 免费在线黄色观看网站| 免费十精品十国产网站| free性日本少妇| 久久精品久久精品亚洲人| 嫩草aⅴ一区二区三区| 2021天天色天天干| 国产精品伦理片一区二区| 男人的天堂在线黄色| 国产亚洲成人免费在线观看| 韩国黄色一级二级三级| 亚洲国际青青操综合网站| 高潮喷水在线视频观看| 日韩av大胆在线观看| 色婷婷综合激情五月免费观看| 中文字幕成人日韩欧美| 青青青爽视频在线播放| 欧洲精品第一页欧洲精品亚洲| 国产日韩一区二区在线看| 欧美综合婷婷欧美综合| 欧美精品亚洲精品日韩在线| 热思思国产99re| 精品国产成人亚洲午夜| 无套猛戳丰满少妇人妻| 红杏久久av人妻一区| 午夜成午夜成年片在线观看| 2012中文字幕在线高清| 国产在线免费观看成人| 亚洲第一黄色在线观看| 中文字幕高清在线免费播放| 人妻少妇精品久久久久久| 黑人3p华裔熟女普通话| 欧美精产国品一二三产品区别大吗| 91啪国自产中文字幕在线| 日日日日日日日日夜夜夜夜夜夜| 熟女国产一区亚洲中文字幕| 丝袜长腿第一页在线| 亚洲欧美自拍另类图片| 午夜精品一区二区三区城中村| 丰满的继坶3中文在线观看| 天干天天天色天天日天天射| 天天日天天日天天擦| 精品黑人一区二区三区久久国产| 国产精品久久9999| 一区二区三区蜜臀在线| 日本男女操逼视频免费看| 在线国产日韩欧美视频| 91精品国产91久久自产久强| 爱爱免费在线观看视频| 91精品国产91久久自产久强| 成人H精品动漫在线无码播放| 天天操夜夜骑日日摸| 好太好爽好想要免费| sspd152中文字幕在线| 一区二区视频视频视频| 天天日天天添天天爽| 91chinese在线视频| 亚洲av自拍天堂网| 亚洲欧美一卡二卡三卡| 亚洲一区久久免费视频| 久久久久久久精品成人热| 成年人中文字幕在线观看| 99热久久这里只有精品8| 天天日天天爽天天干| 欧美va不卡视频在线观看| 午夜dv内射一区区| 精品av国产一区二区三区四区 | 婷婷久久久综合中文字幕| 夜色17s精品人妻熟女| 免费av岛国天堂网站| 亚洲成av人无码不卡影片一| 最新国产精品网址在线观看| 91免费观看国产免费| 欧美一区二区三区激情啪啪啪| 久久精品国产23696| 天天操天天射天天操天天天| 国产精品日韩欧美一区二区| 福利片区一区二体验区| 特级无码毛片免费视频播放 | 午夜精品久久久久久99热 | 综合页自拍视频在线播放| 91在线视频在线精品3| 久久精品美女免费视频| 日日日日日日日日夜夜夜夜夜夜| 亚洲美女高潮喷浆视频| 久草福利电影在线观看| 18禁精品网站久久| 韩国一级特黄大片做受| 国产精品伦理片一区二区| 久久精品美女免费视频| 久久艹在线观看视频| 国产午夜男女爽爽爽爽爽视频| 亚洲女人的天堂av| 亚洲视频在线观看高清| 精品91自产拍在线观看一区| 一级a看免费观看网站| 自拍偷拍亚洲另类色图| 日本女大学生的黄色小视频| 亚洲欧美一区二区三区电影| 精品高跟鞋丝袜一区二区| 最近的中文字幕在线mv视频| 大屁股肉感人妻中文字幕在线| 久久久久久九九99精品| av中文字幕在线观看第三页| 1区2区3区4区视频在线观看| 大香蕉大香蕉在线看| 亚洲日本一区二区久久久精品| 亚洲av男人天堂久久| 午夜成午夜成年片在线观看| 91精品国产高清自在线看香蕉网 | 欧亚乱色一区二区三区| 亚洲欧洲av天堂综合| 精品suv一区二区69| 美女在线观看日本亚洲一区| 4个黑人操素人视频网站精品91| 久久尻中国美女视频| 国产精品国产精品一区二区| 好了av中文字幕在线| 成人蜜桃美臀九一一区二区三区| 玩弄人妻熟妇性色av少妇| 免费观看国产综合视频| 天天日天天玩天天摸| 天码人妻一区二区三区在线看| 天天日天天摸天天爱| 毛片av在线免费看| 99精品视频之69精品视频| 超碰中文字幕免费观看| 欧美地区一二三专区| 91国内精品久久久久精品一| 中文字幕一区二区亚洲一区| 超碰97免费人妻麻豆| 亚洲成人熟妇一区二区三区| 国产使劲操在线播放| 青青伊人一精品视频| 天天操天天弄天天射| 天天日天天爽天天干| 日本午夜爽爽爽爽爽视频在线观看| 自拍偷拍亚洲欧美在线视频| 三上悠亚和黑人665番号| 亚洲av色香蕉一区二区三区| 亚洲午夜精品小视频| 区一区二区三国产中文字幕| 午夜激情高清在线观看| 亚洲熟女综合色一区二区三区四区| 日本三极片视频网站观看| 黄色三级网站免费下载| 热99re69精品8在线播放| 男人的网址你懂的亚洲欧洲av| 欧美成人猛片aaaaaaa| 天干天天天色天天日天天射| 欧美精品一二三视频| 91‖亚洲‖国产熟女| 国产变态另类在线观看| 97年大学生大白天操逼| av无限看熟女人妻另类av| 91色秘乱一区二区三区| 久久久超爽一二三av| 99久久成人日韩欧美精品| 亚洲伊人久久精品影院一美女洗澡| 做爰视频毛片下载蜜桃视频1| 日韩一区二区电国产精品| 777奇米久久精品一区| 日韩欧美国产一区不卡| 涩爱综合久久五月蜜臀| 精品美女在线观看视频在线观看| aiss午夜免费视频| 国产福利小视频大全| 75国产综合在线视频| 日韩中文字幕在线播放第二页| 成人福利视频免费在线| 日本一区二区三区免费小视频| mm131美女午夜爽爽爽| 日韩美在线观看视频黄| 综合国产成人在线观看| 色伦色伦777国产精品| 91九色porny蝌蚪国产成人| free性日本少妇| 亚洲av午夜免费观看| 91在线视频在线精品3| 日本一区精品视频在线观看| 91国内精品自线在拍白富美| 国产亚洲精品视频合集| 免费观看国产综合视频| 黄色资源视频网站日韩| 免费高清自慰一区二区三区网站| 一本久久精品一区二区| 亚洲第17页国产精品| 精品美女久久久久久| 护士特殊服务久久久久久久| 成年人中文字幕在线观看| 午夜毛片不卡在线看| caoporm超碰国产| 精品一区二区亚洲欧美| 狠狠操操操操操操操操操| 日本乱人一区二区三区| 国产三级影院在线观看| 一区二区麻豆传媒黄片| 天天干天天日天天干天天操| 免费成人va在线观看| 国产又色又刺激在线视频 | 色偷偷伊人大杳蕉综合网| 在线 中文字幕 一区| 国产福利小视频免费观看| 大香蕉玖玖一区2区| 日韩a级黄色小视频| 5528327男人天堂| 日本中文字幕一二区视频| 51国产成人精品视频| 中文字幕熟女人妻久久久| 五月激情婷婷久久综合网| 亚洲熟女综合色一区二区三区四区 | 一区二区三区视频,福利一区二区| 精品老妇女久久9g国产| 欧美精品激情在线最新观看视频| 亚洲av无码成人精品区辽| 无码精品一区二区三区人| 午夜免费观看精品视频| 免费一级特黄特色大片在线观看| 一色桃子人妻一区二区三区| 水蜜桃国产一区二区三区| 在线成人日韩av电影| 精品亚洲在线免费观看| caoporm超碰国产| 人妻丝袜av在线播放网址| 青青色国产视频在线| 国产黄色a级三级三级三级| 18禁免费av网站| 久草视频在线看免费| 久久精品36亚洲精品束缚| 亚洲国产精品黑丝美女| 韩国三级aaaaa高清视频| 成人性黑人一级av| 成人动漫大肉棒插进去视频| 91社福利《在线观看| 色综合久久五月色婷婷综合| 福利午夜视频在线观看| 国产精品手机在线看片| 午夜dv内射一区区| 亚洲卡1卡2卡三卡四老狼| 熟女妇女老妇一二三区| 亚洲国产欧美一区二区三区久久| 国产一区二区神马久久| 亚洲中文字幕乱码区| 欧洲欧美日韩国产在线| 伊人综合免费在线视频| 特一级特级黄色网片| 国产密臀av一区二区三| 国产精品日韩欧美一区二区| 欧美男同性恋69视频| 亚洲精品乱码久久久久久密桃明| 国产女人被做到高潮免费视频| 国产精品视频男人的天堂| 久久精品久久精品亚洲人| 国产 在线 免费 精品| 偷拍美女一区二区三区| 青青草精品在线视频观看| 亚洲精品国产久久久久久| 日本乱人一区二区三区| 亚洲成人熟妇一区二区三区| 五十路熟女人妻一区二区9933| 香蕉91一区二区三区| 亚洲av黄色在线网站| 9久在线视频只有精品| 亚洲av男人的天堂你懂的| 91免费福利网91麻豆国产精品| 综合激情网激情五月天| 18禁美女黄网站色大片下载| 欧美天堂av无线av欧美| 家庭女教师中文字幕在线播放| 91 亚洲视频在线观看| 久草福利电影在线观看| 99精品国自产在线人| 91综合久久亚洲综合| 中文字幕无码一区二区免费| 91久久人澡人人添人人爽乱| 久草极品美女视频在线观看| av在线观看网址av| 黄色三级网站免费下载| 国产美女一区在线观看| 中文字幕高清资源站| 激情五月婷婷免费视频| 蜜桃臀av蜜桃臀av| 91精品国产观看免费| 免费看国产又粗又猛又爽又黄视频| 2020久久躁狠狠躁夜夜躁| 日美女屁股黄邑视频| 51国产成人精品视频| av森泽佳奈在线观看| 狠狠操操操操操操操操操 | 激情内射在线免费观看| wwwxxx一级黄色片| 这里有精品成人国产99| 亚洲精品国产在线电影| 欧美日本在线视频一区| 一区二区三区蜜臀在线| 免费观看污视频网站| 亚洲高清自偷揄拍自拍| 成年午夜免费无码区| 青春草视频在线免费播放| 精品成人啪啪18免费蜜臀| jul—619中文字幕在线| 五十路av熟女松本翔子| free性日本少妇| 又粗又硬又猛又爽又黄的| 在线观看av观看av| 97青青青手机在线视频| 国产精品手机在线看片| 亚洲天天干 夜夜操| 免费男阳茎伸入女阳道视频| 一区二区在线观看少妇| 动漫精品视频在线观看| 亚洲另类在线免费观看| 亚洲无码一区在线影院| 干逼又爽又黄又免费的视频| 超碰97人人澡人人| 成人国产激情自拍三区| 丰满少妇人妻xxxxx| 精品一区二区三区欧美| 国产麻豆国语对白露脸剧情 | 亚洲av极品精品在线观看| 97小视频人妻一区二区| 亚洲中文字幕人妻一区| 97超碰国语国产97超碰| 自拍偷拍,中文字幕| 福利视频一区二区三区筱慧 | 亚洲精品亚洲人成在线导航| 色吉吉影音天天干天天操| 中文字幕在线观看国产片| 亚洲精品高清自拍av| 一色桃子人妻一区二区三区| 偷青青国产精品青青在线观看 | 久久久久五月天丁香社区| 国产女人被做到高潮免费视频| 99热国产精品666| 亚洲高清国产自产av| 午夜毛片不卡免费观看视频| 超碰在线中文字幕一区二区| 51国产成人精品视频| 福利视频一区二区三区筱慧 | 内射久久久久综合网| 天天做天天干天天舔| 国产一级精品综合av| 夜色17s精品人妻熟女| 亚洲欧美日韩视频免费观看| 久久久久五月天丁香社区| 午夜精品福利一区二区三区p| 在线免费91激情四射 | 性感美女福利视频网站| 黄色大片男人操女人逼| 国产三级精品三级在线不卡| 人妻少妇性色欲欧美日韩| 视频一区 二区 三区 综合| 在线观看免费av网址大全| 漂亮 人妻被中出中文| 国产精品一区二区三区蜜臀av| 欧美偷拍自拍色图片| 在线免费观看欧美小视频| 91亚洲精品干熟女蜜桃频道 | 成年人该看的视频黄免费| 精品一区二区三区三区色爱| 97精品综合久久在线| yy6080国产在线视频| 成年午夜影片国产片| 欧美在线偷拍视频免费看| 38av一区二区三区| 一区二区视频在线观看视频在线| 久草电影免费在线观看| 偷拍自拍亚洲美腿丝袜| 亚洲伊人久久精品影院一美女洗澡 | 2020韩国午夜女主播在线| 动漫av网站18禁| 日本熟妇喷水xxx| 成年人黄视频在线观看| 在线观看一区二区三级| 亚洲欧美自拍另类图片| 综合激情网激情五月天| 久久丁香婷婷六月天| 日韩a级黄色小视频| 在线观看国产网站资源| 超级福利视频在线观看| 99国产精品窥熟女精品| 成人性黑人一级av| 青青草成人福利电影| 日本精品一区二区三区在线视频。| 国产日韩精品电影7777| 欲乱人妻少妇在线视频裸| 懂色av之国产精品| 午夜福利人人妻人人澡人人爽| 色综合久久久久久久久中文| 一区二区三区另类在线| 国产精品自拍偷拍a| 伊人成人综合开心网| 在线制服丝袜中文字幕| 中文字幕—97超碰网| 中国把吊插入阴蒂的视频| 水蜜桃国产一区二区三区| 午夜蜜桃一区二区三区| caoporn蜜桃视频| 999热精品视频在线| 亚洲Av无码国产综合色区| 久久热久久视频在线观看| gav成人免费播放| 中文字幕一区二区亚洲一区| 欧美黑人性暴力猛交喷水| 欧美久久一区二区伊人| 国产精品3p和黑人大战| 天天干天天啪天天舔| 青青草亚洲国产精品视频| 日美女屁股黄邑视频| 亚洲av日韩av第一区二区三区| 亚洲av男人的天堂你懂的| 北条麻妃av在线免费观看| 成人免费毛片aaaa| 93精品视频在线观看| 2022精品久久久久久中文字幕| 中文字幕一区二区自拍| 国产极品精品免费视频| 国产精品人妻一区二区三区网站| 92福利视频午夜1000看| 夜夜骑夜夜操夜夜奸| 亚洲欧美清纯唯美另类| 欧美成一区二区三区四区| 国产精品中文av在线播放| 日韩美女搞黄视频免费| 成人乱码一区二区三区av| 欧美日韩一区二区电影在线观看| 人人妻人人爱人人草| 97a片免费在线观看| 欧美黑人与人妻精品| 日韩一区二区三区三州| 亚洲欧美另类自拍偷拍色图| 精品国产成人亚洲午夜| 亚洲精品三级av在线免费观看| 国产九色91在线视频| 亚洲av无女神免非久久| 欧美精品中文字幕久久二区| 国产成人自拍视频播放| 97a片免费在线观看| 蝴蝶伊人久久中文娱乐网| 欧美另类z0z变态| av中文字幕福利网| 亚洲变态另类色图天堂网| 91一区精品在线观看| 国产亚洲精品品视频在线| 中字幕人妻熟女人妻a62v网| 国产在线观看免费人成短视频| 最新国产亚洲精品中文在线| 人人妻人人澡人人爽人人dvl| 91麻豆精品久久久久| yellow在线播放av啊啊啊| 日韩在线视频观看有码在线| www日韩a级s片av| av中文在线天堂精品| 一区二区三区在线视频福利| 免费观看国产综合视频| 国产伊人免费在线播放| 午夜精品一区二区三区更新| 国产一线二线三线的区别在哪| 欧美日韩亚洲国产无线码| 福利午夜视频在线观看| 午夜激情精品福利视频| 93精品视频在线观看| 操操网操操伊剧情片中文字幕网| 国产日韩精品免费在线| 天天日天天日天天射天天干| 欧美viboss性丰满| 91精品激情五月婷婷在线| 青青青青草手机在线视频免费看| 成年人该看的视频黄免费| 成人福利视频免费在线| 亚洲国际青青操综合网站| 成人精品视频99第一页| 狍和女人的王色毛片| 免费十精品十国产网站| 超碰97人人澡人人| 2019av在线视频| 婷婷综合蜜桃av在线| jiujiure精品视频在线| 男人天堂av天天操| 日本成人不卡一区二区| 一区二区视频在线观看视频在线| 日本精品视频不卡一二三| 真实国模和老外性视频| 丝袜国产专区在线观看| 中文字幕人妻熟女在线电影| 爱有来生高清在线中文字幕| 青青青爽视频在线播放| 日韩亚洲高清在线观看| 天天想要天天操天天干| 亚洲欧美福利在线观看| 99久久中文字幕一本人| 日韩av免费观看一区| 强行扒开双腿猛烈进入免费版| 自拍偷拍 国产资源| 2021最新热播中文字幕| 91一区精品在线观看| 成年人啪啪视频在线观看| 999九九久久久精品| 人妻少妇一区二区三区蜜桃| 美女被肏内射视频网站| 93视频一区二区三区| 自拍偷区二区三区麻豆| 无码国产精品一区二区高潮久久4 日韩欧美一级精品在线观看 | 午夜场射精嗯嗯啊啊视频| 欧美久久久久久三级网| 大鸡八强奸视频在线观看| 黑人巨大的吊bdsm| 国产大学生援交正在播放| 丝袜肉丝一区二区三区四区在线| 93视频一区二区三区| 国产熟妇乱妇熟色T区| 激情色图一区二区三区| 亚洲区美熟妇久久久久| 日本裸体熟妇区二区欧美| 国产福利小视频免费观看| 青青在线视频性感少妇和隔壁黑丝| 搡老妇人老女人老熟女| 亚洲最大免费在线观看| 国产又粗又硬又猛的毛片视频| 日韩在线视频观看有码在线| 91精品国产综合久久久蜜| 日日夜夜精品一二三| 日韩av免费观看一区| 欧美亚洲国产成人免费在线| 78色精品一区二区三区| av资源中文字幕在线观看| 日韩精品中文字幕福利| 国产成人无码精品久久久电影 | 久久久久久久亚洲午夜综合福利| 激情五月婷婷综合色啪| 免费观看国产综合视频| 国产综合精品久久久久蜜臀| 亚洲老熟妇日本老妇| 狠狠躁夜夜躁人人爽天天久天啪| 欧美日韩一区二区电影在线观看 | 天天色天天操天天透| 喷水视频在线观看这里只有精品| 免费一级黄色av网站| 亚洲午夜福利中文乱码字幕| 成年午夜影片国产片| 人妻丝袜精品中文字幕| www久久久久久久久久久| 男人操女人的逼免费视频| 老司机免费视频网站在线看| 亚洲精品国产在线电影| 好吊视频—区二区三区| 成人激情文学网人妻| 国产又粗又猛又爽又黄的视频在线| 亚洲综合另类精品小说| 一区二区三区四区中文| 亚洲一区二区三区精品视频在线| 天天插天天狠天天操| 亚洲自拍偷拍综合色| 亚洲国产中文字幕啊啊啊不行了 | 国产亚洲精品视频合集| 天天色天天爱天天爽| 青青操免费日综合视频观看| 91人妻精品久久久久久久网站| www日韩毛片av| 男人靠女人的逼视频| 亚洲视频在线观看高清| 被大鸡吧操的好舒服视频免费| 99精品视频在线观看婷婷| 久久久久久97三级| 国产又粗又猛又爽又黄的视频美国 | 大陆胖女人与丈夫操b国语高清 | 好了av中文字幕在线| 社区自拍揄拍尻屁你懂的| 久久久久久久一区二区三| 欧美日韩高清午夜蜜桃大香蕉| 家庭女教师中文字幕在线播放| 国产精彩对白一区二区三区| 中文字幕人妻av在线观看| 日本a级视频老女人| 欧美精品 日韩国产| 亚洲人妻视频在线网| 亚洲精品 欧美日韩| 一区二区视频视频视频| 综合激情网激情五月天| 亚洲欧洲一区二区在线观看| 欧美怡红院视频在线观看| 欧美一区二区三区四区性视频| 婷婷色国产黑丝少妇勾搭AV| 在线观看操大逼视频| 天天操天天射天天操天天天| 午夜福利资源综合激情午夜福利资| 午夜成午夜成年片在线观看| 最新中文字幕免费视频| 青青青青青操视频在线观看| tube69日本少妇| 在线观看操大逼视频| 在线观看免费岛国av| 偷拍自拍亚洲美腿丝袜| 一区二区三区另类在线| 亚洲精品亚洲人成在线导航| 大陆精品一区二区三区久久| 成人av免费不卡在线观看| 亚洲天堂精品久久久| 亚洲国产免费av一区二区三区 | 青青在线视频性感少妇和隔壁黑丝| 日韩近亲视频在线观看| 亚洲图库另类图片区| 成人av中文字幕一区| 男生舔女生逼逼的视频| 久草免费人妻视频在线| 啪啪啪啪啪啪啪啪av| 久久精品亚洲成在人线a| 免费黄色成人午夜在线网站| 特一级特级黄色网片| 日韩不卡中文在线视频网站| 亚洲公开视频在线观看| 日韩一个色综合导航| 午夜成午夜成年片在线观看| 男人天堂色男人av| 日韩亚洲高清在线观看| 亚洲人妻30pwc| 操的小逼流水的文章| 福利视频网久久91| 欧美天堂av无线av欧美| 黄色的网站在线免费看| 久久这里有免费精品| 乱亲女秽乱长久久久| 人妻少妇av在线观看| 亚洲午夜精品小视频| 日本高清在线不卡一区二区| 成人免费公开视频无毒| 亚洲中文精品字幕在线观看| 日本女大学生的黄色小视频| 最新国产精品拍在线观看| 99久久成人日韩欧美精品| 亚洲综合另类欧美久久| 丰满熟女午夜福利视频| 亚洲精品国品乱码久久久久| 国产精品自拍在线视频| 精品亚洲国产中文自在线| 亚洲欧美另类手机在线| 天天爽夜夜爽人人爽QC| 91精品高清一区二区三区| 人妻在线精品录音叫床| 国产精品久久久久国产三级试频| 亚洲精品午夜久久久久| 人妻少妇性色欲欧美日韩| 2022中文字幕在线| 国产av自拍偷拍盛宴| 亚洲欧美日韩视频免费观看| 边摸边做超爽毛片18禁色戒| 亚洲一级美女啪啪啪| 岛国av高清在线成人在线| 黄色成人在线中文字幕| 红杏久久av人妻一区| 和邻居少妇愉情中文字幕| av破解版在线观看| 天堂av狠狠操蜜桃| 黄色黄色黄片78在线| 亚洲伊人久久精品影院一美女洗澡| 黄色大片男人操女人逼| 2021国产一区二区| 天堂av在线播放免费| 97年大学生大白天操逼| 午夜精品久久久久麻豆影视| 国产chinesehd精品麻豆| 国产精品伦理片一区二区| 在线 中文字幕 一区| 亚洲高清国产拍青青草原| 国产综合视频在线看片| 熟女人妻三十路四十路人妻斩| 91中文字幕最新合集| 国产一线二线三线的区别在哪| 国产一线二线三线的区别在哪| 51国产成人精品视频| 美女骚逼日出水来了| 亚洲精品色在线观看视频| 天码人妻一区二区三区在线看| 亚洲日本一区二区三区 | 免费岛国喷水视频在线观看| 亚洲欧美福利在线观看| 亚洲1区2区3区精华液| 欧美日韩人妻久久精品高清国产| 亚洲另类伦春色综合小| 天天躁日日躁狠狠躁躁欧美av | 热思思国产99re| 天天干天天日天天干天天操| 精彩视频99免费在线| 中文字幕一区二区亚洲一区| 亚洲天堂精品久久久| 国产一级精品综合av| 亚洲欧美清纯唯美另类| 亚洲综合图片20p| 国内自拍第一页在线观看| 99热久久这里只有精品8| 粗大的内捧猛烈进出爽大牛汉子| 在线观看av2025| 亚洲在线免费h观看网站| 激情色图一区二区三区| 成年女人免费播放视频| 91福利在线视频免费观看| 欧美成人精品欧美一级黄色| 亚洲福利午夜久久久精品电影网| 国产黄色大片在线免费播放| 欧美一级色视频美日韩| 在线免费观看日本片| 午夜av一区二区三区| 丝袜美腿欧美另类 中文字幕| 免费无码人妻日韩精品一区二区 | 深夜男人福利在线观看| 日日夜夜狠狠干视频| 日韩精品激情在线观看| 国产黄色片在线收看| 国产精选一区在线播放| 黄页网视频在线免费观看| 国产精品大陆在线2019不卡| 国产三级影院在线观看| 五十路息与子猛烈交尾视频 | 国产精品人久久久久久| 丝袜亚洲另类欧美变态| 国产精品国色综合久久| 中文字幕之无码色多多| 国产亚洲精品品视频在线| 亚洲自拍偷拍精品网| 久久久麻豆精亚洲av麻花| 天天日天天玩天天摸| 男女第一次视频在线观看| 午夜在线观看一区视频| 欧美一区二区中文字幕电影| 99久久99一区二区三区| 色哟哟在线网站入口| 亚洲成人午夜电影在线观看| 成人综合亚洲欧美一区| av在线播放国产不卡| av黄色成人在线观看| 99精品国产aⅴ在线观看| 激情人妻校园春色亚洲欧美| 午夜在线观看一区视频| 亚洲男人让女人爽的视频| 韩国爱爱视频中文字幕| 最新国产精品拍在线观看| 中文字幕人妻av在线观看| 亚洲另类在线免费观看| 欧美aa一级一区三区四区| av森泽佳奈在线观看| 亚洲福利精品福利精品福利| 一区二区在线视频中文字幕| 精品久久久久久久久久久久人妻| 中文字幕人妻av在线观看 | 久久久久五月天丁香社区| aⅴ精产国品一二三产品| 偷拍自拍亚洲视频在线观看| 噜噜色噜噜噜久色超碰| 97人人妻人人澡人人爽人人精品| 91麻豆精品久久久久| 少妇一区二区三区久久久| 中文字幕高清在线免费播放| 天堂av中文在线最新版| 97精品人妻一区二区三区精品| 4个黑人操素人视频网站精品91| 午夜成午夜成年片在线观看 | 欧美一区二区三区高清不卡tv | 中文字幕 人妻精品| 精品国产在线手机在线| 91麻豆精品传媒国产黄色片| 亚洲va天堂va国产va久| 在线视频免费观看网| 午夜毛片不卡免费观看视频| 天美传媒mv视频在线观看| 中文字幕人妻熟女在线电影| 大香蕉大香蕉在线看| 欧美专区日韩专区国产专区| 做爰视频毛片下载蜜桃视频1| 午夜成午夜成年片在线观看| 成人国产小视频在线观看| 99av国产精品欲麻豆| 伊人综合aⅴ在线网| 欧美va不卡视频在线观看| 视频 一区二区在线观看| 91亚洲手机在线视频播放| 九色精品视频在线播放| 国产精品国产三级麻豆| 国产日韩精品一二三区久久久| 亚洲精品成人网久久久久久小说| 国产精品自拍视频大全| 老司机你懂得福利视频| 19一区二区三区在线播放| 日韩美女精品视频在线观看网站| 欧美成人黄片一区二区三区 | 不卡精品视频在线观看| 大胆亚洲av日韩av| 黄片三级三级三级在线观看| 欧美日韩熟女一区二区三区| 国产精品大陆在线2019不卡 | 亚洲av午夜免费观看| 日本午夜福利免费视频| 国产品国产三级国产普通话三级| 色97视频在线播放| 国产成人一区二区三区电影网站 | 久久久噜噜噜久久熟女av| 国产综合精品久久久久蜜臀| 欧美xxx成人在线| 岛国毛片视频免费在线观看| 97超碰国语国产97超碰| 色伦色伦777国产精品| 色天天天天射天天舔| 天天日天天日天天擦| 亚洲免费av在线视频| 日本www中文字幕| 在线观看的黄色免费网站| 91在线视频在线精品3| 骚货自慰被发现爆操| 欧美成人综合视频一区二区| 天码人妻一区二区三区在线看| 91精品国产观看免费| aⅴ五十路av熟女中出| 真实国模和老外性视频| 五十路熟女人妻一区二区9933| gay gay男男瑟瑟在线网站| 欧美黄片精彩在线免费观看| 夜夜嗨av蜜臀av| 欧美一区二区中文字幕电影 | 天天干天天日天天干天天操| 天天躁日日躁狠狠躁躁欧美av | 中文字幕亚洲久久久| 日韩中文字幕福利av| 日韩美女福利视频网| 亚洲av天堂在线播放| 偷偷玩弄新婚人妻h视频| 天天干天天操天天玩天天射| 丝袜肉丝一区二区三区四区在线| 521精品视频在线观看| 中文字幕在线第一页成人| 国产性生活中老年人视频网站| 免费一级特黄特色大片在线观看 | 天天日天天干天天搡| 久草视频在线看免费| 午夜91一区二区三区| 亚洲av午夜免费观看| 日韩精品啪啪视频一道免费| 91桃色成人网络在线观看| 亚洲高清一区二区三区视频在线| 日韩a级精品一区二区| 一区二区在线观看少妇| 精品91高清在线观看| 最新欧美一二三视频| 99精品视频之69精品视频 | 亚洲av无乱一区二区三区性色| 18禁美女黄网站色大片下载| 青娱乐最新视频在线| 少妇人妻久久久久视频黄片| 999九九久久久精品| av日韩在线免费播放| 在线新三级黄伊人网| 成人sm视频在线观看| 阿v天堂2014 一区亚洲| 女同性ⅹxx女同hd| 亚洲欧美清纯唯美另类 | 99婷婷在线观看视频| 欧美爆乳肉感大码在线观看| 少妇人妻100系列| 亚洲男人让女人爽的视频| 天天日天天爽天天干| 18禁美女羞羞免费网站| 欧美日韩精品永久免费网址| 黄色片黄色片wyaa| 天天色天天舔天天射天天爽 | 老司机99精品视频在线观看| 亚洲另类综合一区小说| 成年人免费看在线视频| 国产性生活中老年人视频网站| 在线视频国产欧美日韩| 国产九色91在线观看精品| 亚洲男人让女人爽的视频| 一区二区三区另类在线| 美女av色播在线播放| 少妇一区二区三区久久久| 日韩av大胆在线观看| 美女在线观看日本亚洲一区| 天天干天天操天天插天天日| 91精品激情五月婷婷在线| 中文字幕最新久久久| 日本少妇人妻xxxxx18| 亚洲成人三级在线播放| 98视频精品在线观看| 国产麻豆91在线视频| 亚洲一区二区人妻av| 亚洲av日韩av第一区二区三区| 欧美视频综合第一页| 二区中出在线观看老师| 成熟熟女国产精品一区| 一区二区三区av高清免费| 99的爱精品免费视频| 午夜成午夜成年片在线观看| 久久久久五月天丁香社区| 东京热男人的av天堂| 免费黄高清无码国产| 又大又湿又爽又紧A视频| 91精品国产91青青碰| 亚洲美女高潮喷浆视频| 日韩亚国产欧美三级涩爱| 欧美另类一区二区视频| 亚洲美女自偷自拍11页| 欧美麻豆av在线播放| 亚洲av香蕉一区区二区三区犇| 精品美女福利在线观看| 超碰在线观看免费在线观看| 亚洲欧美清纯唯美另类| 偷拍自拍亚洲美腿丝袜| 日韩中文字幕精品淫| 亚洲国产成人av在线一区| 亚洲成人午夜电影在线观看| 亚洲国产精品久久久久蜜桃| 亚洲av可乐操首页| 日韩av有码中文字幕| 一区二区麻豆传媒黄片| 午夜精品在线视频一区| jul—619中文字幕在线| 啪啪啪啪啪啪啪啪啪啪黄色| 好吊视频—区二区三区| 老师啊太大了啊啊啊尻视频| 中文字幕一区二区亚洲一区| 中文字幕av第1页中文字幕| 91国产在线免费播放| 欧美一区二区中文字幕电影 |