国产无遮挡裸体免费直播视频,久久精品国产蜜臀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)論

国产精品欧美日韩区二区| 这里有精品成人国产99| 福利午夜视频在线观看| 好吊视频—区二区三区| 国产精品自偷自拍啪啪啪| 亚洲高清国产拍青青草原| 成年午夜影片国产片| 一区二区三区毛片国产一区| 99精品免费久久久久久久久a| 毛茸茸的大外阴中国视频| 日日操夜夜撸天天干| 一色桃子久久精品亚洲| 2020国产在线不卡视频| 精品视频国产在线观看| 中文字幕av男人天堂| 亚洲公开视频在线观看| 老司机免费视频网站在线看| 5528327男人天堂| 91久久国产成人免费网站| 精内国产乱码久久久久久| 欧美一区二区三区乱码在线播放 | 欧美aa一级一区三区四区| 在线成人日韩av电影| 日韩精品中文字幕福利| av欧美网站在线观看| 青青在线视频性感少妇和隔壁黑丝| 欧美精品黑人性xxxx| 岛国黄色大片在线观看| 插小穴高清无码中文字幕| 偷拍美女一区二区三区| 亚国产成人精品久久久| 一区二区三区四区视频在线播放| 午夜精品久久久久麻豆影视| 99久久成人日韩欧美精品| 亚洲的电影一区二区三区| 色哟哟在线网站入口| 熟女视频一区,二区,三区| 天天做天天干天天操天天射| 一级A一级a爰片免费免会员| 亚洲一区二区三区五区| 国产一区av澳门在线观看| aⅴ五十路av熟女中出| 在线视频精品你懂的| 内射久久久久综合网| 免费男阳茎伸入女阳道视频| 免费观看成年人视频在线观看 | 中文字幕高清免费在线人妻| 大黑人性xxxxbbbb| 午夜美女少妇福利视频| AV无码一区二区三区不卡| 最近中文字幕国产在线| 人妻少妇av在线观看| 啊啊好大好爽啊啊操我啊啊视频 | 精品区一区二区三区四区人妻| 日韩亚洲高清在线观看| 成年午夜免费无码区| 美女骚逼日出水来了| 日本韩国亚洲综合日韩欧美国产| 在线观看911精品国产| 福利视频网久久91| 久久麻豆亚洲精品av| 青青青视频手机在线观看| 亚洲av无码成人精品区辽| 亚洲最大免费在线观看| 中文字幕,亚洲人妻| 亚洲av日韩精品久久久久久hd| 亚洲一级av无码一级久久精品| 国产视频一区在线观看| 中文字幕av一区在线观看| 亚洲精品欧美日韩在线播放| 一区二区三区综合视频| 国产精品久久久久久久精品视频 | 特级欧美插插插插插bbbbb| 免费69视频在线看| 热久久只有这里有精品| 91人妻精品一区二区在线看 | 密臀av一区在线观看| 亚洲人妻av毛片在线| 日韩人妻丝袜中文字幕| 97人妻无码AV碰碰视频| 精品首页在线观看视频| 在线观看免费av网址大全| 2021久久免费视频| 欧美日韩中文字幕欧美| 18禁无翼鸟成人在线 | 92福利视频午夜1000看| 91香蕉成人app下载| 国产精品久久久黄网站| 和邻居少妇愉情中文字幕| 久久久麻豆精亚洲av麻花| 免费高清自慰一区二区三区网站| mm131美女午夜爽爽爽| 亚洲美女美妇久久字幕组| 一区二区视频在线观看免费观看| 精品亚洲在线免费观看| 又粗又硬又猛又黄免费30| 哥哥姐姐综合激情小说| 亚洲最大黄了色网站| 国产麻豆91在线视频| 亚洲1卡2卡三卡4卡在线观看 | 国产精品人妻66p| 国产成人精品亚洲男人的天堂| 国产妇女自拍区在线观看| 日本成人不卡一区二区| 在线观看操大逼视频| 国产精品探花熟女在线观看| 亚洲人妻30pwc| 亚洲精品一线二线在线观看 | 亚洲伊人久久精品影院一美女洗澡 | 四川乱子伦视频国产vip| 狍和女人的王色毛片| www日韩a级s片av| 亚洲嫩模一区二区三区| 天堂va蜜桃一区入口| 日本人妻欲求不满中文字幕| 日韩人妻丝袜中文字幕| 91桃色成人网络在线观看| 国产女人叫床高潮大片视频| 国产视频网站一区二区三区| 精品久久久久久高潮| 在线网站你懂得老司机| 国产露脸对白在线观看| 国产欧美精品一区二区高清| 亚洲最大免费在线观看| 欧美特级特黄a大片免费| 久久久噜噜噜久久熟女av| sspd152中文字幕在线| 在线视频免费观看网| 亚洲精品在线资源站| 精品黑人一区二区三区久久国产 | 天天日天天干天天要| 性欧美激情久久久久久久| 一区二区三区精品日本| 大香蕉大香蕉在线看| 亚洲综合图片20p| 狠狠躁夜夜躁人人爽天天天天97| 在线国产精品一区二区三区| av老司机亚洲一区二区| 91传媒一区二区三区| 1区2区3区4区视频在线观看| 免费费一级特黄真人片 | 亚洲人一区二区中文字幕| 久草极品美女视频在线观看| 综合激情网激情五月五月婷婷| 80电影天堂网官网| 97国产在线观看高清| 精品国产污污免费网站入口自 | av一区二区三区人妻| 亚洲综合在线观看免费| 欧美一区二区中文字幕电影| 国产精品成人xxxx| 干逼又爽又黄又免费的视频| 2o22av在线视频| 黄色av网站免费在线| 午夜频道成人在线91| 精品高潮呻吟久久av| 深夜男人福利在线观看| 大肉大捧一进一出好爽在线视频| 黄网十四区丁香社区激情五月天| 国产精品探花熟女在线观看 | 精品一区二区三区三区色爱| 欧美日韩激情啪啪啪| 在线观看国产网站资源| 熟女少妇激情五十路| 色吉吉影音天天干天天操| 久草视频在线看免费| 国产精品国色综合久久| 大香蕉福利在线观看| 亚洲中文精品人人免费| 性感美女诱惑福利视频| 日日操综合成人av| 日韩国产乱码中文字幕| 一区二区三区国产精选在线播放| 性感美女诱惑福利视频| 亚洲高清视频在线不卡| 天天色天天操天天舔| 可以在线观看的av中文字幕| 啪啪啪操人视频在线播放| 和邻居少妇愉情中文字幕| 4个黑人操素人视频网站精品91| 婷婷午夜国产精品久久久| 精品久久久久久久久久中文蒉| 不卡精品视频在线观看| 人妻久久久精品69系列| 欧美激情电影免费在线| 欧美黄片精彩在线免费观看| 美日韩在线视频免费看| 欧美xxx成人在线| 国产黄色片在线收看| 动色av一区二区三区| 国产精品成人xxxx| 91九色porny国产在线| 在线免费观看av日韩| 国产黄色a级三级三级三级| 国产一线二线三线的区别在哪| 激情五月婷婷综合色啪| 老司机欧美视频在线看| 日本午夜久久女同精女女| 夜色福利视频在线观看| 丝袜亚洲另类欧美变态| 成熟熟女国产精品一区| 中文字幕人妻一区二区视频| 亚洲 中文 自拍 另类 欧美 | 40道精品招牌菜特色| 日本免费视频午夜福利视频| 久久美欧人妻少妇一区二区三区| 欧美精品久久久久久影院| 色秀欧美视频第一页| 搞黄色在线免费观看| 国产精品污污污久久| 4个黑人操素人视频网站精品91| 国产精品自拍偷拍a| 巨乳人妻日下部加奈被邻居中出 | 日本一本午夜在线播放| 亚洲免费av在线视频| 五十路熟女人妻一区二区9933| 国产在线91观看免费观看| 欧美日韩国产一区二区三区三州 | 九色精品视频在线播放| 男生用鸡操女生视频动漫| 日韩熟女av天堂系列| 黄色av网站免费在线| 欧洲亚洲欧美日韩综合| 国产精彩福利精品视频| 亚洲欧美激情人妻偷拍| 天天日天天爽天天爽| 成人亚洲精品国产精品| 最后99天全集在线观看| av中文字幕福利网| 欧美天堂av无线av欧美| 国产黑丝高跟鞋视频在线播放| 成年人该看的视频黄免费| 欧美韩国日本国产亚洲| 91精品国产黑色丝袜| 蜜桃视频入口久久久| 国产揄拍高清国内精品对白 | 欧美日韩国产一区二区三区三州 | 亚洲av无乱一区二区三区性色| 国产揄拍高清国内精品对白| 亚洲激情偷拍一区二区| 国产成人综合一区2区| 在线观看黄色成年人网站 | 亚洲午夜伦理视频在线| 天堂av在线播放免费| 精产国品久久一二三产区区别 | 老有所依在线观看完整版| 亚洲av无女神免非久久| 亚洲伊人色一综合网| 爱有来生高清在线中文字幕| 亚洲一区二区三区在线高清| 日韩av大胆在线观看| 在线成人日韩av电影| 亚洲 自拍 色综合图| 久久久久久久久久久免费女人| 欧美中国日韩久久精品| 久久久久久性虐视频| 成人资源在线观看免费官网| 成人在线欧美日韩国产| 欧美老鸡巴日小嫩逼| 大陆胖女人与丈夫操b国语高清| 精品老妇女久久9g国产| 亚洲第17页国产精品| 成人国产影院在线观看| 97小视频人妻一区二区| 中文字幕人妻一区二区视频| 激情国产小视频在线| 狠狠操狠狠操免费视频| 红桃av成人在线观看| 国产在线观看黄色视频| 青青青青操在线观看免费| 国产高清精品一区二区三区| 日韩黄色片在线观看网站| 日韩少妇人妻精品无码专区| 欧美地区一二三专区| 韩国男女黄色在线观看| 制服丝袜在线人妻中文字幕| 欧美怡红院视频在线观看| 日本免费视频午夜福利视频| 精品国产高潮中文字幕| 国产夫妻视频在线观看免费| 风流唐伯虎电视剧在线观看| 888欧美视频在线| 成人av天堂丝袜在线观看| yy96视频在线观看| 一区二区三区日本伦理| 精品亚洲国产中文自在线| 成人在线欧美日韩国产| 18禁美女无遮挡免费| 国产日韩精品一二三区久久久| 天天干天天操天天插天天日| 喷水视频在线观看这里只有精品| 香蕉av影视在线观看| 熟女妇女老妇一二三区| 亚洲高清视频在线不卡| 91av精品视频在线| 岛国黄色大片在线观看 | 日本一二三中文字幕| 亚洲av在线观看尤物| 欧美成人小视频在线免费看| 熟女人妻在线观看视频| 日韩精品啪啪视频一道免费| 在线观看国产网站资源| 搞黄色在线免费观看| av破解版在线观看| 黄色的网站在线免费看| 国产欧美日韩在线观看不卡| 天天日天天摸天天爱| 国产美女午夜福利久久| 美女被肏内射视频网站| 国产真实乱子伦a视频| 老有所依在线观看完整版| 免费男阳茎伸入女阳道视频| av手机在线观播放网站| 伊拉克及约旦宣布关闭领空| 2019av在线视频| 在线观看免费岛国av| 国产亚洲精品欧洲在线观看| 成人影片高清在线观看| 天天日天天干天天舔天天射| 精品视频中文字幕在线播放| 欧美精品免费aaaaaa| www,久久久,com| 亚洲成人激情视频免费观看了| 1000部国产精品成人观看视频| gogo国模私拍视频| 97精品视频在线观看| 欧美成人精品在线观看| 2020久久躁狠狠躁夜夜躁| 性生活第二下硬不起来| 男人和女人激情视频| 亚洲激情av一区二区| 精品黑人一区二区三区久久国产| 综合精品久久久久97| 久久香蕉国产免费天天| 97成人免费在线观看网站| 国产男女视频在线播放| 91大神福利视频网| 午夜美女少妇福利视频| 国产夫妻视频在线观看免费| 亚洲国产在人线放午夜| 青娱乐蜜桃臀av色| 少妇被强干到高潮视频在线观看| 久久久久久cao我的性感人妻| 色在线观看视频免费的| 欧美日韩不卡一区不区二区| 亚洲免费在线视频网站| 青青擦在线视频国产在线| 51精品视频免费在线观看| 激情色图一区二区三区| 黄色成人在线中文字幕| 久精品人妻一区二区三区| 黄色片一级美女黄色片| 在线免费观看av日韩| 不戴胸罩引我诱的隔壁的人妻| 欧美专区日韩专区国产专区| 美日韩在线视频免费看| 中文字幕一区二区亚洲一区| 专门看国产熟妇的网站| 中文字幕一区二区亚洲一区| 欧美成人精品在线观看| 国内自拍第一页在线观看| 4个黑人操素人视频网站精品91| 四虎永久在线精品免费区二区| 国产精品自拍偷拍a| 精品美女久久久久久| 日本免费视频午夜福利视频| 91www一区二区三区| 在线免费视频 自拍| 小穴多水久久精品免费看| 日韩中文字幕在线播放第二页| 亚洲 欧美 自拍 偷拍 在线| 一区二区视频在线观看免费观看| 天天日天天干天天干天天日| 亚洲欧美激情中文字幕| 97资源人妻免费在线视频| 亚洲一区二区三区偷拍女厕91| 国语对白xxxx乱大交| 97香蕉碰碰人妻国产樱花| 日本少妇高清视频xxxxx| 亚洲免费va在线播放| 91精品国产91久久自产久强| 亚洲2021av天堂| 熟女人妻在线观看视频| 国产亚洲国产av网站在线| av完全免费在线观看av| 亚洲熟妇无码一区二区三区| 亚洲熟色妇av日韩熟色妇在线| 亚洲熟妇久久无码精品| 中文字幕中文字幕 亚洲国产| 国产精品自拍在线视频| japanese日本熟妇另类| www久久久久久久久久久| 污污小视频91在线观看| 日韩av有码一区二区三区4| 日本午夜福利免费视频| 欧美激情精品在线观看| 亚洲国产精品久久久久久6| 女同性ⅹxx女同h偷拍| 五月天中文字幕内射| 91中文字幕免费在线观看| 一级A一级a爰片免费免会员| 福利视频一区二区三区筱慧 | 自拍偷拍 国产资源| 91精品综合久久久久3d动漫| 91久久综合男人天堂| 狠狠操狠狠操免费视频| 做爰视频毛片下载蜜桃视频1| 鸡巴操逼一级黄色气| 午夜在线观看一区视频| 欧美久久一区二区伊人| 超碰97人人做人人爱| 东京热男人的av天堂| 成人性爱在线看四区| 国产之丝袜脚在线一区二区三区| 亚洲精品 日韩电影| 国产成人午夜精品福利| 视频久久久久久久人妻| 91成人精品亚洲国产| 亚洲国产中文字幕啊啊啊不行了 | 偷拍自拍亚洲美腿丝袜| 色综合色综合色综合色| 搞黄色在线免费观看| 欧美成人猛片aaaaaaa| japanese日本熟妇另类| 亚洲青青操骚货在线视频| 99久久超碰人妻国产| 九色精品视频在线播放| 一个色综合男人天堂| 北条麻妃av在线免费观看| 国产精品自拍在线视频| 免费岛国喷水视频在线观看| 国产精品久久久久久久精品视频| 午夜91一区二区三区| 99久久超碰人妻国产| 天天草天天色天天干| 天天操天天爽天天干| 中文字幕日本人妻中出| 在线观看免费av网址大全| 免费岛国喷水视频在线观看| 日日夜夜大香蕉伊人| 婷婷午夜国产精品久久久| 免费高清自慰一区二区三区网站| 十八禁在线观看地址免费 | 久久久久久久精品老熟妇| 在线观看黄色成年人网站| 888亚洲欧美国产va在线播放| 欧美国产亚洲中英文字幕| 999热精品视频在线| 自拍 日韩 欧美激情| 久久久久久久久久久久久97| 中文字幕最新久久久| 久久这里只有精品热视频| 淫秽激情视频免费观看| av在线资源中文字幕| 性感美女诱惑福利视频| 黄页网视频在线免费观看| 偷拍3456eee| 天天干夜夜操天天舔| 人妻丝袜av在线播放网址| 少妇一区二区三区久久久| 91天堂天天日天天操| 亚洲免费在线视频网站| 肏插流水妹子在线乐播下载| 91快播视频在线观看| 涩涩的视频在线观看视频| 嫩草aⅴ一区二区三区| 1区2区3区4区视频在线观看| 在线制服丝袜中文字幕| 1000部国产精品成人观看视频| 搞黄色在线免费观看| 日韩激情文学在线视频| 国产超码片内射在线| 成人av中文字幕一区| 一区二区三区国产精选在线播放| av日韩在线免费播放| 天天干天天日天天干天天操| 男人天堂av天天操| 精品久久久久久高潮| 直接能看的国产av| 亚洲综合在线观看免费| 日韩av有码一区二区三区4 | 婷婷久久久综合中文字幕| 超污视频在线观看污污污| 爆乳骚货内射骚货内射在线| 在线免费观看欧美小视频| 国产性色生活片毛片春晓精品| 久久午夜夜伦痒痒想咳嗽P| 三级等保密码要求条款| 少妇人妻100系列| 午夜毛片不卡免费观看视频| 一本一本久久a久久精品综合不卡| 亚洲欧美精品综合图片小说| 视频 国产 精品 熟女 | 大胸性感美女羞爽操逼毛片| 国产福利小视频二区| 欧美80老妇人性视频| 2019av在线视频| 99re6热在线精品| 老司机在线精品福利视频| 欧美精品黑人性xxxx| 亚洲高清国产拍青青草原| 一色桃子人妻一区二区三区| 国产精品人妻66p| 亚洲自拍偷拍综合色| 亚洲综合一区二区精品久久| 日韩亚国产欧美三级涩爱| 成年人的在线免费视频| 91人妻精品一区二区在线看| 美味人妻2在线播放| 欧美久久一区二区伊人| 亚洲国产精品美女在线观看| 欧美80老妇人性视频| free性日本少妇| 日韩av免费观看一区| 日本美女性生活一级片| 午夜频道成人在线91| 欧美香蕉人妻精品一区二区| 中文字幕 人妻精品| 亚洲区美熟妇久久久久| 日韩亚国产欧美三级涩爱| 欧美日韩v中文在线| 蜜桃视频在线欧美一区| 亚洲1069综合男同| 91成人精品亚洲国产| av线天堂在线观看| 蜜桃色婷婷久久久福利在线| 午夜毛片不卡免费观看视频| 孕妇奶水仑乱A级毛片免费看| 天天做天天干天天操天天射| 成熟丰满熟妇高潮xx×xx| 国产精品国产三级国产午| 欧美一级色视频美日韩| 91色九色porny| 精彩视频99免费在线| 100%美女蜜桃视频| 亚洲欧美成人综合视频| 中文字幕人妻被公上司喝醉在线| 国产精品日韩欧美一区二区| 欧美成人猛片aaaaaaa| 国产一区二区视频观看| 91在线视频在线精品3| 午夜精品久久久久麻豆影视| 揄拍成人国产精品免费看视频| 日韩熟女系列一区二区三区| 大鸡八强奸视频在线观看| 国产成人一区二区三区电影网站| 性生活第二下硬不起来| 精品av国产一区二区三区四区| 91福利视频免费在线观看| 欧美日本国产自视大全| 99人妻视频免费在线| 国产精品中文av在线播放| 久草免费人妻视频在线| 天天色天天操天天舔| 亚洲成av人无码不卡影片一| 一级黄片大鸡巴插入美女| 97人妻夜夜爽二区欧美极品| 亚洲最大黄 嗯色 操 啊| 天天日天天干天天干天天日| 啊用力插好舒服视频| 一区二区三区激情在线| 人妻自拍视频中国大陆| 无码国产精品一区二区高潮久久4| 高清一区二区欧美系列| 97人人模人人爽人人喊| 久久精品国产999| 日本av在线一区二区三区| 中文字幕1卡1区2区3区| 国际av大片在线免费观看| 最新黄色av网站在线观看| 日韩一区二区电国产精品| 3344免费偷拍视频| 好了av中文字幕在线| 日本一区美女福利视频| 日本人妻少妇18—xx| 男人在床上插女人视频| 国产精品黄片免费在线观看| 午夜激情久久不卡一区二区| 人妻自拍视频中国大陆| 美女张开两腿让男人桶av| 欧美成人综合视频一区二区| 一级黄色片夫妻性生活| 日本少妇人妻xxxxxhd| 亚洲激情,偷拍视频| 亚洲中文字幕人妻一区| 在线观看黄色成年人网站| 97超碰免费在线视频| 中文字幕亚洲久久久| 熟女91pooyn熟女| 亚洲人妻av毛片在线| 天天操天天干天天艹| 亚洲免费av在线视频| 欧美日本在线观看一区二区| 久久热久久视频在线观看| 久久一区二区三区人妻欧美| 欧美亚洲自偷自拍 在线| 黄片色呦呦视频免费看| 日韩欧美高清免费在线| 国产高清在线观看1区2区| 97超碰人人搞人人| 精品国产午夜视频一区二区| 中文字幕av男人天堂| 欧美日本在线视频一区| 毛片av在线免费看| 色偷偷伊人大杳蕉综合网| 美女福利视频导航网站| 欧美伊人久久大香线蕉综合| 亚洲变态另类色图天堂网| 国产一区自拍黄视频免费观看| 97人妻色免费视频| 韩国AV无码不卡在线播放| 女同性ⅹxx女同h偷拍| 亚洲综合乱码一区二区| 高清一区二区欧美系列| 在线不卡日韩视频播放| 国产精品久久久久久久久福交| 成人亚洲精品国产精品| 最近中文2019年在线看| 大尺度激情四射网站| 欧美美女人体视频一区| 美女骚逼日出水来了| 黄色的网站在线免费看| 中文字幕av第1页中文字幕| 亚洲欧美综合在线探花| 欧美成一区二区三区四区| 国产刺激激情美女网站| 加勒比视频在线免费观看| 99热久久这里只有精品| 国产一区二区神马久久| 超级福利视频在线观看| 国产女孩喷水在线观看| 欧美亚洲少妇福利视频| 91麻豆精品传媒国产黄色片| 91极品新人『兔兔』精品新作| 欧美一区二区中文字幕电影| 经典亚洲伊人第一页| 精产国品久久一二三产区区别| 天天日天天玩天天摸| 99re国产在线精品| 美女在线观看日本亚洲一区| 黑人乱偷人妻中文字幕| 成人24小时免费视频| 97人妻人人澡爽人人精品| 在线观看免费视频色97| 精品区一区二区三区四区人妻 | 好太好爽好想要免费| 91社福利《在线观看| 97国产精品97久久| 亚洲国产成人最新资源| 日本免费午夜视频网站| 人人人妻人人澡人人| 亚洲熟妇久久无码精品| 特一级特级黄色网片| 免费观看丰满少妇做受| 日本丰满熟妇BBXBBXHD| 国产视频一区在线观看| 日本黄色三级高清视频| 天堂资源网av中文字幕| 亚洲国产欧美一区二区丝袜黑人| 97黄网站在线观看| av黄色成人在线观看| 欧美乱妇无乱码一区二区| 免费在线观看污污视频网站| 大香蕉伊人中文字幕| 日本熟妇喷水xxx| 超级av免费观看一区二区三区| 91高清成人在线视频| 色97视频在线播放| av俺也去在线播放| 视频 一区二区在线观看| 亚洲 国产 成人 在线| 精品一区二区三区欧美| 青青草在观免费国产精品| 亚洲国产第一页在线观看| 啊啊好大好爽啊啊操我啊啊视频 | 欧美激情电影免费在线| 97国产福利小视频合集| 青娱乐最新视频在线| 一个色综合男人天堂| 91国内精品久久久久精品一| 黑人性生活视频免费看| 在线观看日韩激情视频| 亚洲精品国偷自产在线观看蜜桃| 九色精品视频在线播放| 东京干手机福利视频| 久久热这里这里只有精品| 日本av高清免费网站| 日韩欧美制服诱惑一区在线| 日本免费一级黄色录像| 337p日本大胆欧美人| 亚洲欧美成人综合视频| 在线观看的a站 最新| 自拍偷拍日韩欧美亚洲| 97少妇精品在线观看| 91国偷自产一区二区三区精品| 日本少妇精品免费视频| 午夜在线一区二区免费| 成人色综合中文字幕| 久久机热/这里只有| 蜜桃视频入口久久久| 午夜激情精品福利视频| 天天日天天做天天日天天做| 高潮喷水在线视频观看| 日韩午夜福利精品试看| 伊人综合免费在线视频| 综合精品久久久久97| 男人天堂最新地址av| 神马午夜在线观看视频| 女同久久精品秋霞网| 日韩一个色综合导航| 久久www免费人成一看片| 免费观看污视频网站| 狠狠躁夜夜躁人人爽天天久天啪| 中文字幕亚洲中文字幕| 日韩少妇人妻精品无码专区| 伊人精品福利综合导航| 视频久久久久久久人妻| 中文字幕乱码av资源| 一区二区三区毛片国产一区| 超级碰碰在线视频免费观看| 欧亚日韩一区二区三区观看视频| 国产揄拍高清国内精品对白| 欧美区一区二区三视频| 久碰精品少妇中文字幕av| 亚洲一区二区三区久久午夜| 国产成人精品亚洲男人的天堂| 91人妻精品一区二区久久| 激情小视频国产在线| 香蕉片在线观看av| gogo国模私拍视频| 国产精品sm调教视频| 日本18禁久久久久久| 日韩精品二区一区久久| 国产一区成人在线观看视频| 国产av国片精品一区二区| 激情内射在线免费观看| 亚洲成人情色电影在线观看| 91传媒一区二区三区| 一区二区三区欧美日韩高清播放 | 天天色天天爱天天爽| 国产日韩精品一二三区久久久| 综合激情网激情五月天| 偷拍自拍亚洲视频在线观看| 国产av福利网址大全| 一区二区三区四区视频| 91精品资源免费观看| 久久久久久九九99精品| 极品粉嫩小泬白浆20p主播| 日本www中文字幕| 99久久99一区二区三区| 亚洲免费国产在线日韩| 在线观看国产免费麻豆| 日韩美在线观看视频黄| 人妻自拍视频中国大陆| 99视频精品全部15| 黑人巨大精品欧美视频| 欧美另类重口味极品在线观看| 啪啪啪18禁一区二区三区| 一区二区免费高清黄色视频| 1000部国产精品成人观看视频| 在线播放国产黄色av| 女警官打开双腿沦为性奴| 5528327男人天堂| av日韩在线观看大全| 中文字幕最新久久久| 国产精品中文av在线播放| 亚洲欧美激情中文字幕| 精品亚洲在线免费观看| 97精品视频在线观看| 青青青国产片免费观看视频| 性色蜜臀av一区二区三区| 免费无毒热热热热热热久| 扒开腿挺进肉嫩小18禁视频| 欧美3p在线观看一区二区三区| 精品老妇女久久9g国产| 老司机99精品视频在线观看 | av天堂中文免费在线| 中文字幕AV在线免费看 | 91超碰青青中文字幕| 亚洲一区二区三区在线高清| 93视频一区二区三区| 啊慢点鸡巴太大了啊舒服视频| 中文字母永久播放1区2区3区| 午夜免费观看精品视频| 国产夫妻视频在线观看免费| 日韩av熟妇在线观看| 亚洲综合一区二区精品久久| 日本高清在线不卡一区二区| 精品91自产拍在线观看一区| 欧美日韩熟女一区二区三区| 欧洲精品第一页欧洲精品亚洲| 久精品人妻一区二区三区| 国产午夜亚洲精品不卡在线观看| 日本免费视频午夜福利视频| 抽查舔水白紧大视频| 无套猛戳丰满少妇人妻| 国产九色91在线观看精品| 熟女妇女老妇一二三区| 午夜激情高清在线观看| 黄色片一级美女黄色片| 国产伦精品一区二区三区竹菊| 亚洲粉嫩av一区二区三区| av老司机亚洲一区二区| 青娱乐最新视频在线| 成年人啪啪视频在线观看| 国产成人无码精品久久久电影| 亚洲精品 欧美日韩| 专门看国产熟妇的网站| 国产精品sm调教视频| 久久久久久久久久久免费女人| 青青青国产片免费观看视频| 亚洲av男人的天堂你懂的| 欧美日本国产自视大全| 二区中出在线观看老师| 人妻无码色噜噜狠狠狠狠色| 日本一二三中文字幕| 伊人情人综合成人久久网小说| 久久艹在线观看视频| 亚洲一级av无码一级久久精品| 成人免费公开视频无毒| 美女在线观看日本亚洲一区| 97小视频人妻一区二区| 99精品视频在线观看婷婷| 97国产在线观看高清| 五十路老熟女码av| 日辽宁老肥女在线观看视频| 一区二区免费高清黄色视频| 日韩伦理短片在线观看| 馒头大胆亚洲一区二区| av完全免费在线观看av| 欧美精品 日韩国产| 久久综合老鸭窝色综合久久| 精品91自产拍在线观看一区| 国产乱弄免费视频观看| 韩国爱爱视频中文字幕| 国产麻豆剧传媒精品国产av蜜桃| 啪啪啪啪啪啪啪啪啪啪黄色| 国产精品人久久久久久| 一区二区三区毛片国产一区| av在线免费中文字幕| 国产一区二区视频观看| 最新激情中文字幕视频| 很黄很污很色的午夜网站在线观看| 久久久噜噜噜久久熟女av| jul—619中文字幕在线| 老鸭窝日韩精品视频观看| 大陆精品一区二区三区久久| 夜色17s精品人妻熟女| 国产又粗又猛又爽又黄的视频在线| 熟女妇女老妇一二三区| 欧美黑人与人妻精品| 日韩一区二区电国产精品| 亚洲免费va在线播放| 国产精品午夜国产小视频| 97人妻人人澡爽人人精品| 爱有来生高清在线中文字幕| 久久综合老鸭窝色综合久久| 国产成人精品av网站| 日韩在线中文字幕色| 任你操任你干精品在线视频| 日比视频老公慢点好舒服啊| 粉嫩小穴流水视频在线观看| 青草久久视频在线观看| 日本在线不卡免费视频| 成人24小时免费视频| 精品一区二区三区三区88 | 免费一级特黄特色大片在线观看 | 亚洲va国产va欧美精品88| 天天日天天爽天天干| 日本性感美女三级视频| 最新国产精品网址在线观看| 国产亚洲四十路五十路| 亚洲1区2区3区精华液| av在线观看网址av| 中文字幕人妻被公上司喝醉在线 | xxx日本hd高清| 888亚洲欧美国产va在线播放| 夏目彩春在线中文字幕| 国产三级影院在线观看| h国产小视频福利在线观看| 欧美激情电影免费在线| 国产高清在线观看1区2区| 国产精品视频欧美一区二区| 麻豆性色视频在线观看| 青青草人人妻人人妻| 亚洲成人av一区在线| 自拍偷拍亚洲另类色图| 亚洲人妻国产精品综合| 亚洲av男人天堂久久| 欧美一级片免费在线成人观看 | 欧美一区二区三区四区性视频| 韩国黄色一级二级三级| 欧美伊人久久大香线蕉综合| 人人爽亚洲av人人爽av| 国产白袜脚足J棉袜在线观看| 大鸡巴后入爆操大屁股美女| av中文字幕网址在线| 岛国一区二区三区视频在线| 夜夜骑夜夜操夜夜奸| 蜜桃专区一区二区在线观看| 日本三极片视频网站观看| 国产+亚洲+欧美+另类| 久久亚洲天堂中文对白| 大胆亚洲av日韩av| 亚洲综合另类欧美久久| 99热99这里精品6国产| 亚洲午夜电影之麻豆| 毛片av在线免费看| 亚洲 欧美 自拍 偷拍 在线| 中文字幕中文字幕人妻| 美女吃鸡巴操逼高潮视频| 91在线视频在线精品3| 亚洲变态另类色图天堂网| 黄色三级网站免费下载| av老司机亚洲一区二区| 国产第一美女一区二区三区四区| 99婷婷在线观看视频| 91免费观看国产免费| 日视频免费在线观看| www日韩a级s片av| 一区二区三区四区视频| 天堂中文字幕翔田av| 色综合久久久久久久久中文| caoporm超碰国产| 国产欧美精品一区二区高清| 高清一区二区欧美系列| 日本一本午夜在线播放| 只有精品亚洲视频在线观看| 精品人妻每日一部精品| 国产精品黄大片在线播放| 精品国产成人亚洲午夜| 天天综合天天综合天天网| 熟女妇女老妇一二三区| 亚洲精品国产综合久久久久久久久| 中文字幕 人妻精品| 一区二区三区久久久91| 亚洲午夜电影在线观看| 水蜜桃国产一区二区三区| 亚洲熟色妇av日韩熟色妇在线| 骚逼被大屌狂草视频免费看| 91九色porny国产蝌蚪视频| 国产亚洲视频在线二区| 黄片大全在线观看观看| 40道精品招牌菜特色| 2018在线福利视频| 中国把吊插入阴蒂的视频| 香港三日本三韩国三欧美三级| 日韩av有码一区二区三区4| 亚洲免费国产在线日韩| 国产精品熟女久久久久浪潮| 韩国男女黄色在线观看| 亚洲欧洲av天堂综合| 91久久精品色伊人6882| 狍和女人的王色毛片| 欧美专区日韩专区国产专区| 社区自拍揄拍尻屁你懂的| 91老师蜜桃臀大屁股| 久久www免费人成一看片| 成熟丰满熟妇高潮xx×xx| 3337p日本欧洲大胆色噜噜| 天天日天天干天天干天天日| 2022国产精品视频| 久久精品国产亚洲精品166m| 欧美老鸡巴日小嫩逼| 日本xx片在线观看| 亚洲高清国产自产av| 2o22av在线视频| 999九九久久久精品| 亚洲高清国产自产av| 成人24小时免费视频| 在线免费观看欧美小视频| 欧美爆乳肉感大码在线观看| 亚洲公开视频在线观看| 久久久久国产成人精品亚洲午夜| 欧美色呦呦最新网址| 78色精品一区二区三区| 国产一区二区神马久久| 51国产偷自视频在线播放| 亚洲欧美在线视频第一页| www久久久久久久久久久| 最新97国产在线视频| 天天干天天操天天爽天天摸| 亚洲精品无码色午夜福利理论片| 免费观看成年人视频在线观看| 视频一区二区三区高清在线| 日本阿v视频在线免费观看| 国产视频一区在线观看| asmr福利视频在线观看| 国产一区二区欧美三区| 成人国产小视频在线观看| 亚洲精品国偷自产在线观看蜜桃 | 日本三极片中文字幕| 欧美xxx成人在线| 黄色片一级美女黄色片| 国产精品国产精品一区二区| 91久久综合男人天堂| 97国产在线av精品| 夜夜操,天天操,狠狠操| 成年人中文字幕在线观看| 丰满熟女午夜福利视频| 亚洲熟妇无码一区二区三区| 熟女妇女老妇一二三区| 日本少妇的秘密免费视频| 中文 成人 在线 视频| 大学生A级毛片免费视频| 日本少妇人妻xxxxx18| 伊人网中文字幕在线视频| 伊人情人综合成人久久网小说| 日韩精品电影亚洲一区| 午夜福利资源综合激情午夜福利资| 青青草在观免费国产精品| 亚洲一区二区三区av网站| 日本人妻少妇18—xx| 激情人妻校园春色亚洲欧美| 蝴蝶伊人久久中文娱乐网| 午夜激情久久不卡一区二区| 天天日天天操天天摸天天舔| 国产精品久久久久国产三级试频| 三级黄色亚洲成人av| 91免费福利网91麻豆国产精品| 自拍偷拍一区二区三区图片| okirakuhuhu在线观看| 日韩午夜福利精品试看| 日韩欧美在线观看不卡一区二区| 性感美女高潮视频久久久| 亚洲在线观看中文字幕av| 人人在线视频一区二区| 在线观看国产网站资源| 亚洲免费福利一区二区三区| 视频在线免费观看你懂得| 中文字幕高清资源站| 欧美精品伦理三区四区| 国产va在线观看精品| 日韩欧美国产一区不卡| 成年美女黄网站18禁久久| 777奇米久久精品一区| 日本av在线一区二区三区| av黄色成人在线观看| 欧美中国日韩久久精品| 中文人妻AV久久人妻水| 日本一道二三区视频久久| 国产熟妇乱妇熟色T区| 扒开腿挺进肉嫩小18禁视频| 黄工厂精品视频在线观看| 亚洲欧美久久久久久久久| 成年午夜影片国产片| av乱码一区二区三区| av中文字幕网址在线| 国产精品女邻居小骚货| 99热99re在线播放| 精品av国产一区二区三区四区| 日比视频老公慢点好舒服啊| 久久久久久性虐视频| 成人国产小视频在线观看| 国产亚洲四十路五十路| 亚洲超碰97人人做人人爱| 99精品视频在线观看免费播放 | 91天堂天天日天天操| 中文字幕免费在线免费| 丰满的子国产在线观看| 国产成人精品福利短视频| 婷婷综合蜜桃av在线| 亚洲精品午夜久久久久| sw137 中文字幕 在线| 国产露脸对白在线观看| 青青青青操在线观看免费| 欧美成一区二区三区四区| 亚洲成高清a人片在线观看| 日本特级片中文字幕| 亚洲熟女久久久36d| 超碰中文字幕免费观看| asmr福利视频在线观看| 亚洲精品中文字幕下载| 亚洲一级av大片免费观看| 午夜激情久久不卡一区二区| 9国产精品久久久久老师| 男人天堂色男人av| 99视频精品全部15| 四川乱子伦视频国产vip| 五月天色婷婷在线观看视频免费| 日本一本午夜在线播放| 九色精品视频在线播放| 国产精品亚洲а∨天堂免| 成人av免费不卡在线观看| 人妻熟女在线一区二区| 一区二区三区国产精选在线播放| 久草视频在线看免费| 毛片av在线免费看| 亚洲av一妻不如妾| 99婷婷在线观看视频| 大香蕉伊人中文字幕| 好吊操视频这里只有精品| 一区二区久久成人网| 久草视频首页在线观看| 91在线免费观看成人| 99精品免费久久久久久久久a| 男人天堂av天天操| 操人妻嗷嗷叫视频一区二区| 成人午夜电影在线观看 久久| 欧美日韩在线精品一区二区三| 欧美日韩亚洲国产无线码| 中文字幕高清在线免费播放| 中文字幕免费福利视频6| 99精品亚洲av无码国产另类| 欧美中国日韩久久精品| 免费在线福利小视频| 大学生A级毛片免费视频| 丰满少妇人妻xxxxx| 国产午夜亚洲精品麻豆| 日韩a级黄色小视频| 日本一本午夜在线播放| 国产真实灌醉下药美女av福利| 国产性感美女福利视频| 亚洲综合色在线免费观看| 亚洲va国产va欧美精品88| 伊人成人在线综合网| 把腿张开让我插进去视频| 青青青青青手机视频| 啪啪啪操人视频在线播放| 国产一区二区三免费视频 | 欧美成人一二三在线网| 成年人免费看在线视频| 亚洲伊人色一综合网| 精品一线二线三线日本| 2020久久躁狠狠躁夜夜躁| 偷拍自拍亚洲视频在线观看| 曰本无码人妻丰满熟妇啪啪| 亚洲av可乐操首页| 日韩欧美亚洲熟女人妻| 欧美日韩在线精品一区二区三| 午夜毛片不卡在线看| 国产av福利网址大全| 91一区精品在线观看| 欧美另类一区二区视频| 国产aⅴ一线在线观看| 国产黄色大片在线免费播放| 亚洲成人精品女人久久久| 色噜噜噜噜18禁止观看| 亚洲最大黄了色网站| 亚洲一区自拍高清免费视频| 日韩熟女系列一区二区三区| 国产在线拍揄自揄视频网站| 国产在线拍揄自揄视频网站| 久久永久免费精品人妻专区| 2021久久免费视频| 国产视频一区二区午夜| 亚洲日本一区二区三区| 国产一线二线三线的区别在哪| 91传媒一区二区三区| 亚洲美女美妇久久字幕组| 无套猛戳丰满少妇人妻| 欧美亚洲中文字幕一区二区三区| 亚洲av无乱一区二区三区性色 | av破解版在线观看| 97小视频人妻一区二区| 国产熟妇乱妇熟色T区| 91福利在线视频免费观看| 亚洲欧美色一区二区| 2022国产综合在线干| 日本成人不卡一区二区| 黄工厂精品视频在线观看| 91av中文视频在线| 精品suv一区二区69| 中文字幕,亚洲人妻| 国产亚洲视频在线二区| 91免费黄片可看视频| 亚洲国产欧美国产综合在线| 91综合久久亚洲综合| 中文字幕一区二 区二三区四区 | 又色又爽又黄又刺激av网站| 欧美日本国产自视大全| 亚洲一区二区三区av网站| 欧美熟妇一区二区三区仙踪林| 亚洲av成人网在线观看| 欧美精产国品一二三产品价格| 中国熟女一区二区性xx| 国产 在线 免费 精品| 国产亚洲视频在线观看| 久久三久久三久久三久久| 天天日天天透天天操| 早川濑里奈av黑人番号| 一色桃子人妻一区二区三区| 亚洲一区av中文字幕在线观看| 偷拍3456eee| 亚洲另类伦春色综合小| 亚洲一区二区三区久久受| 亚洲精品ww久久久久久| 亚洲综合乱码一区二区| 欧美黑人性猛交xxxxⅹooo| 18禁免费av网站| 国产成人精品福利短视频| 91桃色成人网络在线观看| 一级黄色片夫妻性生活| 亚洲av日韩高清hd| 91天堂精品一区二区| 日韩欧美国产一区不卡| 97精品视频在线观看| 美女张开腿让男生操在线看| 啊啊好慢点插舔我逼啊啊啊视频| 国产精品国产三级国产午| 日本人妻少妇18—xx| 亚洲午夜精品小视频| 日韩剧情片电影在线收看| 久久午夜夜伦痒痒想咳嗽P| 亚洲成人熟妇一区二区三区 | 国产视频在线视频播放| 亚洲公开视频在线观看| 视频啪啪啪免费观看| 亚洲伊人色一综合网| 黄色三级网站免费下载| 久久这里只有精品热视频| 国产自拍在线观看成人| 97精品视频在线观看| 日本最新一二三区不卡在线| 亚洲精品国偷自产在线观看蜜桃| 人妻少妇一区二区三区蜜桃| 日韩欧美国产一区不卡| 亚洲精品三级av在线免费观看| 日本韩国在线观看一区二区| 99国内精品永久免费视频| 国产精品自偷自拍啪啪啪| 天天日天天玩天天摸| 成人影片高清在线观看 | 婷婷五月亚洲综合在线| 熟女在线视频一区二区三区| 91中文字幕免费在线观看| 国产乱子伦一二三区| 综合激情网激情五月五月婷婷| 东京干手机福利视频| 久久久麻豆精亚洲av麻花| 成人激情文学网人妻| 少妇系列一区二区三区视频| 亚洲av色图18p| 欧美亚洲免费视频观看| 亚洲成人熟妇一区二区三区 | 老鸭窝在线观看一区| 欧美偷拍自拍色图片| 亚洲 图片 欧美 图片| 亚洲 清纯 国产com| 乱亲女秽乱长久久久| 男人天堂色男人av| 男人插女人视频网站| 亚洲综合在线视频可播放| 国产一区二区在线欧美| 欧美国产亚洲中英文字幕| 亚洲伊人久久精品影院一美女洗澡| 韩国亚洲欧美超一级在线播放视频| 中文字幕在线免费第一页| 亚洲护士一区二区三区| 在线可以看的视频你懂的| 午夜精品一区二区三区更新| 成熟熟女国产精品一区| 成人国产影院在线观看| 亚洲人人妻一区二区三区| 亚洲免费av在线视频| 国产黄色片在线收看| 欧美成人一二三在线网| 青青青国产片免费观看视频| 天天日天天天天天天天天天天 | 亚洲av日韩av第一区二区三区| 国产综合高清在线观看| 婷婷久久久综合中文字幕| 日本少妇精品免费视频| 国产之丝袜脚在线一区二区三区| 亚洲免费va在线播放| 日本熟妇丰满厨房55| 51精品视频免费在线观看| 日本少妇高清视频xxxxx| 日韩视频一区二区免费观看| 亚洲欧美成人综合在线观看| 天天操天天操天天碰| 国产高清精品一区二区三区| 久久午夜夜伦痒痒想咳嗽P| 懂色av蜜桃a v| 懂色av蜜桃a v| 在线新三级黄伊人网| 亚洲欧美一区二区三区电影| 一区二区三区四区视频在线播放| 成人30分钟免费视频| 91综合久久亚洲综合| 黄色片一级美女黄色片| 大黑人性xxxxbbbb| 欧美特级特黄a大片免费| 亚洲嫩模一区二区三区| 国产又粗又猛又爽又黄的视频在线| 91成人在线观看免费视频| 91九色porny国产蝌蚪视频| 日韩在线视频观看有码在线| 人妻少妇性色欲欧美日韩 | 天天日天天干天天要| 精品少妇一二三视频在线| 人妻av无码专区久久绿巨人 | 国产在线观看免费人成短视频| 男人天堂av天天操| 好太好爽好想要免费| 99一区二区在线观看| 中文字幕在线乱码一区二区 | 亚洲国产在人线放午夜| 揄拍成人国产精品免费看视频| 欧美成人综合视频一区二区| 扒开让我视频在线观看| 蜜桃视频在线欧美一区| 中文字幕,亚洲人妻| 999久久久久999| 夫妻在线观看视频91| 成年人黄色片免费网站| okirakuhuhu在线观看| 熟女视频一区,二区,三区| 欧美偷拍自拍色图片| 色吉吉影音天天干天天操| 亚洲欧美福利在线观看| 天天日天天操天天摸天天舔| av在线免费中文字幕| 人妻最新视频在线免费观看| 久久精品国产亚洲精品166m| xxx日本hd高清| 操人妻嗷嗷叫视频一区二区| 国内精品在线播放第一页| 亚洲av男人的天堂你懂的| 亚洲av日韩高清hd| 精品少妇一二三视频在线| 亚洲av天堂在线播放| 国产精品手机在线看片| 国产精品黄大片在线播放| 色综合久久无码中文字幕波多| 国产午夜亚洲精品麻豆| 97资源人妻免费在线视频| 亚洲护士一区二区三区| 欧美怡红院视频在线观看| 一区二区三区精品日本| 在线亚洲天堂色播av电影| 久久精品36亚洲精品束缚| 熟女人妻一区二区精品视频| 久久一区二区三区人妻欧美| 天天日天天干天天要| 端庄人妻堕落挣扎沉沦| japanese日本熟妇另类| 成人免费做爰高潮视频| 成人av天堂丝袜在线观看| 人妻素人精油按摩中出| 中文字幕之无码色多多| 欧美老鸡巴日小嫩逼| 国产精品午夜国产小视频| 孕妇奶水仑乱A级毛片免费看| 日本在线不卡免费视频| 国产真实乱子伦a视频| 青青热久免费精品视频在线观看| 少妇被强干到高潮视频在线观看| 丰满少妇人妻xxxxx| 免费无毒热热热热热热久| 超碰在线观看免费在线观看| 日本成人不卡一区二区| www日韩毛片av| 不卡一不卡二不卡三| 国产污污污污网站在线| 日本黄色特一级视频| 班长撕开乳罩揉我胸好爽| 色综合色综合色综合色| 亚洲偷自拍高清视频| 高潮视频在线快速观看国家快速| 国产在线观看免费人成短视频| 97人人模人人爽人人喊| 欧美精品欧美极品欧美视频 | 国产精品成久久久久三级蜜臀av| 孕妇奶水仑乱A级毛片免费看| 好吊操视频这里只有精品| 2021天天色天天干| 成人精品视频99第一页| 93视频一区二区三区| 在线成人日韩av电影| 亚洲熟色妇av日韩熟色妇在线| 亚洲精品国产久久久久久| 国语对白xxxx乱大交| 国产自拍在线观看成人| 狍和女人的王色毛片| 一区二区三区 自拍偷拍| 九色视频在线观看免费| 国产aⅴ一线在线观看| www天堂在线久久| 97国产精品97久久| 国产黄色片蝌蚪九色91| 久久这里只有精彩视频免费| 日本少妇的秘密免费视频| 久草视频福利在线首页| 久久香蕉国产免费天天| 大陆精品一区二区三区久久| 天天日天天舔天天射进去| 亚洲护士一区二区三区| 久久久久久久久久性潮| 88成人免费av网站| 自拍偷拍亚洲欧美在线视频| 天天艹天天干天天操| 老司机午夜精品视频资源| av成人在线观看一区| 日韩av大胆在线观看| 亚洲免费视频欧洲免费视频 | 精品少妇一二三视频在线| 黑人巨大的吊bdsm| 无忧传媒在线观看视频| 国产精品视频资源在线播放| 日曰摸日日碰夜夜爽歪歪| 丰满的子国产在线观看| av中文字幕在线观看第三页| 欧美一级视频一区二区| 国产av福利网址大全| 国产露脸对白在线观看| www,久久久,com| 99热久久这里只有精品| 少妇高潮无套内谢麻豆| 日本av高清免费网站| 五月天久久激情视频| 欧美日韩中文字幕欧美| 蜜桃久久久久久久人妻| 精品国产成人亚洲午夜| 五十路丰满人妻熟妇| 在线观看视频 你懂的| 福利视频一区二区三区筱慧| 黑人借宿ntr人妻的沦陷2| 一区二区久久成人网| 色综合久久无码中文字幕波多| 欧美另类一区二区视频| 午夜福利人人妻人人澡人人爽| 一区二区久久成人网| 国产一线二线三线的区别在哪| 极品粉嫩小泬白浆20p主播| 日韩成人性色生活片| 欧美精品国产综合久久| 好吊操视频这里只有精品| 欧美一区二区三区四区性视频| 亚洲码av无色中文| 99精品国自产在线人| av中文字幕网址在线| 国产高清精品一区二区三区| 播放日本一区二区三区电影| 啪啪啪啪啪啪啪啪啪啪黄色| 一色桃子人妻一区二区三区| 国产成人精品久久二区91| 这里只有精品双飞在线播放| 日本黄色三级高清视频| 欧美日韩不卡一区不区二区| 黄色的网站在线免费看| 男生舔女生逼逼视频| 国产片免费观看在线观看| 骚货自慰被发现爆操| 在线不卡成人黄色精品| av欧美网站在线观看| 久久精品国产23696| 中国黄色av一级片| 亚洲av日韩av网站| 91精品视频在线观看免费| 美日韩在线视频免费看| 这里只有精品双飞在线播放| 99久久99久国产黄毛片| 亚洲一级特黄特黄黄色录像片| 亚洲欧美国产麻豆综合| 久久久久五月天丁香社区| av一本二本在线观看| 亚洲 中文 自拍 无码| 久草极品美女视频在线观看| 黄色片一级美女黄色片| 亚洲av色图18p| 嫩草aⅴ一区二区三区| 亚洲一区自拍高清免费视频| aaa久久久久久久久| 人妻少妇一区二区三区蜜桃| 99精品国产aⅴ在线观看| 护士小嫩嫩又紧又爽20p| 久久人人做人人妻人人玩精品vr| 1区2区3区不卡视频| 亚洲老熟妇日本老妇| 欧美xxx成人在线| 亚洲va国产va欧美精品88| 激情图片日韩欧美人妻| 亚洲国产40页第21页| 青青青青青免费视频| 红杏久久av人妻一区| 国产综合视频在线看片| 国产三级精品三级在线不卡| 国产精品国产精品一区二区| 精品成人午夜免费看| 成人激情文学网人妻| 国产福利小视频二区| av在线免费观看亚洲天堂| 欧美精品免费aaaaaa| 97色视频在线观看| 亚洲一区二区三区av网站| 亚洲一区二区三区久久受| 国产大学生援交正在播放| 人人妻人人爱人人草| 国产亚州色婷婷久久99精品| 熟女俱乐部一二三区| 国产亚洲精品视频合集| 大肉大捧一进一出好爽在线视频| 亚洲 人妻 激情 中文| 中文字幕综合一区二区| 精品老妇女久久9g国产| 中文字幕一区二区亚洲一区| 午夜dv内射一区区| 国产黄色高清资源在线免费观看| 五十路熟女人妻一区二区9933| 亚洲成人av在线一区二区| 老司机深夜免费福利视频在线观看| 97精品成人一区二区三区 | 在线视频这里只有精品自拍| 色婷婷六月亚洲综合香蕉| 亚洲成人熟妇一区二区三区| 亚洲av黄色在线网站| 麻豆精品成人免费视频| 亚洲色偷偷综合亚洲AV伊人| 美女日逼视频免费观看| 欧美特级特黄a大片免费| 老鸭窝在线观看一区| 日本av在线一区二区三区| 91九色国产porny蝌蚪| 国产成人精品久久二区91| 黄网十四区丁香社区激情五月天| 欧美另类z0z变态| 91精品国产综合久久久蜜| 久精品人妻一区二区三区| 欧美性受xx黑人性猛交| 亚洲男人的天堂a在线| 欧美精品伦理三区四区| 岳太深了紧紧的中文字幕| 老司机你懂得福利视频| 天天干天天日天天谢综合156| 男人插女人视频网站| 99精品国产aⅴ在线观看| 亚洲成人精品女人久久久| 在线国产精品一区二区三区| 亚洲美女美妇久久字幕组| av亚洲中文天堂字幕网| 成人24小时免费视频| 在线观看日韩激情视频| 11久久久久久久久久久| 综合国产成人在线观看| 男人天堂av天天操| 中文字母永久播放1区2区3区 | 天天日天天日天天擦| 91极品大一女神正在播放| 19一区二区三区在线播放| 国产精品人久久久久久| 孕妇奶水仑乱A级毛片免费看| 亚洲激情唯美亚洲激情图片| 日视频免费在线观看| 老司机免费福利视频网| 国产欧美精品一区二区高清| 天天日天天天天天天天天天天| 青青草在观免费国产精品| 成人30分钟免费视频| 色噜噜噜噜18禁止观看| 天天操,天天干,天天射| 摧残蹂躏av一二三区| 好太好爽好想要免费| 久久久精品999精品日本| 中国老熟女偷拍第一页| 亚洲福利午夜久久久精品电影网| 欧美精品伦理三区四区 | 欧美国品一二三产区区别| 97黄网站在线观看| 在线观看的a站 最新| 国产亚洲视频在线二区| 传媒在线播放国产精品一区| 一区二区三区激情在线| 天天日天天舔天天射进去| 麻豆性色视频在线观看| 人妻无码色噜噜狠狠狠狠色| 综合页自拍视频在线播放| 性感美女诱惑福利视频| 日本xx片在线观看| 人妻丝袜诱惑我操她视频| 国产剧情演绎系列丝袜高跟| 国产一级麻豆精品免费| 蜜桃精品久久久一区二区| 扒开让我视频在线观看| 日日夜夜狠狠干视频| 国产一区二区在线欧美| 日日夜夜大香蕉伊人| 久久午夜夜伦痒痒想咳嗽P| 国产日韩精品电影7777| 五月色婷婷综合开心网4438| 91免费福利网91麻豆国产精品| 亚洲国产成人在线一区| 99热色原网这里只有精品| 93人妻人人揉人人澡人人| 精品久久久久久高潮| 欲满人妻中文字幕在线| 在线国产精品一区二区三区| 欧美美女人体视频一区| 老鸭窝在线观看一区| 男大肉棒猛烈插女免费视频| 欧美精品亚洲精品日韩在线| 亚洲av日韩精品久久久| 天天日天天干天天搡| 亚洲av日韩精品久久久| 天天想要天天操天天干| 亚洲国产免费av一区二区三区| 777奇米久久精品一区| 91国产资源在线视频| 亚洲一级av大片免费观看| 瑟瑟视频在线观看免费视频| 五十路熟女人妻一区二| 中文字幕之无码色多多| 韩国女主播精品视频网站| 亚洲av自拍偷拍综合| 久久久久久久久久性潮| 动漫美女的小穴视频| 午夜的视频在线观看| 蜜臀av久久久久久久| 中文字幕无码一区二区免费| 香港一级特黄大片在线播放| 91极品大一女神正在播放| 操人妻嗷嗷叫视频一区二区| 姐姐的朋友2在线观看中文字幕| 欧美精产国品一二三产品区别大吗| 久久麻豆亚洲精品av| 色噜噜噜噜18禁止观看| 日韩美女福利视频网| 国产黄色大片在线免费播放| 亚洲 自拍 色综合图| 久久精品36亚洲精品束缚| 国产精品人久久久久久| 高清成人av一区三区| 小穴多水久久精品免费看| 亚洲成人国产av在线| 国产高清在线观看1区2区| 久久99久久99精品影院| 偷拍美女一区二区三区| 亚洲欧洲一区二区在线观看| 亚洲综合在线视频可播放| 亚洲一区久久免费视频| 久久农村老妇乱69系列| 亚洲日产av一区二区在线| 一区二区三区的久久的蜜桃的视频| 婷婷色中文亚洲网68| 中文字幕成人日韩欧美| 偷拍自拍亚洲视频在线观看| 亚洲综合色在线免费观看| 人妻少妇性色欲欧美日韩| aⅴ精产国品一二三产品| 国产日韩一区二区在线看| 久久亚洲天堂中文对白| 日韩a级黄色小视频| 一区二区三区四区视频在线播放| 亚洲第一伊人天堂网| 亚洲成a人片777777| 国产乱子伦一二三区| 日韩美女综合中文字幕pp| 成人av天堂丝袜在线观看| 亚洲日本一区二区久久久精品| 青青青视频手机在线观看| www久久久久久久久久久| 亚洲一区av中文字幕在线观看| 1769国产精品视频免费观看| 国产九色91在线观看精品| 成人高潮aa毛片免费| 免费费一级特黄真人片| 日日爽天天干夜夜操| 狠狠的往里顶撞h百合| 日本女大学生的黄色小视频| 国产成人精品久久二区91| 精品国产午夜视频一区二区| 日本后入视频在线观看| 88成人免费av网站| caoporn蜜桃视频| 亚洲欧美另类自拍偷拍色图| 亚洲午夜福利中文乱码字幕| 国产精品精品精品999| av网址国产在线观看| 亚洲最大黄 嗯色 操 啊| 一本一本久久a久久精品综合不卡| 天天日天天玩天天摸| 国产黄色片蝌蚪九色91| 视频在线免费观看你懂得| 欧美视频一区免费在线| 欧美乱妇无乱码一区二区| 久久国产精品精品美女| 免费福利av在线一区二区三区| 91久久综合男人天堂| 日本美女性生活一级片| 国产精品黄色的av| 日本特级片中文字幕| 日韩一区二区电国产精品| 亚洲日产av一区二区在线| 日韩欧美国产一区ab| 91精品综合久久久久3d动漫| 亚洲国产精品中文字幕网站| 日本美女成人在线视频| 国产精品自拍偷拍a| 女人精品内射国产99| 开心 色 六月 婷婷| www骚国产精品视频| 久久久久久9999久久久久| 91精品国产观看免费| 亚洲色偷偷综合亚洲AV伊人| 午夜久久香蕉电影网| 亚洲福利精品福利精品福利| 大鸡吧插入女阴道黄色片| 欧美日韩亚洲国产无线码| 夜夜躁狠狠躁日日躁麻豆内射 | 全国亚洲男人的天堂| 午夜在线精品偷拍一区二| 3337p日本欧洲大胆色噜噜| 国产精品视频男人的天堂| 红桃av成人在线观看| 欧美一区二区三区啪啪同性| 欧美久久久久久三级网| 日韩激情文学在线视频| 9l人妻人人爽人人爽| 夏目彩春在线中文字幕| 国产黄网站在线观看播放| 成人精品在线观看视频| 午夜免费体验区在线观看| 午夜美女少妇福利视频| 欧美一区二区三区乱码在线播放| 成人高潮aa毛片免费| 18禁美女羞羞免费网站| 人妻自拍视频中国大陆| 天天操,天天干,天天射| 亚洲人妻30pwc| 成人av久久精品一区二区| 在线视频自拍第三页| 91av中文视频在线| 欧亚乱色一区二区三区| 国产女孩喷水在线观看| 国产又粗又硬又猛的毛片视频| 亚洲 人妻 激情 中文| 亚洲2021av天堂| 91chinese在线视频| av一区二区三区人妻| 欧美日韩国产一区二区三区三州| 国产美女一区在线观看| av一区二区三区人妻| 精品美女福利在线观看| 一级A一级a爰片免费免会员| 日韩a级黄色小视频| 91色秘乱一区二区三区| 国产精品黄色的av| 国产av一区2区3区| 天天射夜夜操狠狠干| 人妻少妇一区二区三区蜜桃| 天天摸天天亲天天舔天天操天天爽 | 免费无毒热热热热热热久| 夜夜骑夜夜操夜夜奸| 国产精品黄大片在线播放| 国产内射中出在线观看| 大屁股熟女一区二区三区| 日本又色又爽又黄又粗| 国产黄网站在线观看播放| 日韩一个色综合导航| 日日夜夜大香蕉伊人| 蜜桃视频入口久久久| 日本精品视频不卡一二三| 制服丝袜在线人妻中文字幕| 青草久久视频在线观看| 亚洲日产av一区二区在线| 免费观看丰满少妇做受| 都市激情校园春色狠狠| 精品国产在线手机在线| 亚洲免费av在线视频| 亚洲av第国产精品| 亚洲成人精品女人久久久| 欧美日韩情色在线观看| 男女啪啪啪啪啪的网站| 黄色在线观看免费观看在线 | 天天摸天天亲天天舔天天操天天爽| 欧美视频中文一区二区三区| 亚洲熟妇无码一区二区三区| 天天操天天干天天艹| 久久热久久视频在线观看| 在线观看日韩激情视频| 亚洲午夜福利中文乱码字幕| 91人妻精品一区二区久久| tube69日本少妇| 在线观看黄色成年人网站| 亚洲人妻av毛片在线| 在线播放国产黄色av| 最近中文字幕国产在线| 大鸡巴后入爆操大屁股美女| 午夜精彩视频免费一区| 欧美3p在线观看一区二区三区| 欧美viboss性丰满| 国产揄拍高清国内精品对白| 干逼又爽又黄又免费的视频| 欧美80老妇人性视频| 中字幕人妻熟女人妻a62v网| 色偷偷伊人大杳蕉综合网| 中文字幕午夜免费福利视频| 51国产偷自视频在线播放| 成人午夜电影在线观看 久久| 日韩特级黄片高清在线看| 欧美另类重口味极品在线观看| 欧美黄色录像免费看的| 98精产国品一二三产区区别| 999九九久久久精品| 国产高清在线在线视频| 欧美爆乳肉感大码在线观看| 亚洲粉嫩av一区二区三区| 亚洲精品乱码久久久本| 特级欧美插插插插插bbbbb| 亚洲天堂成人在线观看视频网站 | 日本免费视频午夜福利视频| 在线视频国产欧美日韩| 色狠狠av线不卡香蕉一区二区| 在线免费观看日本片| 欧美色婷婷综合在线| 久久久久久久久久久免费女人| 午夜大尺度无码福利视频| 日韩特级黄片高清在线看| 日韩欧美一级aa大片| 好吊操视频这里只有精品| 一区二区三区激情在线| 99精品国产免费久久| 免费无码人妻日韩精品一区二区| 日韩二区视频一线天婷婷五| 国产麻豆精品人妻av| 欧美 亚洲 另类综合| 狠狠的往里顶撞h百合| 一区二区三区毛片国产一区| 成人30分钟免费视频| 天天日天天玩天天摸| 亚洲成人av一区久久| 日本av在线一区二区三区| 99热99这里精品6国产| 在线观看视频 你懂的| av中文字幕在线观看第三页| 国产精品入口麻豆啊啊啊| 午夜久久久久久久99| 国产日韩一区二区在线看 | 黄色录像鸡巴插进去| 人妻熟女在线一区二区| 国产精品视频一区在线播放| 北条麻妃av在线免费观看| 亚洲在线一区二区欧美| 丝袜国产专区在线观看| 特级欧美插插插插插bbbbb| 换爱交换乱高清大片| 亚洲av人人澡人人爽人人爱| 日韩欧美一级精品在线观看| 99精品视频在线观看婷婷| 人妻凌辱欧美丰满熟妇| 97精品人妻一区二区三区精品| av黄色成人在线观看| 岛国毛片视频免费在线观看| 2018在线福利视频| 久久亚洲天堂中文对白| 天天日天天干天天插舔舔| 都市家庭人妻激情自拍视频| 91she九色精品国产| 国产露脸对白在线观看| 国产一级精品综合av| 日韩精品中文字幕播放| 夜色福利视频在线观看| 国产又粗又硬又猛的毛片视频| 日韩美女综合中文字幕pp| 99精品国产自在现线观看| 4个黑人操素人视频网站精品91| 一级黄片大鸡巴插入美女| 制服丝袜在线人妻中文字幕| 97精品视频在线观看| 91精品啪在线免费| 亚洲成高清a人片在线观看| 中文字日产幕乱六区蜜桃| 在线免费视频 自拍| 人妻无码中文字幕专区| 日韩欧美制服诱惑一区在线| 91精品国产黑色丝袜| 久久久久久久久久久久久97| 国产不卡av在线免费| 日本丰满熟妇大屁股久久| 亚洲一区二区三区五区| 99的爱精品免费视频| 中文字幕在线视频一区二区三区| 欧洲黄页网免费观看| 少妇深喉口爆吞精韩国| 中文字幕中文字幕 亚洲国产| 年轻的人妻被夫上司侵犯| 久久久久久久久久久久久97| 特一级特级黄色网片| 日本成人一区二区不卡免费在线| 国产精品视频一区在线播放| 91老师蜜桃臀大屁股| 91色九色porny| 午夜美女少妇福利视频| 真实国产乱子伦一区二区| 婷婷激情四射在线观看视频| 521精品视频在线观看| 2021国产一区二区| 国产使劲操在线播放| 人妻少妇av在线观看| av天堂加勒比在线| sw137 中文字幕 在线| 天堂av在线官网中文| 337p日本大胆欧美人| 日韩美女综合中文字幕pp| 嫩草aⅴ一区二区三区| 91九色porny国产蝌蚪视频| 亚洲激情偷拍一区二区| 天天干夜夜操啊啊啊| 亚洲一级美女啪啪啪| 大屁股肉感人妻中文字幕在线| 久久尻中国美女视频| 成人亚洲精品国产精品| 男人天堂最新地址av| 99久久成人日韩欧美精品| 成人区人妻精品一区二视频| 1区2区3区4区视频在线观看| 欧美男人大鸡吧插女人视频| 在线观看视频 你懂的| 香蕉aⅴ一区二区三区| 国产超码片内射在线| 在线观看的黄色免费网站| 天天干天天插天天谢| 最新日韩av传媒在线| 中文字幕在线欧美精品| 午夜在线观看一区视频| 初美沙希中文字幕在线| 在线免费91激情四射| 国产精彩福利精品视频| 亚洲精品亚洲人成在线导航| 美女张开腿让男生操在线看| 自拍偷拍亚洲精品第2页| 亚国产成人精品久久久| 日本在线不卡免费视频| 亚洲天堂精品福利成人av| 亚洲精品欧美日韩在线播放| 亚洲熟女久久久36d| 亚洲人妻av毛片在线| 大胆亚洲av日韩av| 日韩在线中文字幕色| 亚洲综合另类欧美久久| 国产综合视频在线看片| 激情五月婷婷综合色啪| 成熟熟女国产精品一区| 天天操天天弄天天射| 亚洲精品国偷自产在线观看蜜桃| 操人妻嗷嗷叫视频一区二区| aiss午夜免费视频| 经典国语激情内射视频| 动漫黑丝美女的鸡巴| jiujiure精品视频在线| 成熟熟女国产精品一区| 女生被男生插的视频网站| 亚洲色偷偷综合亚洲AV伊人| 午夜精品在线视频一区| 男人靠女人的逼视频| 成人网18免费视频版国产| 97黄网站在线观看| 成人免费做爰高潮视频| 91亚洲精品干熟女蜜桃频道| 久久精品国产999| 天天日天天干天天要| 九九热99视频在线观看97| 黄色中文字幕在线播放| 亚国产成人精品久久久| 亚洲一区二区三区五区| 夫妻在线观看视频91| av完全免费在线观看av| 欧美激情电影免费在线| 大鸡巴操娇小玲珑的女孩逼| 91精品国产91青青碰| 99精品国产自在现线观看| 国产精品免费不卡av| 日韩av有码中文字幕| 精品人人人妻人人玩日产欧| 久久这里有免费精品| 亚洲日产av一区二区在线| 狠狠嗨日韩综合久久| 亚洲成人线上免费视频观看| 免费男阳茎伸入女阳道视频| 日韩熟女系列一区二区三区| 亚洲欧美国产麻豆综合| 成年人黄视频在线观看| 男人的网址你懂的亚洲欧洲av| 嫩草aⅴ一区二区三区| 激情伦理欧美日韩中文字幕| wwwxxx一级黄色片| 欧美黑人与人妻精品| 欧美日韩激情啪啪啪| 人人爱人人妻人人澡39| 91精品一区二区三区站长推荐| 岛国青草视频在线观看| 亚洲一区二区三区在线高清| 日韩北条麻妃一区在线| 五月天久久激情视频| 中文字幕第1页av一天堂网| 大学生A级毛片免费视频| 亚洲一级 片内射视正片| 年轻的人妻被夫上司侵犯| 精品高跟鞋丝袜一区二区| 这里只有精品双飞在线播放| 大鸡巴后入爆操大屁股美女 | 又粗又硬又猛又黄免费30| 中文字幕高清在线免费播放 | 日韩精品激情在线观看| 手机看片福利盒子日韩在线播放| 边摸边做超爽毛片18禁色戒 | 久久精品亚洲成在人线a| 欧美日韩高清午夜蜜桃大香蕉| 国产精品入口麻豆啊啊啊| 日韩av有码一区二区三区4| 国产露脸对白在线观看| 国产精品人妻一区二区三区网站 | 激情人妻校园春色亚洲欧美 | 美女骚逼日出水来了| av老司机亚洲一区二区| 57pao国产一区二区| 中文字幕第1页av一天堂网| 国产精品欧美日韩区二区| 一级黄片大鸡巴插入美女| 国产卡一卡二卡三乱码手机| 久久久久五月天丁香社区| 国产综合视频在线看片| 天天通天天透天天插| 国产视频在线视频播放| 伊人综合aⅴ在线网| 国产在线拍揄自揄视频网站| 国产视频精品资源网站| 99热99这里精品6国产| 午夜影院在线观看视频羞羞羞| 岛国一区二区三区视频在线| 11久久久久久久久久久| 一区二区免费高清黄色视频| 97香蕉碰碰人妻国产樱花| 色综合久久无码中文字幕波多| 欧美中国日韩久久精品| 在线观看av2025| 成人av电影免费版| 天堂av中文在线最新版| 亚洲福利天堂久久久久久| 极品丝袜一区二区三区| 人人妻人人人操人人人爽| 国产黄色片蝌蚪九色91| 大学生A级毛片免费视频| 国产午夜无码福利在线看| 99精品国产aⅴ在线观看| 国产在线观看黄色视频| 北条麻妃av在线免费观看| 99re国产在线精品| 亚洲国产成人无码麻豆艾秋| 亚洲av极品精品在线观看| 亚洲一区二区三区av网站| 日本女大学生的黄色小视频| 韩国女主播精品视频网站| 98精产国品一二三产区区别| 天天草天天色天天干| 中国产一级黄片免费视频播放| av网址国产在线观看| 国产一区二区三免费视频| 久久久人妻一区二区| 在线观看视频污一区| 国产刺激激情美女网站| 91极品大一女神正在播放| 美女少妇亚洲精选av| 国产女人露脸高潮对白视频| 亚洲一区自拍高清免费视频| 日日爽天天干夜夜操| 中文字幕,亚洲人妻| 国产老熟女伦老熟妇ⅹ| 38av一区二区三区| 18禁无翼鸟成人在线 | 久久国产精品精品美女| 国产片免费观看在线观看| 人人爽亚洲av人人爽av| 欧美日韩人妻久久精品高清国产| 亚洲一区二区三区五区| 国产三级片久久久久久久| 香港一级特黄大片在线播放| 狠狠地躁夜夜躁日日躁| 国产女孩喷水在线观看| 人妻少妇av在线观看| av视屏免费在线播放| 色狠狠av线不卡香蕉一区二区 | 成人亚洲精品国产精品 | 国产+亚洲+欧美+另类| 婷婷久久久久深爱网| 亚洲一区二区三区在线高清| 女生自摸在线观看一区二区三区| 成人综合亚洲欧美一区 | 国产成人自拍视频在线免费观看| 老熟妇xxxhd老熟女| 亚洲激情av一区二区| 日韩在线中文字幕色| 57pao国产一区二区| 青青草在观免费国产精品| 四川五十路熟女av| 社区自拍揄拍尻屁你懂的| 大陆胖女人与丈夫操b国语高清| 精品人妻每日一部精品| 肏插流水妹子在线乐播下载| 超碰97免费人妻麻豆| 日韩剧情片电影在线收看| 丝袜肉丝一区二区三区四区在线| 91亚洲国产成人精品性色| 免费看国产又粗又猛又爽又黄视频 | 亚洲成人av在线一区二区| 免费成人va在线观看| 青青青青青青青在线播放视频| yellow在线播放av啊啊啊| 午夜蜜桃一区二区三区| 91成人在线观看免费视频| 国产大鸡巴大鸡巴操小骚逼小骚逼| 亚洲精品国产久久久久久| 91p0rny九色露脸熟女| 成年美女黄网站18禁久久| 亚洲专区激情在线观看视频| 又粗又长 明星操逼小视频 | 国产福利小视频免费观看| 综合国产成人在线观看| 青青青青青青青在线播放视频| 精品国产在线手机在线| 在线观看av2025| 亚洲欧美成人综合在线观看| 蜜臀av久久久久久久| 免费观看成年人视频在线观看| 丝袜肉丝一区二区三区四区在线| 亚洲精品一区二区三区老狼| 最新激情中文字幕视频| 日韩无码国产精品强奸乱伦| 男人在床上插女人视频| 欧美亚洲自偷自拍 在线| 无码日韩人妻精品久久| 亚洲1卡2卡三卡4卡在线观看| 午夜久久久久久久精品熟女| 欧美精产国品一二三区| 欧美一区二区三区乱码在线播放| 青青青爽视频在线播放| 2022中文字幕在线| 一区二区麻豆传媒黄片| 精品一区二区三四区| 亚洲欧美日韩视频免费观看| 国产黄色片在线收看| 日韩av免费观看一区| av高潮迭起在线观看| 加勒比视频在线免费观看| 中文 成人 在线 视频| 精品国产污污免费网站入口自| 大陆胖女人与丈夫操b国语高清| 中文字幕日韩精品日本| 在线观看911精品国产| 亚洲一区二区三区精品乱码| 老司机福利精品视频在线| 色综合天天综合网国产成人| 免费男阳茎伸入女阳道视频| 蝴蝶伊人久久中文娱乐网| 欧美一区二区三区在线资源 | 亚洲欧美色一区二区| 中文字幕在线观看极品视频| 欧美 亚洲 另类综合| 国产精品人妻一区二区三区网站| 十八禁在线观看地址免费| 区一区二区三国产中文字幕| 天天操天天干天天日狠狠插| 欧美一区二区三区乱码在线播放| 老司机免费视频网站在线看| 99热这里只有精品中文| 亚洲综合一区二区精品久久| 中文字幕无码一区二区免费| 91福利视频免费在线观看| 日韩av有码一区二区三区4| 欧美精品伦理三区四区| 91she九色精品国产| 亚洲免费视频欧洲免费视频| 天天操夜夜操天天操天天操| 亚洲人妻av毛片在线| 91快播视频在线观看| 精品亚洲中文字幕av| 免费无毒热热热热热热久| 亚洲另类伦春色综合小| 久久综合老鸭窝色综合久久| 女生自摸在线观看一区二区三区| 91国语爽死我了不卡| 青娱乐极品视频青青草| 免费一级特黄特色大片在线观看| 久久久久久久精品老熟妇| 亚洲综合在线观看免费| 欧美性感尤物人妻在线免费看| 欧美精产国品一二三产品区别大吗| 国产九色91在线观看精品| 亚洲欧洲av天堂综合| 日韩精品电影亚洲一区| 欧美激情精品在线观看| 黄色视频成年人免费观看| 99精品视频在线观看免费播放| 新97超碰在线观看| 色天天天天射天天舔| av大全在线播放免费| av手机在线观播放网站| 亚洲成av人无码不卡影片一| 国产精品欧美日韩区二区| 日本精品视频不卡一二三| 曰本无码人妻丰满熟妇啪啪| 自拍偷拍亚洲精品第2页| 97色视频在线观看| 亚洲国产免费av一区二区三区| 国产麻豆精品人妻av| 成人av电影免费版| 亚洲av可乐操首页| 亚洲色偷偷综合亚洲AV伊人| 亚洲 图片 欧美 图片| 欧美亚洲少妇福利视频| 91色秘乱一区二区三区| 中文字幕+中文字幕| 久久精品美女免费视频| 日本人竟这样玩学生妹| 中文字幕第一页国产在线| 色综合天天综合网国产成人| 国产超码片内射在线| 成人综合亚洲欧美一区| www日韩毛片av| 日韩亚国产欧美三级涩爱| 国产精品午夜国产小视频| 伊人情人综合成人久久网小说| 在线观看av2025| 国产午夜亚洲精品麻豆| 播放日本一区二区三区电影| 欧美精品资源在线观看| 亚洲另类在线免费观看| 国产亚洲欧美另类在线观看| 抽查舔水白紧大视频| 日本高清成人一区二区三区| 黑人性生活视频免费看| 在线免费观看日本片| 亚洲精品 日韩电影| 秋霞午夜av福利经典影视| 中文字幕一区二区亚洲一区| 只有精品亚洲视频在线观看| 日韩欧美在线观看不卡一区二区 | 国产极品美女久久久久久| 国产黄色a级三级三级三级 | 78色精品一区二区三区| 亚洲一区二区三区久久受| 亚洲最大黄 嗯色 操 啊| nagger可以指黑人吗| 少妇人妻100系列| 男大肉棒猛烈插女免费视频| 日本少妇精品免费视频| 日本a级视频老女人| 激情国产小视频在线| 亚洲精品久久综合久| 大鸡巴插入美女黑黑的阴毛| 男人天堂最新地址av| 精品首页在线观看视频| 亚洲欧美一区二区三区电影| 不戴胸罩引我诱的隔壁的人妻| 孕妇奶水仑乱A级毛片免费看| weyvv5国产成人精品的视频| 亚洲国产精品美女在线观看| 天天色天天操天天舔| 亚洲国产精品久久久久久6| 欧美少妇性一区二区三区| 成熟丰满熟妇高潮xx×xx| 亚洲精品午夜aaa久久| 99精品国产免费久久| 国产视频网站一区二区三区 | 国产揄拍高清国内精品对白| 亚洲综合一区成人在线| 欧美精品欧美极品欧美视频| 欧美成人猛片aaaaaaa| 91九色国产porny蝌蚪| 亚洲欧美综合另类13p| 亚洲va国产va欧美va在线| 99精品国自产在线人| 国产精品sm调教视频| 色综合久久久久久久久中文| 丝袜美腿视频诱惑亚洲无 | 欧洲亚洲欧美日韩综合| 国产高清97在线观看视频| 成年人黄视频在线观看| 青青草原色片网站在线观看| 久久精品国产亚洲精品166m| 国产精品熟女久久久久浪潮| 天天日天天鲁天天操| 性感美女福利视频网站| 人妻少妇亚洲精品中文字幕| 亚洲高清免费在线观看视频| 亚洲av无乱一区二区三区性色| 无码日韩人妻精品久久| 亚洲综合另类精品小说| 成人av在线资源网站| 播放日本一区二区三区电影| 国产一区二区久久久裸臀| 天天操天天干天天插| 美女操逼免费短视频下载链接| 99精品国产aⅴ在线观看| 国产精品欧美日韩区二区| 很黄很污很色的午夜网站在线观看| 1区2区3区不卡视频| 久久精品视频一区二区三区四区| 天天夜天天日天天日| 国产精品伦理片一区二区| 日韩欧美国产精品91| 天天草天天色天天干| 中文亚洲欧美日韩无线码| 亚洲在线免费h观看网站| chinese国产盗摄一区二区| 宅男噜噜噜666免费观看| 日韩近亲视频在线观看| 熟女少妇激情五十路| 男大肉棒猛烈插女免费视频| 日韩av中文在线免费观看| 18禁美女黄网站色大片下载| 亚洲欧美国产麻豆综合| 国产成人精品亚洲男人的天堂| 狠狠操操操操操操操操操| 高潮喷水在线视频观看| 亚洲综合在线观看免费| 亚洲国产精品久久久久蜜桃| 国产熟妇乱妇熟色T区| 老司机午夜精品视频资源 | 婷婷五月亚洲综合在线| 欧美国品一二三产区区别| 免费在线看的黄片视频| 欧美日韩不卡一区不区二区| 中国熟女一区二区性xx| av在线免费观看亚洲天堂| 日本少妇高清视频xxxxx| 日本精品美女在线观看| 国产精品成久久久久三级蜜臀av| 97人妻夜夜爽二区欧美极品| 午夜精品久久久久麻豆影视| 中文字母永久播放1区2区3区| 超污视频在线观看污污污| 日韩欧美高清免费在线| 久久久久久久99精品| 国产成人精品午夜福利训2021| 亚洲一区av中文字幕在线观看| 成人久久精品一区二区三区| 欧美视频不卡一区四区| 极品性荡少妇一区二区色欲| 都市激情校园春色狠狠| 99精品视频之69精品视频| 高潮视频在线快速观看国家快速| 亚洲欧美综合另类13p| 天天操天天干天天艹| 99国内小视频在现欢看| 亚洲欧美一区二区三区爱爱动图| 91精品国产91青青碰| 亚洲国产美女一区二区三区软件 | 最近中文2019年在线看| 欧美一区二区三区激情啪啪啪| 色哟哟国产精品入口| 亚洲 人妻 激情 中文| 亚洲一区自拍高清免费视频| 超污视频在线观看污污污| 老鸭窝在线观看一区| 亚洲精品欧美日韩在线播放| 免费看美女脱光衣服的视频| 被大鸡吧操的好舒服视频免费| 日韩不卡中文在线视频网站| 成年人啪啪视频在线观看| 欧美视频中文一区二区三区| 亚洲精品一线二线在线观看 | 中文字幕人妻一区二区视频| 老师啊太大了啊啊啊尻视频| 日本在线不卡免费视频| 国产精品视频男人的天堂| 一二三区在线观看视频| 丰满熟女午夜福利视频| 成人高清在线观看视频| 中国无遮挡白丝袜二区精品| 中文字幕一区的人妻欧美日韩| 91av精品视频在线| 亚洲福利天堂久久久久久| 天天日天天敢天天干| 伊人综合aⅴ在线网| 精品suv一区二区69| 亚洲女人的天堂av| 欧美亚洲少妇福利视频| 欧美一区二区三区在线资源| 夜色撩人久久7777| 久久久久五月天丁香社区| asmr福利视频在线观看| 热99re69精品8在线播放| 一级黄片大鸡巴插入美女| 国内精品在线播放第一页| 色综合天天综合网国产成人| 9久在线视频只有精品| 久久农村老妇乱69系列| 免费无毒热热热热热热久| 欧美va不卡视频在线观看| 91国产资源在线视频| 黑人巨大精品欧美视频| 中文字幕 人妻精品| 欧美怡红院视频在线观看| 中文字幕第三十八页久久| 乱亲女秽乱长久久久| 国产视频网站一区二区三区 | 日韩av有码中文字幕| 亚洲欧美激情人妻偷拍| 香蕉片在线观看av| 99久久激情婷婷综合五月天| 日本熟妇喷水xxx| 最新国产亚洲精品中文在线| 阿v天堂2014 一区亚洲| 天天干天天操天天扣| 日韩国产乱码中文字幕| 成人动漫大肉棒插进去视频| 天天干天天操天天爽天天摸| 亚洲精品国偷自产在线观看蜜桃| 岛国免费大片在线观看 | 日本高清成人一区二区三区| 欧美特色aaa大片| 偷拍自拍国产在线视频| 制服丝袜在线人妻中文字幕| 久草福利电影在线观看| 免费看国产又粗又猛又爽又黄视频| 色综合色综合色综合色| 午夜精品在线视频一区| 99精品国产免费久久| 天堂av在线官网中文| 一区二区三区日韩久久| 国产福利小视频免费观看| 人妻少妇精品久久久久久 | 亚洲精品麻豆免费在线观看| 婷婷五月亚洲综合在线| 亚洲av无码成人精品区辽| 亚洲一级av大片免费观看| 天天日天天干天天插舔舔| 人妻少妇亚洲一区二区| 国产性色生活片毛片春晓精品| 亚洲av极品精品在线观看| 天天插天天色天天日| gogo国模私拍视频| 国产成人综合一区2区| 9l人妻人人爽人人爽| 成年午夜免费无码区| 午夜激情高清在线观看| 亚洲精品欧美日韩在线播放| 19一区二区三区在线播放|