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

色秀欧美视频第一页| 自拍偷拍亚洲精品第2页| 中文字幕亚洲中文字幕| 无码国产精品一区二区高潮久久4 日韩欧美一级精品在线观看 | 一级A一级a爰片免费免会员| 97精品成人一区二区三区| 亚洲高清国产拍青青草原| 狍和女人的王色毛片| 久久精品亚洲成在人线a| 黄色片一级美女黄色片| 亚洲蜜臀av一区二区三区九色| 久久久久久久久久久久久97| 亚洲特黄aaaa片| 亚洲第17页国产精品| av新中文天堂在线网址| 黄色成年网站午夜在线观看 | 18禁美女无遮挡免费| 免费av岛国天堂网站| 久久永久免费精品人妻专区| 精品人人人妻人人玩日产欧| 中国熟女一区二区性xx| 亚洲va国产va欧美精品88| 最新97国产在线视频| 中文字幕之无码色多多| 二区中出在线观看老师| 大鸡吧插逼逼视频免费看| av中文字幕网址在线| 亚洲2021av天堂| 成年午夜影片国产片| 绝顶痉挛大潮喷高潮无码| 久久久久久国产精品| 天天色天天操天天舔| 在线播放国产黄色av| 在线新三级黄伊人网| 欧美成人猛片aaaaaaa| 香港一级特黄大片在线播放| 午夜精品福利91av| 精品91高清在线观看| 特级无码毛片免费视频播放| 成人sm视频在线观看| 午夜在线一区二区免费| sw137 中文字幕 在线| 日韩欧美在线观看不卡一区二区| av在线免费观看亚洲天堂| 91中文字幕最新合集| 久久免看30视频口爆视频| 三级等保密码要求条款| 在线观看操大逼视频| 国产之丝袜脚在线一区二区三区 | 亚洲精品 欧美日韩| 中文字幕在线乱码一区二区| 老司机免费福利视频网| 久久久久五月天丁香社区| 人人妻人人爽人人澡人人精品| 大骚逼91抽插出水视频| 亚洲人人妻一区二区三区| 欧美综合婷婷欧美综合| 蜜桃视频入口久久久| av老司机精品在线观看| av亚洲中文天堂字幕网| 韩国亚洲欧美超一级在线播放视频| 亚洲欧美在线视频第一页| 青青草原色片网站在线观看| 自拍偷拍日韩欧美一区二区| 99国内小视频在现欢看| 青娱乐最新视频在线| 天天躁日日躁狠狠躁躁欧美av | 亚洲第一伊人天堂网| 天天射夜夜操综合网| 黄色大片免费观看网站| 午夜美女少妇福利视频| av中文字幕在线观看第三页| av新中文天堂在线网址| 男女啪啪视频免费在线观看| 国产精品成久久久久三级蜜臀av| 东京热男人的av天堂| 91www一区二区三区| 国产精品黄大片在线播放| 国产精品人妻66p| 国产精品黄片免费在线观看| 欧美一区二区三区在线资源| 中文字幕在线视频一区二区三区 | 亚洲另类伦春色综合小| 在线免费观看黄页视频| 亚洲av无硬久久精品蜜桃| 18禁美女无遮挡免费| 精品一区二区三四区| 午夜成午夜成年片在线观看| 偷拍自拍亚洲美腿丝袜| 含骚鸡巴玩逼逼视频| 中国无遮挡白丝袜二区精品| 免费男阳茎伸入女阳道视频| 女蜜桃臀紧身瑜伽裤| 大香蕉日本伊人中文在线| 三级黄色亚洲成人av| 韩国男女黄色在线观看| 阿v天堂2014 一区亚洲| 久久久久久99国产精品| 99精品视频在线观看免费播放| 亚洲欧美成人综合视频| 欧美日韩一区二区电影在线观看| 亚洲女人的天堂av| gogo国模私拍视频| 亚洲成人情色电影在线观看| 100%美女蜜桃视频| 5528327男人天堂| 55夜色66夜色国产精品站| 热99re69精品8在线播放| 女生自摸在线观看一区二区三区| 丰满的子国产在线观看| 4个黑人操素人视频网站精品91| 激情小视频国产在线| 91福利在线视频免费观看| 扒开让我视频在线观看| 亚洲va国产va欧美va在线| 1区2区3区不卡视频| 女同久久精品秋霞网| 99精品国自产在线人| 亚洲男人在线天堂网| 天堂资源网av中文字幕| 国产在线免费观看成人| 中文字幕免费福利视频6| 日本熟妇一区二区x x| 沙月文乃人妻侵犯中文字幕在线 | 人人爱人人妻人人澡39| 日韩av有码一区二区三区4| 亚洲一区二区三区久久受| 亚洲福利精品视频在线免费观看| 中文字幕网站你懂的| 亚洲午夜电影在线观看| 一区二区三区四区视频| 黑人变态深video特大巨大| 欧美黑人与人妻精品| 日韩欧美在线观看不卡一区二区 | 不卡一不卡二不卡三| 婷婷久久久久深爱网| 免费观看成年人视频在线观看| 欧美美女人体视频一区| 后入美女人妻高清在线| 精品国产在线手机在线| 欧美偷拍亚洲一区二区| 亚洲中文字字幕乱码| 制丝袜业一区二区三区| gogo国模私拍视频| 亚洲 自拍 色综合图| 播放日本一区二区三区电影 | 中文字幕亚洲中文字幕| 亚洲精品久久视频婷婷| 青青草亚洲国产精品视频| 亚洲天堂精品久久久| 日韩美女搞黄视频免费| 日本韩国免费一区二区三区视频| 超碰公开大香蕉97| 亚洲图片偷拍自拍区| 国产在线观看免费人成短视频| 好太好爽好想要免费| 欧美精产国品一二三产品区别大吗| 日日操夜夜撸天天干| 成人av电影免费版| 性色蜜臀av一区二区三区| 欧美久久一区二区伊人| 日本精品一区二区三区在线视频。 | 亚洲人妻视频在线网| 18禁美女黄网站色大片下载| 任你操视频免费在线观看| 偷拍自拍视频图片免费| 男生舔女生逼逼视频| 不卡一区一区三区在线| 久久久久久九九99精品| 久久久久久九九99精品| 中英文字幕av一区| 免费69视频在线看| 成人久久精品一区二区三区| 日韩无码国产精品强奸乱伦| 国产黄网站在线观看播放| 一区二区三区日本伦理| 亚洲少妇高潮免费观看| 亚洲人妻国产精品综合| 日日摸夜夜添夜夜添毛片性色av| 亚洲最大黄了色网站| 91she九色精品国产| 18禁免费av网站| 自拍偷拍亚洲精品第2页| 欧美xxx成人在线| 成人国产小视频在线观看| 亚洲一区二区三区精品乱码| 11久久久久久久久久久| av天堂资源最新版在线看| 性生活第二下硬不起来| 国产刺激激情美女网站| 人妻久久无码中文成人| 一级黄片久久久久久久久| 男大肉棒猛烈插女免费视频 | 超鹏97历史在线观看| 国产亚洲四十路五十路| 国产午夜亚洲精品麻豆| 天堂资源网av中文字幕| 18禁精品网站久久| asmr福利视频在线观看| 岛国黄色大片在线观看| 任我爽精品视频在线播放| 摧残蹂躏av一二三区| 欧美成人一二三在线网| 最新97国产在线视频| 国产精品欧美日韩区二区| 偷拍自拍亚洲视频在线观看| 天天插天天色天天日| 亚洲av无女神免非久久| 人妻少妇一区二区三区蜜桃| 韩国AV无码不卡在线播放| 日本www中文字幕| 欧美视频中文一区二区三区| 狠狠的往里顶撞h百合| 粉嫩av懂色av蜜臀av| 精品国产成人亚洲午夜| 在线观看911精品国产| 偷拍美女一区二区三区| 精品人妻每日一部精品| 五十路av熟女松本翔子| 欧美日韩一区二区电影在线观看| 91破解版永久免费| 国产妇女自拍区在线观看| 中文 成人 在线 视频| 熟女人妻在线中出观看完整版| 亚洲中文精品字幕在线观看| 亚洲高清国产自产av| 99国产精品窥熟女精品| 黄页网视频在线免费观看| huangse网站在线观看| 又色又爽又黄的美女裸体| 午夜成午夜成年片在线观看| 欧美亚洲国产成人免费在线| 粉嫩欧美美人妻小视频| 岛国一区二区三区视频在线| 亚洲av午夜免费观看| 国产麻豆剧果冻传媒app| 水蜜桃国产一区二区三区| 蜜臀成人av在线播放| 自拍偷拍,中文字幕| 大香蕉大香蕉在线看| 久草视频中文字幕在线观看| 婷婷激情四射在线观看视频| 五十路人妻熟女av一区二区| 精品一区二区亚洲欧美| 3337p日本欧洲大胆色噜噜| 天堂av狠狠操蜜桃| 91精品一区二区三区站长推荐| 国产精品自拍在线视频| 中国熟女一区二区性xx| 亚洲一区二区三区在线高清| 国产va精品免费观看| 1024久久国产精品| brazzers欧熟精品系列| 热99re69精品8在线播放| 大香蕉伊人中文字幕| 亚洲嫩模一区二区三区| 青青操免费日综合视频观看| 一区二区熟女人妻视频| 在线成人日韩av电影| 日本少妇人妻xxxxxhd| 亚洲午夜高清在线观看| 9国产精品久久久久老师| 日本一二三区不卡无| 天天日天天天天天天天天天天 | 亚洲视频在线观看高清| 黄色资源视频网站日韩| 成年女人免费播放视频| 亚洲成人熟妇一区二区三区| 日本www中文字幕| 亚洲少妇高潮免费观看| 亚洲国产精品中文字幕网站| 五十路丰满人妻熟妇| 国产在线拍揄自揄视频网站| 后入美女人妻高清在线| 亚洲蜜臀av一区二区三区九色 | 99re6热在线精品| 亚洲 欧美 自拍 偷拍 在线| 美女日逼视频免费观看| av高潮迭起在线观看| 亚洲 中文 自拍 无码| 人人超碰国字幕观看97| 特黄老太婆aa毛毛片| 老师让我插进去69AV| 亚洲青青操骚货在线视频| 一色桃子久久精品亚洲| 国产露脸对白在线观看| 自拍偷拍日韩欧美亚洲| 中文字幕高清资源站| 少妇被强干到高潮视频在线观看 | 啊啊啊想要被插进去视频| 国产精品亚洲а∨天堂免| 国产午夜男女爽爽爽爽爽视频| 国产精品手机在线看片| 天天日天天添天天爽| 亚洲熟妇久久无码精品| 亚洲av香蕉一区区二区三区犇| 亚洲天堂有码中文字幕视频| 亚洲一级 片内射视正片| 色婷婷精品大在线观看| 操的小逼流水的文章| 热思思国产99re| 中文字幕在线永久免费播放| 91色九色porny| 亚洲在线观看中文字幕av| 91综合久久亚洲综合| 久草视频 久草视频2| 亚洲熟色妇av日韩熟色妇在线 | 色天天天天射天天舔| 91麻豆精品传媒国产黄色片| 水蜜桃国产一区二区三区| 欧美一区二区中文字幕电影 | 精品人妻一二三区久久| 无码中文字幕波多野不卡| 中文字幕免费在线免费| 国产精品午夜国产小视频| 亚洲视频在线观看高清| 综合激情网激情五月五月婷婷| 综合色区亚洲熟妇shxstz| AV无码一区二区三区不卡| 亚洲偷自拍高清视频| 成人sm视频在线观看| 久草视频首页在线观看| av中文字幕在线观看第三页| 青青色国产视频在线| 国产精品久久9999| 免费一级黄色av网站| 黑人大几巴狂插日本少妇| 国产在线观看黄色视频| 揄拍成人国产精品免费看视频| 久久麻豆亚洲精品av| 亚洲免费av在线视频| 成人动漫大肉棒插进去视频| 久久久精品精品视频视频| av新中文天堂在线网址| 高潮视频在线快速观看国家快速| 天天操天天干天天日狠狠插| 日本最新一二三区不卡在线 | av日韩在线免费播放| 亚洲国产精品黑丝美女| 日韩在线视频观看有码在线 | 亚洲一区自拍高清免费视频| 日本a级视频老女人| 男人天堂最新地址av| 久久久久久9999久久久久| 日本成人不卡一区二区| 日本啪啪啪啪啪啪啪| 91久久精品色伊人6882| 免费费一级特黄真人片| 午夜精品一区二区三区更新| 青青青青青青青在线播放视频| 日韩精品电影亚洲一区| 亚洲熟妇久久无码精品| yy96视频在线观看| 91麻豆精品秘密入口在线观看| 亚洲福利天堂久久久久久| 国产+亚洲+欧美+另类| 热思思国产99re| 亚洲精品高清自拍av| 亚洲护士一区二区三区| 香蕉91一区二区三区| 成年人午夜黄片视频资源| 传媒在线播放国产精品一区| 阴茎插到阴道里面的视频| 国产黄色a级三级三级三级| 国产美女午夜福利久久| 黄片大全在线观看观看| 日韩欧美高清免费在线| 欧美乱妇无乱码一区二区| 亚洲国产在人线放午夜| 亚洲中文字幕人妻一区| 天天综合天天综合天天网| 91精品国产综合久久久蜜| 久久久久久久99精品| 欧美爆乳肉感大码在线观看| 人妻少妇中文有码精品| 99精品视频之69精品视频| 2018在线福利视频| 中文字幕AV在线免费看 | 免费高清自慰一区二区三区网站| 美女日逼视频免费观看| 国产高清精品一区二区三区| 少妇一区二区三区久久久| 国产又大又黄免费观看| 伊人情人综合成人久久网小说| 2022国产精品视频| 亚洲福利天堂久久久久久| 日本丰满熟妇BBXBBXHD| 在线观看av亚洲情色| 国产品国产三级国产普通话三级| 国产精品自拍偷拍a| 99精品视频在线观看婷婷| 青草久久视频在线观看| 丰满少妇翘臀后进式| 日本成人一区二区不卡免费在线| 超碰公开大香蕉97| 97人妻总资源视频| 男生用鸡操女生视频动漫| 80电影天堂网官网| 午夜频道成人在线91| 久久久精品999精品日本| av手机在线免费观看日韩av| av天堂中文字幕最新| 中文字幕第1页av一天堂网| 免费大片在线观看视频网站| 蜜桃色婷婷久久久福利在线| 中文字幕乱码av资源| 3D动漫精品啪啪一区二区下载| 国产成人无码精品久久久电影 | 91精品国产黑色丝袜| 99精品久久久久久久91蜜桃| 男人插女人视频网站| 热久久只有这里有精品| 9色精品视频在线观看| 黄色成年网站午夜在线观看 | 亚洲欧美人精品高清| 国产综合高清在线观看| 最新97国产在线视频| 在线视频自拍第三页| 首之国产AV医生和护士小芳| 亚洲伊人久久精品影院一美女洗澡| 国产成人无码精品久久久电影| 大鸡巴操娇小玲珑的女孩逼| 亚洲日本一区二区久久久精品| 国产在线自在拍91国语自产精品| 最新日韩av传媒在线| 人妻少妇亚洲一区二区| 66久久久久久久久久久| 天干天天天色天天日天天射| 日本黄在免费看视频| av老司机亚洲一区二区| 日韩写真福利视频在线观看| 亚洲va天堂va国产va久| 国产夫妻视频在线观看免费| 亚洲高清国产一区二区三区| 精品av国产一区二区三区四区| 天天躁日日躁狠狠躁躁欧美av| 少妇人妻二三区视频| 亚洲高清国产拍青青草原| 国产精品黄大片在线播放| 国产精品人久久久久久| 国产自拍黄片在线观看| 亚洲熟色妇av日韩熟色妇在线| 欧美日韩亚洲国产无线码| 玖玖一区二区在线观看| 少妇深喉口爆吞精韩国| 大白屁股精品视频国产| 亚洲一区二区三区久久受| 天天干天天啪天天舔| 日韩美女搞黄视频免费| 日本韩国亚洲综合日韩欧美国产| 大胸性感美女羞爽操逼毛片| 亚洲午夜福利中文乱码字幕| 好太好爽好想要免费| 五十路在线观看完整版| 一区二区三区视频,福利一区二区| 少妇与子乱在线观看| 日本免费视频午夜福利视频| 天堂av在线官网中文| 午夜精品亚洲精品五月色| 免费高清自慰一区二区三区网站| 精品人妻一二三区久久| 亚洲一区二区三区久久午夜 | 91久久精品色伊人6882| 国产91精品拍在线观看| 人人妻人人爽人人澡人人精品| 欧美精品免费aaaaaa| 黄色视频在线观看高清无码| 午夜av一区二区三区| 91久久综合男人天堂| 精品一区二区三区在线观看| 欧美精产国品一二三产品价格| 中文字幕高清免费在线人妻| 99精品国自产在线人| 欧美日本国产自视大全| 孕妇奶水仑乱A级毛片免费看 | 亚洲免费视频欧洲免费视频| 黑人进入丰满少妇视频| 免费十精品十国产网站| mm131美女午夜爽爽爽| 欧美天堂av无线av欧美| 秋霞午夜av福利经典影视| 国产又大又黄免费观看| 人妻少妇精品久久久久久| 免费黄页网站4188| 中文字幕在线永久免费播放| 日韩精品一区二区三区在线播放| 久草极品美女视频在线观看| 大学生A级毛片免费视频| 国产aⅴ一线在线观看| 2022国产精品视频| 99视频精品全部15| 色综合天天综合网国产成人| 成人福利视频免费在线| 黄工厂精品视频在线观看| 亚洲特黄aaaa片| 白白操白白色在线免费视频| 人妻av无码专区久久绿巨人| 国产剧情演绎系列丝袜高跟| 亚洲av日韩av第一区二区三区| 色天天天天射天天舔| 国产精品一二三不卡带免费视频| 亚洲人妻30pwc| 超碰97人人澡人人| 男人在床上插女人视频| 这里只有精品双飞在线播放| 中文字幕人妻被公上司喝醉在线| 午夜久久久久久久99| 18禁无翼鸟成人在线| 成人av亚洲一区二区| 香港三日本三韩国三欧美三级| 在线视频精品你懂的| 福利午夜视频在线合集| 早川濑里奈av黑人番号| 黄色录像鸡巴插进去| 青青草成人福利电影| 久草视频在线免播放| 在线观看免费岛国av| 久久久久久99国产精品| 激情啪啪啪啪一区二区三区 | 四虎永久在线精品免费区二区| 美女被肏内射视频网站| 91麻豆精品秘密入口在线观看| 中文字幕高清免费在线人妻| 一区二区三区日韩久久| 好吊操视频这里只有精品| av新中文天堂在线网址| www日韩a级s片av| 欧美日韩激情啪啪啪| 亚洲av一妻不如妾| 中文字幕亚洲久久久| 久草视频在线免播放| 日本女人一级免费片| 天堂中文字幕翔田av| 夏目彩春在线中文字幕| 中文字幕一区二区三区人妻大片| 色综合久久五月色婷婷综合 | 初美沙希中文字幕在线| 欧美一区二区三区久久久aaa| 欧美日本在线视频一区| 无忧传媒在线观看视频| sw137 中文字幕 在线| 日韩a级黄色小视频| 亚洲欧洲av天堂综合| 福利午夜视频在线观看| 粉嫩欧美美人妻小视频| 欧美老妇精品另类不卡片| 国产高清精品极品美女| 可以在线观看的av中文字幕| 熟女国产一区亚洲中文字幕| 婷婷色中文亚洲网68| 亚洲成人熟妇一区二区三区 | 人妻少妇亚洲一区二区| 亚洲老熟妇日本老妇| 青青在线视频性感少妇和隔壁黑丝| 亚洲欧美自拍另类图片| 国产精品视频欧美一区二区| 欧美少妇性一区二区三区| 欧美精产国品一二三产品价格| 午夜dv内射一区区| 国产九色91在线视频| 熟女人妻三十路四十路人妻斩| 亚洲第一伊人天堂网| 中文字幕国产专区欧美激情| 美女福利视频导航网站| 亚洲综合图片20p| 黄色男人的天堂视频| 少妇与子乱在线观看| 欧美区一区二区三视频| 国产精品国产三级国产午| 亚洲1卡2卡三卡4卡在线观看| 国产熟妇人妻ⅹxxxx麻豆| 国产chinesehd精品麻豆| 欧美亚洲中文字幕一区二区三区 | 91色网站免费在线观看 | 亚洲中文字字幕乱码| 天码人妻一区二区三区在线看| 内射久久久久综合网| 黄色片黄色片wyaa| 99视频精品全部15| 97少妇精品在线观看| 女同性ⅹxx女同hd| 99精品视频之69精品视频| 人妻少妇一区二区三区蜜桃| 38av一区二区三区| 91国语爽死我了不卡| 精品亚洲中文字幕av| 直接观看免费黄网站| 天天干天天操天天插天天日| 亚洲自拍偷拍精品网| 免费一级特黄特色大片在线观看| 亚洲欧美在线视频第一页| 免费观看理论片完整版| 亚洲国产40页第21页| 成人久久精品一区二区三区| 国产97在线视频观看| 中文字幕高清免费在线人妻| 午夜精品福利一区二区三区p | 亚洲伊人久久精品影院一美女洗澡 | 视频在线免费观看你懂得| 天天射夜夜操综合网| 青青社区2国产视频| 欧洲精品第一页欧洲精品亚洲| 国产九色91在线观看精品| caoporn蜜桃视频| 91国内精品久久久久精品一| 日本韩国亚洲综合日韩欧美国产 | 在线播放一区二区三区Av无码| 91桃色成人网络在线观看| 亚洲一区久久免费视频| 色综合久久五月色婷婷综合| 国产又大又黄免费观看| 中文字幕在线免费第一页| 一区二区久久成人网| 欧洲日韩亚洲一区二区三区| 熟女国产一区亚洲中文字幕| 啊啊啊想要被插进去视频| 亚洲精品ww久久久久久| 最近的中文字幕在线mv视频| 国产黄色大片在线免费播放| 日韩欧美国产精品91| 欧美成一区二区三区四区| 久久www免费人成一看片| 免费在线看的黄片视频| 成人av在线资源网站| 999久久久久999| 一区二区三区久久久91| 日韩午夜福利精品试看| 97国产精品97久久| 香蕉91一区二区三区| 三上悠亚和黑人665番号| 亚洲欧美清纯唯美另类| 成人免费做爰高潮视频| 亚洲区欧美区另类最新章节| 中文字幕在线免费第一页| 亚洲中文字幕综合小综合| 欧美国品一二三产区区别| 婷婷激情四射在线观看视频| 五十路熟女av天堂| 水蜜桃一区二区三区在线观看视频| 适合午夜一个人看的视频| 精品国产在线手机在线| 熟女少妇激情五十路| 国产品国产三级国产普通话三级| 不卡精品视频在线观看| 黑人乱偷人妻中文字幕| 中文字幕之无码色多多| 啪啪啪啪啪啪啪啪啪啪黄色| 成人av亚洲一区二区| www,久久久,com| 最新国产精品拍在线观看| 亚洲成人av在线一区二区| 欧美亚洲牲夜夜综合久久| 爱有来生高清在线中文字幕| 美女大bxxxx内射| 九九视频在线精品播放| 亚洲青青操骚货在线视频| 免费国产性生活视频| 99精品久久久久久久91蜜桃| 午夜av一区二区三区| 伊拉克及约旦宣布关闭领空| 亚洲av无女神免非久久| 55夜色66夜色国产精品站| 亚洲精品福利网站图片| 大香蕉伊人中文字幕| 国产综合高清在线观看| 日本一道二三区视频久久| av完全免费在线观看av| 大鸡吧插入女阴道黄色片| 中文字幕日本人妻中出| 日本特级片中文字幕| 97人妻无码AV碰碰视频| 日韩三级黄色片网站| 中文字幕人妻一区二区视频| 亚洲综合自拍视频一区| 女同互舔一区二区三区| 免费观看国产综合视频| 九色视频在线观看免费| 免费岛国喷水视频在线观看| 日本av在线一区二区三区| 国产麻豆剧传媒精品国产av蜜桃| 亚洲欧洲av天堂综合| 日本一道二三区视频久久| 久久久久久久久久久免费女人| 东京热男人的av天堂| 亚洲熟妇久久无码精品| 久草极品美女视频在线观看| 欧美一区二区三区乱码在线播放| 日本午夜久久女同精女女| 青青青青青青青在线播放视频| 亚洲欧美精品综合图片小说| 和邻居少妇愉情中文字幕| 亚洲欧美综合在线探花| 男大肉棒猛烈插女免费视频| heyzo蜜桃熟女人妻| 伊人开心婷婷国产av | 扒开腿挺进肉嫩小18禁视频| 人妻熟女中文字幕aⅴ在线 | 亚洲精品ww久久久久久| 日本黄在免费看视频| 国产精品人久久久久久| 91亚洲手机在线视频播放| 97青青青手机在线视频| 国产janese在线播放| 在线视频自拍第三页| 后入美女人妻高清在线| 狠狠鲁狠狠操天天晚上干干| 日韩欧美中文国产在线| 人妻素人精油按摩中出| 久久国产精品精品美女| 免费人成黄页网站在线观看国产| 亚洲色偷偷综合亚洲AV伊人| 五月婷婷在线观看视频免费| 亚洲嫩模一区二区三区| 扒开腿挺进肉嫩小18禁视频| 亚洲熟色妇av日韩熟色妇在线| 亚洲午夜在线视频福利| 成年人的在线免费视频| 久草视频在线免播放| 色婷婷综合激情五月免费观看 | 国产精品入口麻豆啊啊啊| 日噜噜噜夜夜噜噜噜天天噜噜噜| 在线观看视频网站麻豆| 亚洲av一妻不如妾| 亚洲少妇高潮免费观看| 日韩美女综合中文字幕pp| 超碰在线观看免费在线观看| 天天摸天天亲天天舔天天操天天爽| 国产一区二区在线欧美| 一区二区视频在线观看免费观看| 亚洲欧美成人综合在线观看| 精品av久久久久久久| 在线亚洲天堂色播av电影| 成年人黄色片免费网站| 超级福利视频在线观看| 99热99re在线播放| 98视频精品在线观看| 中文字幕亚洲中文字幕| 中文字幕日本人妻中出| 经典国语激情内射视频| 欧美天堂av无线av欧美| 麻豆精品成人免费视频| 91成人在线观看免费视频| 婷婷色中文亚洲网68| 搡老熟女一区二区在线观看| 综合精品久久久久97| 熟女人妻在线中出观看完整版| 国产福利小视频大全| 在线观看av亚洲情色| 欧美韩国日本国产亚洲| 伊人开心婷婷国产av| 日本脱亚入欧是指什么| 亚洲av天堂在线播放| 操操网操操伊剧情片中文字幕网| 亚洲码av无色中文| 一区二区三区av高清免费| 91亚洲手机在线视频播放| 成人蜜桃美臀九一一区二区三区| 日韩熟女av天堂系列| 国产欧美精品一区二区高清| 国际av大片在线免费观看| 国产精品伦理片一区二区| 都市家庭人妻激情自拍视频| 亚洲一区二区三区uij| 人妻少妇亚洲一区二区| 天天日天天玩天天摸| 日韩在线视频观看有码在线| 国产揄拍高清国内精品对白| 爱有来生高清在线中文字幕| 一级黄色av在线观看| 欲乱人妻少妇在线视频裸| 国产一区成人在线观看视频 | 在线不卡成人黄色精品| 日本av熟女在线视频| 国产精品自拍在线视频| 青青青视频自偷自拍38碰| 日本真人性生活视频免费看| 天堂中文字幕翔田av| 国产精品久久9999| 中文字母永久播放1区2区3区| 中文字幕之无码色多多| 亚洲欧美自拍另类图片| 国产成人无码精品久久久电影| 国内自拍第一页在线观看| 国产精品人久久久久久| 国产又粗又黄又硬又爽| 91精品国产91青青碰| 久青青草视频手机在线免费观看| 久久久久久国产精品| 精品国产污污免费网站入口自 | 亚洲中文精品字幕在线观看| 欧美一区二区三区四区性视频| 97人妻总资源视频| 免费男阳茎伸入女阳道视频| 在线免费观看国产精品黄色| 在线免费91激情四射| huangse网站在线观看| 欧美黑人与人妻精品| 干逼又爽又黄又免费的视频| 天天做天天干天天操天天射| 操人妻嗷嗷叫视频一区二区 | 国产极品精品免费视频| 色天天天天射天天舔| 亚洲国产最大av综合| 大骚逼91抽插出水视频| 天天日天天透天天操| sw137 中文字幕 在线| 国产欧美精品不卡在线| 精品高跟鞋丝袜一区二区| 亚洲自拍偷拍精品网| mm131美女午夜爽爽爽| 九色视频在线观看免费| 老熟妇凹凸淫老妇女av在线观看| 午夜福利人人妻人人澡人人爽| 91麻豆精品秘密入口在线观看| 88成人免费av网站| 国产性感美女福利视频| 天天干天天操天天扣| 激情内射在线免费观看| 国产午夜男女爽爽爽爽爽视频| 91久久精品色伊人6882| 自拍偷拍亚洲欧美在线视频| 91超碰青青中文字幕| 精品视频中文字幕在线播放| av中文字幕福利网| lutube在线成人免费看| 亚洲午夜电影在线观看| 美女张开腿让男生操在线看| 精内国产乱码久久久久久 | 中出中文字幕在线观看| 国产一区二区火爆视频| 97资源人妻免费在线视频| 亚洲成人黄色一区二区三区| 欧亚日韩一区二区三区观看视频| 天天日天天鲁天天操| 97小视频人妻一区二区| 九九热99视频在线观看97| 岛国一区二区三区视频在线| 国产亚洲视频在线观看| 91老师蜜桃臀大屁股| 一区二区视频在线观看视频在线| 人妻久久久精品69系列| 在线免费观看黄页视频| 含骚鸡巴玩逼逼视频| 动漫黑丝美女的鸡巴| 天堂va蜜桃一区入口| 国产av自拍偷拍盛宴| 成人免费毛片aaaa| 亚洲成人av一区久久| 自拍偷拍 国产资源| 福利午夜视频在线合集| 亚洲高清自偷揄拍自拍| 久久精品国产23696| 极品丝袜一区二区三区| 国产中文精品在线观看| 成年人免费看在线视频| 亚洲人妻av毛片在线| 欧美精品国产综合久久| 色狠狠av线不卡香蕉一区二区| 黄色录像鸡巴插进去| av天堂中文免费在线| 久久丁香婷婷六月天| 11久久久久久久久久久| 夏目彩春在线中文字幕| 在线免费观看欧美小视频| 玖玖一区二区在线观看| av高潮迭起在线观看| 美日韩在线视频免费看| 视频 一区二区在线观看| 蜜桃臀av蜜桃臀av| 蜜桃色婷婷久久久福利在线| 一区二区三区精品日本| 亚洲欧洲一区二区在线观看| 40道精品招牌菜特色| 国产精品人久久久久久| 色婷婷久久久久swag精品| 大鸡巴后入爆操大屁股美女| 含骚鸡巴玩逼逼视频| 免费岛国喷水视频在线观看| 3337p日本欧洲大胆色噜噜| 国产精品成人xxxx| 中文字幕在线免费第一页| ka0ri在线视频| 亚洲精品ww久久久久久| 抽查舔水白紧大视频| 日韩精品一区二区三区在线播放| 好吊操视频这里只有精品| 99国内小视频在现欢看| 五月天色婷婷在线观看视频免费| 日韩av有码一区二区三区4| av在线免费中文字幕| 在线免费观看99视频| 玩弄人妻熟妇性色av少妇| 人人爱人人妻人人澡39| 亚洲av日韩精品久久久| 国产精品日韩欧美一区二区| 999久久久久999| 在线可以看的视频你懂的| 干逼又爽又黄又免费的视频| 天美传媒mv视频在线观看| 国产成人自拍视频在线免费观看| 青春草视频在线免费播放| 午夜av一区二区三区| 爱爱免费在线观看视频| 亚洲成高清a人片在线观看| 中国产一级黄片免费视频播放| 久草电影免费在线观看| 免费在线观看污污视频网站| 天堂va蜜桃一区入口| 午夜精品福利一区二区三区p | 中文字幕在线视频一区二区三区| 91精品激情五月婷婷在线| 亚洲专区激情在线观看视频| 国产熟妇乱妇熟色T区| 日本最新一二三区不卡在线| 中文字幕一区的人妻欧美日韩| 国产日韩一区二区在线看| 丰满熟女午夜福利视频| 亚洲欧美激情国产综合久久久 | 欧美va亚洲va天堂va| 日本丰满熟妇BBXBBXHD| 一区二区三区蜜臀在线| 午夜国产福利在线观看| 欧美另类一区二区视频| 91麻豆精品传媒国产黄色片| 欧美精品资源在线观看| 色综合久久久久久久久中文| 精品美女久久久久久| 午夜精彩视频免费一区| 欧美日韩国产一区二区三区三州| 亚洲综合一区成人在线| 欧美视频中文一区二区三区| 国产精品久久久久国产三级试频| free性日本少妇| 亚洲国产精品久久久久蜜桃| 免费在线观看污污视频网站| 日韩北条麻妃一区在线| av中文字幕在线观看第三页| 亚洲久久午夜av一区二区| 老司机你懂得福利视频| 青青草视频手机免费在线观看| www日韩毛片av| 日韩人妻丝袜中文字幕| 一色桃子久久精品亚洲| 亚洲老熟妇日本老妇| 国产精品日韩欧美一区二区| 国产大鸡巴大鸡巴操小骚逼小骚逼| 直接观看免费黄网站| 亚洲成人黄色一区二区三区| 欧美黑人性暴力猛交喷水| 日韩av中文在线免费观看| 国产成人精品一区在线观看| 国产高清女主播在线| 夜鲁夜鲁狠鲁天天在线| 人妻少妇一区二区三区蜜桃| 精产国品久久一二三产区区别| 国产chinesehd精品麻豆| 国产男女视频在线播放| 久草视频福利在线首页| 蜜臀av久久久久蜜臀av麻豆| 色噜噜噜噜18禁止观看| 黄色黄色黄片78在线| 亚洲无码一区在线影院| 动漫美女的小穴视频| 成人高潮aa毛片免费| 欧美在线精品一区二区三区视频| 精品91高清在线观看| 国产精彩对白一区二区三区| 久久久久久99国产精品| 久久精品国产亚洲精品166m| asmr福利视频在线观看| 日本男女操逼视频免费看| 青青在线视频性感少妇和隔壁黑丝| 大黑人性xxxxbbbb| 不卡日韩av在线观看| 午夜久久久久久久精品熟女| 抽查舔水白紧大视频| 国产精品国色综合久久| 天天干天天操天天摸天天射| 在线观看免费视频色97| 57pao国产一区二区| 亚洲综合在线观看免费| 天码人妻一区二区三区在线看| 93精品视频在线观看| 亚洲国际青青操综合网站| 在线观看日韩激情视频| 在线视频精品你懂的| 91极品新人『兔兔』精品新作| japanese五十路熟女熟妇| 偷拍美女一区二区三区| 亚洲av男人的天堂你懂的| 中文字幕熟女人妻久久久| 国产乱弄免费视频观看| 日韩一个色综合导航| 一区二区三区 自拍偷拍| 日本熟妇丰满厨房55| 亚洲人妻国产精品综合| 可以在线观看的av中文字幕| 亚洲欧美精品综合图片小说| 亚洲精品av在线观看| 国产精品久久久黄网站| av天堂中文字幕最新| 免费69视频在线看| 日韩欧美一级aa大片| 亚洲区欧美区另类最新章节| 亚洲免费国产在线日韩| 一区二区视频视频视频| 国产1区,2区,3区| 亚洲欧洲一区二区在线观看| 国产精选一区在线播放| 蜜臀av久久久久久久| 成年午夜影片国产片| 成年午夜影片国产片| 蜜桃臀av蜜桃臀av| 青青青青青免费视频| 国产又粗又黄又硬又爽| 91成人在线观看免费视频| 午夜91一区二区三区| 日本熟女精品一区二区三区| 狠狠嗨日韩综合久久| 黑人解禁人妻叶爱071| 日本啪啪啪啪啪啪啪| 好吊视频—区二区三区| 1024久久国产精品| 香蕉av影视在线观看| 日曰摸日日碰夜夜爽歪歪| 淫秽激情视频免费观看| 蜜桃视频17c在线一区二区| 欧美亚洲牲夜夜综合久久| 亚洲美女自偷自拍11页| 日韩精品激情在线观看| 亚洲精品乱码久久久本| 青青青青操在线观看免费| 亚洲精品亚洲人成在线导航| 亚洲天堂av最新网址| 欧美在线偷拍视频免费看| 日韩欧美高清免费在线| 欧美黄色录像免费看的| 91国内视频在线观看| 亚洲视频在线视频看视频在线| 大香蕉伊人国产在线| 午夜婷婷在线观看视频| 漂亮 人妻被中出中文| 55夜色66夜色国产精品站| 国产精彩福利精品视频| 日韩美女福利视频网| 五十路熟女人妻一区二区9933| 日韩精品电影亚洲一区| 熟女俱乐部一二三区| 一级黄色av在线观看| 一区二区三区麻豆福利视频| 免费手机黄页网址大全| 亚洲天堂精品久久久| 欧美视频综合第一页| 日本一本午夜在线播放| 中文字幕+中文字幕| 日本熟妇喷水xxx| 亚洲中文精品人人免费| 99精品视频在线观看免费播放 | 亚洲精品久久视频婷婷| 欧美黑人性猛交xxxxⅹooo| 国产极品美女久久久久久| 免费十精品十国产网站| av手机在线免费观看日韩av| 18禁网站一区二区三区四区| 做爰视频毛片下载蜜桃视频1| 黄色资源视频网站日韩| 亚洲欧美清纯唯美另类| www骚国产精品视频| 国产高清在线在线视频| 动漫av网站18禁| 国产揄拍高清国内精品对白| 99久久99一区二区三区| 搡老妇人老女人老熟女| 国产午夜男女爽爽爽爽爽视频| 亚洲熟女久久久36d| 青青青青青青青青青青草青青 | 国产又粗又硬又大视频| 日韩精品电影亚洲一区| 国产精彩福利精品视频| 中国黄片视频一区91| 亚洲午夜在线视频福利| 青青草亚洲国产精品视频| 天天日天天添天天爽| 青青青青操在线观看免费| 在线网站你懂得老司机| 欧美精品欧美极品欧美视频| 在线免费观看视频一二区| 成人av在线资源网站| 国产揄拍高清国内精品对白| 91亚洲手机在线视频播放| 亚洲国产成人最新资源| 韩国男女黄色在线观看| 欧美 亚洲 另类综合| 99精品国产自在现线观看| 好吊视频—区二区三区| 久久久久只精品国产三级| av天堂资源最新版在线看| 最新欧美一二三视频| 沙月文乃人妻侵犯中文字幕在线| 在线观看一区二区三级| 天干天天天色天天日天天射| 日本五十路熟新垣里子| 午夜精品九一唐人麻豆嫩草成人 | 国产欧美日韩第三页| 夜色撩人久久7777| 欧美成人一二三在线网| 成人免费公开视频无毒| 亚洲男人在线天堂网| 天天操夜夜骑日日摸| 亚洲公开视频在线观看| 精品91自产拍在线观看一区| av中文字幕福利网| 精品亚洲国产中文自在线| 亚洲精品国产在线电影| 亚洲av色图18p| av中文字幕在线导航| 在线免费观看欧美小视频| 中文字幕人妻av在线观看| 国产成人小视频在线观看无遮挡| 亚洲欧美另类手机在线| 精品suv一区二区69| 一区二区三区欧美日韩高清播放| 新97超碰在线观看| 涩爱综合久久五月蜜臀| 大屁股熟女一区二区三区| 激情综合治理六月婷婷| 中文字幕成人日韩欧美| 自拍偷拍亚洲精品第2页| 婷婷久久久久深爱网| 免费手机黄页网址大全| 91麻豆精品91久久久久同性| 青青青青操在线观看免费| 天天日夜夜干天天操| 在线观看视频污一区| 一级a看免费观看网站| 最近中文2019年在线看| 中文字母永久播放1区2区3区| 久久久91蜜桃精品ad| 国产亚州色婷婷久久99精品| 涩涩的视频在线观看视频| 大鸡八强奸视频在线观看| 后入美女人妻高清在线| 欧美香蕉人妻精品一区二区| 亚洲成人精品女人久久久| 亚洲一区av中文字幕在线观看| 天天干天天啪天天舔| 国产清纯美女al在线| 婷婷午夜国产精品久久久| 天天摸天天亲天天舔天天操天天爽| 无忧传媒在线观看视频| 亚洲av日韩高清hd| 午夜精品久久久久久99热| 2020中文字幕在线播放| rct470中文字幕在线| 日韩北条麻妃一区在线| 亚洲成人av一区在线| 日本熟妇一区二区x x| 五十路av熟女松本翔子| 亚洲中文字幕国产日韩| 日本五十路熟新垣里子| 九九视频在线精品播放| 日韩写真福利视频在线观看| 国产亚洲欧美另类在线观看| 99精品国产自在现线观看| av黄色成人在线观看| 青青草亚洲国产精品视频| 免费观看污视频网站| 国产黄色片在线收看| 亚洲超碰97人人做人人爱| 久久这里有免费精品| 熟女人妻在线中出观看完整版| 大屁股肉感人妻中文字幕在线| 亚洲成人熟妇一区二区三区 | 青草久久视频在线观看| av一区二区三区人妻| 日本熟妇色熟妇在线观看| 特级欧美插插插插插bbbbb| 少妇高潮一区二区三区| 自拍偷拍日韩欧美亚洲| 欧美麻豆av在线播放| 毛片一级完整版免费| 青青操免费日综合视频观看| 欧美日韩国产一区二区三区三州 | 黄色三级网站免费下载| 欧美久久久久久三级网| 大胸性感美女羞爽操逼毛片| 国产超码片内射在线| 伊人情人综合成人久久网小说| 少妇被强干到高潮视频在线观看 | 91国语爽死我了不卡| 只有精品亚洲视频在线观看| 精品国产成人亚洲午夜| 色婷婷精品大在线观看| 午夜精品福利91av| 沈阳熟妇28厘米大战黑人| 黄片三级三级三级在线观看| av在线播放国产不卡| 亚洲国产最大av综合| 欧美一级色视频美日韩| 天天干天天日天天干天天操| 天堂av在线最新版在线| 夜夜嗨av蜜臀av| 久久麻豆亚洲精品av| 2025年人妻中文字幕乱码在线| 美女吃鸡巴操逼高潮视频| 亚洲欧美一卡二卡三卡| 亚洲人一区二区中文字幕| 亚洲天堂第一页中文字幕| 亚洲精品乱码久久久本| 亚洲免费视频欧洲免费视频| 日本av高清免费网站| 加勒比视频在线免费观看| 国产精品日韩欧美一区二区| 人妻激情图片视频小说| 欧美特级特黄a大片免费| 成人激情文学网人妻| 漂亮 人妻被中出中文| 欧美viboss性丰满| 婷婷久久久综合中文字幕| 91亚洲国产成人精品性色| 99一区二区在线观看| 黑人变态深video特大巨大| 国产女人露脸高潮对白视频| 四川五十路熟女av| 亚洲第一黄色在线观看| 亚洲免费福利一区二区三区| 一区二区三区四区五区性感视频| 人妻熟女在线一区二区| heyzo蜜桃熟女人妻| 毛茸茸的大外阴中国视频| 国产又色又刺激在线视频| 欧美精品资源在线观看| 中文字幕网站你懂的| 人人妻人人爽人人添夜| 国产一级麻豆精品免费| 亚洲人妻视频在线网| 精品日产卡一卡二卡国色天香| 色综合色综合色综合色| 国产+亚洲+欧美+另类| 亚洲图库另类图片区| 红杏久久av人妻一区| 夜色17s精品人妻熟女| 欧美视频中文一区二区三区| 午夜激情高清在线观看| 天天躁夜夜躁日日躁a麻豆| 国产黄色a级三级三级三级| 岛国毛片视频免费在线观看| 天天日天天爽天天干| 最新日韩av传媒在线| 91精品啪在线免费| 亚洲少妇人妻无码精品| 91she九色精品国产| 成人24小时免费视频| 93精品视频在线观看| 99精品视频在线观看婷婷| 瑟瑟视频在线观看免费视频| 亚洲欧美一卡二卡三卡| 亚洲综合在线观看免费| av在线资源中文字幕| 老司机福利精品免费视频一区二区 | 伊人精品福利综合导航| 欧美精品中文字幕久久二区| 欧美少妇性一区二区三区| 鸡巴操逼一级黄色气| 任你操视频免费在线观看| 夜夜嗨av蜜臀av| a v欧美一区=区三区| 亚洲欧美日韩视频免费观看| 特大黑人巨大xxxx| 欧美区一区二区三视频| 美女日逼视频免费观看| 日本欧美视频在线观看三区| 亚洲欧美成人综合视频| 中国熟女一区二区性xx| 绝色少妇高潮3在线观看| 少妇人妻真实精品视频| 快点插进来操我逼啊视频| 久久久久久性虐视频| 日韩三级黄色片网站| 人人妻人人爽人人添夜| 中文字幕在线免费第一页| 日韩av有码一区二区三区4 | 亚洲av无硬久久精品蜜桃| 国产精品国色综合久久| 欧美精品亚洲精品日韩在线| 午夜精品福利一区二区三区p | 1000部国产精品成人观看视频| 精品人妻伦一二三区久| 亚洲av第国产精品| 日本熟女精品一区二区三区| 国产中文字幕四区在线观看| 国产av福利网址大全| 欧美黑人与人妻精品| 国产亚洲精品欧洲在线观看| 亚洲男人在线天堂网| 欧美成人猛片aaaaaaa| 78色精品一区二区三区| 亚洲第一伊人天堂网| 少妇与子乱在线观看| 国产精品三级三级三级| 亚洲免费在线视频网站| 偷拍美女一区二区三区| 韩国爱爱视频中文字幕| 爆乳骚货内射骚货内射在线| 亚洲av在线观看尤物| 红杏久久av人妻一区| 性欧美激情久久久久久久| 中文字幕最新久久久| 亚洲成人av一区在线| 天天日天天天天天天天天天天 | 韩国亚洲欧美超一级在线播放视频| 日本男女操逼视频免费看| 91精品国产综合久久久蜜| 91香蕉成人app下载| 亚洲国产美女一区二区三区软件| 11久久久久久久久久久| 自拍偷拍vs一区二区三区| 欧美成人一二三在线网| 亚洲欧美综合在线探花| 综合精品久久久久97| 超碰在线中文字幕一区二区| 久久久久久性虐视频| 天天爽夜夜爽人人爽QC| 日韩二区视频一线天婷婷五| 亚洲公开视频在线观看| 91免费观看国产免费| 午夜免费观看精品视频| 亚洲天堂精品福利成人av| av中文字幕网址在线| 熟女视频一区,二区,三区| 国产精品国产三级麻豆| 97国产在线观看高清| 欧洲国产成人精品91铁牛tv| 亚洲国产欧美一区二区丝袜黑人| 熟女人妻在线观看视频| 亚洲av自拍偷拍综合| 福利午夜视频在线合集| 久草视频首页在线观看| 亚洲激情,偷拍视频| 久久久久五月天丁香社区| 精品suv一区二区69| 亚欧在线视频你懂的| 91中文字幕免费在线观看| 一级A一级a爰片免费免会员| 在线不卡成人黄色精品| 99av国产精品欲麻豆| 扒开让我视频在线观看| 92福利视频午夜1000看| 66久久久久久久久久久| 日本韩国免费一区二区三区视频| 精品黑人一区二区三区久久国产| 欧美国产亚洲中英文字幕| 韩国一级特黄大片做受| 91精品高清一区二区三区| 丝袜国产专区在线观看| 国产精品入口麻豆啊啊啊| 自拍偷拍亚洲精品第2页| 日韩欧美一级黄片亚洲| 日本人竟这样玩学生妹| 久久久久久久久久一区二区三区| 亚洲一级美女啪啪啪| 丝袜肉丝一区二区三区四区在线| 亚洲国产成人最新资源| 一级黄片大鸡巴插入美女| 人妻少妇亚洲精品中文字幕| 日本少妇在线视频大香蕉在线观看| 自拍偷拍 国产资源| 青青草成人福利电影| 大陆胖女人与丈夫操b国语高清| 中文字幕日韩无敌亚洲精品| 最新日韩av传媒在线| 91久久综合男人天堂| 欧美亚洲国产成人免费在线 | 亚洲青青操骚货在线视频| 日本少妇人妻xxxxx18| 国产一区二区久久久裸臀| av网址国产在线观看| 男女之间激情网午夜在线| 日韩三级黄色片网站| 天天操天天射天天操天天天| 91大神福利视频网| 日本av在线一区二区三区| 欧美视频一区免费在线| 丝袜肉丝一区二区三区四区在线 | 国产精品久久久久久美女校花| 热思思国产99re| 日本最新一二三区不卡在线| 日本脱亚入欧是指什么| 亚洲2021av天堂| 57pao国产一区二区| 在线播放 日韩 av| 熟女人妻一区二区精品视频| 班长撕开乳罩揉我胸好爽| 国产熟妇乱妇熟色T区| 天天插天天色天天日| 国产九色91在线视频| 岳太深了紧紧的中文字幕| 日韩精品电影亚洲一区| 亚洲欧洲av天堂综合| 欧美少妇性一区二区三区| 亚洲免费视频欧洲免费视频| 欧美日韩不卡一区不区二区| 国产久久久精品毛片| 特一级特级黄色网片| 欧美成人精品在线观看| 久久精品亚洲国产av香蕉| 好吊操视频这里只有精品| 久久久久久9999久久久久| 91极品新人『兔兔』精品新作| 亚洲精品色在线观看视频| 99久久成人日韩欧美精品| 美女张开两腿让男人桶av| 天天通天天透天天插| 老司机免费福利视频网| 精品亚洲中文字幕av| 2022天天干天天操| 视频一区二区三区高清在线| 不卡一区一区三区在线| 午夜久久久久久久精品熟女 | 自拍偷拍日韩欧美亚洲| 亚洲人成精品久久久久久久| 粉嫩欧美美人妻小视频| 亚洲福利天堂久久久久久 | 亚洲av日韩精品久久久| 中文字幕日韩91人妻在线| 亚洲午夜福利中文乱码字幕| 午夜婷婷在线观看视频| 中国无遮挡白丝袜二区精品| 亚洲av无码成人精品区辽| 中文字幕人妻一区二区视频 | 欧美中国日韩久久精品| 搡老熟女一区二区在线观看| 久久久久久cao我的性感人妻| 青青青国产免费视频| av久久精品北条麻妃av观看| av中文字幕在线观看第三页| 春色激情网欧美成人| 亚洲精品无码色午夜福利理论片| 色花堂在线av中文字幕九九| 亚洲伊人久久精品影院一美女洗澡 | 欧美成一区二区三区四区| 大香蕉福利在线观看| 午夜蜜桃一区二区三区| 91精品国产高清自在线看香蕉网| 免费一级特黄特色大片在线观看| 开心 色 六月 婷婷| 在线视频免费观看网| 午夜免费观看精品视频| 国产真实灌醉下药美女av福利| 最近的中文字幕在线mv视频| 年轻的人妻被夫上司侵犯| xxx日本hd高清| 美女av色播在线播放| 狍和女人的王色毛片| 日本真人性生活视频免费看| 91精品国产麻豆国产| 激情综合治理六月婷婷| 少妇露脸深喉口爆吞精| 骚货自慰被发现爆操| 天天干天天爱天天色| 久久农村老妇乱69系列| 中文字幕第一页国产在线| 3337p日本欧洲大胆色噜噜| 天堂av在线官网中文| 在线观看免费视频网| japanese日本熟妇另类| 57pao国产一区二区| 黑人3p华裔熟女普通话| 91天堂精品一区二区| 久久久久久久精品成人热| 激情图片日韩欧美人妻| 亚洲 国产 成人 在线| av老司机精品在线观看| 亚洲va天堂va国产va久| 亚洲av无女神免非久久| 一区二区三区激情在线| 亚洲精品在线资源站| 在线视频精品你懂的| 香蕉91一区二区三区| 欧美伊人久久大香线蕉综合| 欧美综合婷婷欧美综合| 一区二区三区在线视频福利| 美女骚逼日出水来了| 久久久精品国产亚洲AV一 | 2022中文字幕在线| 亚洲人妻av毛片在线| 1区2区3区4区视频在线观看| 久精品人妻一区二区三区| 欧美3p在线观看一区二区三区| sejizz在线视频| 91自产国产精品视频| 婷婷综合蜜桃av在线| av成人在线观看一区| 东京热男人的av天堂| 日韩a级精品一区二区| 老司机免费福利视频网| 亚洲欧美自拍另类图片| 在线免费91激情四射 | 色天天天天射天天舔| 亚洲最大黄 嗯色 操 啊| 自拍偷拍一区二区三区图片| 人妻久久久精品69系列| 亚洲码av无色中文| 天天色天天爱天天爽| 精内国产乱码久久久久久| 午夜激情久久不卡一区二区| 欧美久久久久久三级网| 亚洲老熟妇日本老妇| 丰满的继坶3中文在线观看| 最新91精品视频在线| 视频一区二区综合精品| 国产午夜男女爽爽爽爽爽视频| 国产精品视频欧美一区二区| 亚洲少妇高潮免费观看| 97精品视频在线观看| 抽查舔水白紧大视频| 色吉吉影音天天干天天操| 亚洲中文字幕人妻一区| 日韩中文字幕在线播放第二页| 亚洲精品久久视频婷婷| 久久精品亚洲国产av香蕉| 日韩亚洲高清在线观看| 99re国产在线精品| 成熟熟女国产精品一区| 亚洲欧美激情国产综合久久久| 98视频精品在线观看| 午夜激情高清在线观看| 中文人妻AV久久人妻水| 久久亚洲天堂中文对白| AV无码一区二区三区不卡| 成人av电影免费版| 欧美色呦呦最新网址| 午夜在线一区二区免费| 国产精品黄色的av| 伊人网中文字幕在线视频| 色狠狠av线不卡香蕉一区二区| 小泽玛利亚视频在线观看| 午夜精品一区二区三区城中村| 日韩三级黄色片网站| 成人18禁网站在线播放| 午夜蜜桃一区二区三区| jiujiure精品视频在线| 三级等保密码要求条款| 国产女人叫床高潮大片视频| 精品亚洲国产中文自在线| 天干天天天色天天日天天射| 国产福利小视频大全| 色av色婷婷人妻久久久精品高清| 国产又大又黄免费观看| 在线免费91激情四射| 中文字幕中文字幕人妻| 超碰中文字幕免费观看| 亚洲午夜电影在线观看| 天天干天天插天天谢| 色伦色伦777国产精品| 丰满少妇翘臀后进式| 最新欧美一二三视频| 91亚洲精品干熟女蜜桃频道 | 色婷婷精品大在线观看| 93视频一区二区三区| 久久精品36亚洲精品束缚| 水蜜桃一区二区三区在线观看视频 | 欧美精品资源在线观看| 日韩加勒比东京热二区| 亚洲av天堂在线播放| 欧美日韩亚洲国产无线码| 中文字幕日韩精品日本| 绝顶痉挛大潮喷高潮无码 | 欧美视频不卡一区四区| 色吉吉影音天天干天天操| 中文字幕在线第一页成人 | 国产黄色片在线收看| 亚洲欧美国产综合777| 午夜在线观看一区视频| 十八禁在线观看地址免费| 人妻熟女中文字幕aⅴ在线| 中字幕人妻熟女人妻a62v网| 日本熟妇一区二区x x| www,久久久,com| 午夜精品九一唐人麻豆嫩草成人| 国产免费av一区二区凹凸四季| 国产视频一区二区午夜| 国产福利小视频二区| 成人亚洲精品国产精品| 亚洲国产40页第21页| xxx日本hd高清| 婷婷久久久综合中文字幕| 同居了嫂子在线播高清中文| 一区二区三区在线视频福利| 少妇一区二区三区久久久| 天天摸天天亲天天舔天天操天天爽| 日日夜夜大香蕉伊人| 青青青青青手机视频| av手机在线免费观看日韩av| 久久久噜噜噜久久熟女av| 这里有精品成人国产99| 日本熟妇丰满厨房55| yy96视频在线观看| 91小伙伴中女熟女高潮| 最后99天全集在线观看| 88成人免费av网站| 亚洲1卡2卡三卡4卡在线观看| 亚洲va天堂va国产va久| 国产熟妇乱妇熟色T区| 色吉吉影音天天干天天操| 人妻熟女在线一区二区| 午夜精品在线视频一区| 黄色成年网站午夜在线观看| 美女av色播在线播放| 日本人妻精品久久久久久| 亚洲精品成人网久久久久久小说| 精品久久久久久久久久久a√国产| 免费观看污视频网站| 成人性爱在线看四区| 国产高清精品极品美女| 黄色录像鸡巴插进去| 亚洲老熟妇日本老妇| 欧美亚洲一二三区蜜臀| 在线观看av2025| 中文字幕无码日韩专区免费| 夜色福利视频在线观看| eeuss鲁片一区二区三区| 国产又粗又猛又爽又黄的视频美国 | 精品一线二线三线日本| 午夜频道成人在线91| 99精品国产aⅴ在线观看| 国产福利在线视频一区| 日曰摸日日碰夜夜爽歪歪| 中文字母永久播放1区2区3区| av日韩在线观看大全| 人妻少妇一区二区三区蜜桃| 成人影片高清在线观看| 亚洲 自拍 色综合图| av乱码一区二区三区| 午夜精品一区二区三区4| 国产麻豆精品人妻av| 在线视频这里只有精品自拍| 日韩美女精品视频在线观看网站 | www久久久久久久久久久| 美女福利视频网址导航| 中文字幕免费福利视频6| 日本一二三区不卡无| 亚洲欧美激情中文字幕| av在线shipin| av在线免费观看亚洲天堂| 天天色天天操天天透| 午夜青青草原网在线观看| 成人av天堂丝袜在线观看| 97精品人妻一区二区三区精品| 快点插进来操我逼啊视频| 人妻爱爱 中文字幕| 久久机热/这里只有| 精品一区二区三区三区88| 中文字幕 亚洲av| 99精品免费观看视频| 一二三区在线观看视频| 欧美特色aaa大片| 香港三日本三韩国三欧美三级| 大陆精品一区二区三区久久| 国产精品黄大片在线播放| 久久久久久性虐视频| 又粗又硬又猛又黄免费30| 欧美女同性恋免费a| 不卡日韩av在线观看| 欧美激情电影免费在线| 综合激情网激情五月天| 国产品国产三级国产普通话三级| 在线观看成人国产电影| 日本一区二区三区免费小视频 | 亚洲精品成人网久久久久久小说| free性日本少妇| 国产激情av网站在线观看| 后入美女人妻高清在线| 在线成人日韩av电影| 国产成人精品av网站| 久青青草视频手机在线免费观看 | 免费观看理论片完整版| 天天日天天干天天要| 精品首页在线观看视频| 揄拍成人国产精品免费看视频| 自拍偷拍vs一区二区三区| wwwxxx一级黄色片| 日本在线不卡免费视频| 日本一道二三区视频久久| 91国内精品久久久久精品一| 国产aⅴ一线在线观看| 老司机99精品视频在线观看| 久久这里有免费精品| 人妻无码中文字幕专区| 在线播放国产黄色av| 97超碰免费在线视频| 老司机免费福利视频网| 18禁免费av网站| 日本一区美女福利视频| 人妻丰满熟妇综合网| 午夜的视频在线观看| 99精品国自产在线人| 国产亚洲精品视频合集| mm131美女午夜爽爽爽| 粉嫩小穴流水视频在线观看| 亚洲欧美另类手机在线| 亚洲精品国产久久久久久| 亚洲第一黄色在线观看| 欧美亚洲国产成人免费在线 | 午夜在线观看一区视频| 综合色区亚洲熟妇shxstz| 欧美视频不卡一区四区| 78色精品一区二区三区| 天天通天天透天天插| 久草极品美女视频在线观看| 91亚洲精品干熟女蜜桃频道 | 女警官打开双腿沦为性奴| 欧美男人大鸡吧插女人视频| 在线国产精品一区二区三区| 欧美黑人性猛交xxxxⅹooo| 伊人情人综合成人久久网小说| 中文字幕国产专区欧美激情| 伊人开心婷婷国产av | 午夜场射精嗯嗯啊啊视频| 18禁网站一区二区三区四区| 99精品国产自在现线观看| 区一区二区三国产中文字幕| 999久久久久999| 亚洲国产精品免费在线观看| 国产精品伦理片一区二区| 青青青视频自偷自拍38碰| 久久久久久久精品成人热| 馒头大胆亚洲一区二区| 91久久精品色伊人6882| 国产精品久久久久网| 午夜免费观看精品视频| 亚洲欧美另类手机在线| 视频啪啪啪免费观看| 天天干天天操天天玩天天射| 免费在线观看视频啪啪| 岳太深了紧紧的中文字幕| 2018最新中文字幕在线观看| 国产视频精品资源网站| 韩国男女黄色在线观看| 淫秽激情视频免费观看| 天天做天天干天天舔| 最新激情中文字幕视频| 超碰97免费人妻麻豆| 亚洲精品 欧美日韩| AV无码一区二区三区不卡| 99精品国自产在线人| 国产在线观看黄色视频| 99国内小视频在现欢看| 午夜福利资源综合激情午夜福利资 | 黄色大片免费观看网站| 婷婷久久久综合中文字幕| 日本www中文字幕| 日本熟妇一区二区x x| 久久99久久99精品影院| 日韩欧美国产精品91| 亚洲午夜伦理视频在线| 欧美一级片免费在线成人观看| av无限看熟女人妻另类av| 天天干天天操天天玩天天射| 97国产精品97久久| 久久永久免费精品人妻专区 | 中文字幕av熟女人妻| 97精品综合久久在线| 黄色大片免费观看网站| 久久久久久久精品老熟妇| 人妻熟女中文字幕aⅴ在线| 国产九色91在线视频| 久久久久久性虐视频| 啊啊啊想要被插进去视频| avjpm亚洲伊人久久| 精品首页在线观看视频| 无码精品一区二区三区人| 天天躁日日躁狠狠躁av麻豆| 精品久久久久久高潮| 国产九色91在线观看精品| 成年人午夜黄片视频资源| 国产成人无码精品久久久电影| 91超碰青青中文字幕| chinese国产盗摄一区二区| 色花堂在线av中文字幕九九| 综合激情网激情五月五月婷婷| 一本久久精品一区二区| 亚洲欧美色一区二区| 亚洲综合一区成人在线| 中文人妻AV久久人妻水| 熟女人妻在线中出观看完整版| 激情内射在线免费观看| 99热99re在线播放| 视频 国产 精品 熟女 | 一区二区三区激情在线| 无码日韩人妻精品久久| 扒开让我视频在线观看| 黑人巨大的吊bdsm| 五十路息与子猛烈交尾视频| 日本少妇人妻xxxxx18| 国产高清在线观看1区2区| 国产精品成久久久久三级蜜臀av | 亚洲熟妇x久久av久久| 在线免费观看亚洲精品电影| 国内资源最丰富的网站| 国产黄色片在线收看| 青娱乐极品视频青青草| 天天日天天添天天爽| 国产日韩一区二区在线看| 在线免费观看亚洲精品电影| 91在线视频在线精品3| 久久久精品999精品日本| 亚洲专区激情在线观看视频| 日日日日日日日日夜夜夜夜夜夜| 日本一二三中文字幕| 中文字幕第一页国产在线| 蜜桃色婷婷久久久福利在线| 成年午夜免费无码区| 亚欧在线视频你懂的| 欧美亚洲偷拍自拍色图| 一区二区三区 自拍偷拍| rct470中文字幕在线| 一区二区三区激情在线| 97人人妻人人澡人人爽人人精品| 日本熟女精品一区二区三区| 黑人性生活视频免费看| 狠狠操狠狠操免费视频| 免费十精品十国产网站| 日本av熟女在线视频| 夫妻在线观看视频91| 1000部国产精品成人观看视频 | 四川五十路熟女av| 顶级尤物粉嫩小尤物网站| 老司机免费福利视频网| 激情内射在线免费观看| 亚洲成人av一区久久| 超碰97人人澡人人| 国产一区二区久久久裸臀| 亚洲在线观看中文字幕av| 国产激情av网站在线观看| 999热精品视频在线| 91精品高清一区二区三区| 人妻少妇亚洲精品中文字幕| 无码日韩人妻精品久久| 午夜毛片不卡免费观看视频| 国产1区,2区,3区| 18禁美女黄网站色大片下载| 日本一本午夜在线播放| 午夜在线观看岛国av,com| 经典av尤物一区二区| 黄色在线观看免费观看在线| 午夜蜜桃一区二区三区| 国产久久久精品毛片| 人人妻人人爽人人澡人人精品| 中文人妻AV久久人妻水| 久久久久久久一区二区三| av手机免费在线观看高潮| 激情内射在线免费观看| 99re久久这里都是精品视频| 欧美日韩高清午夜蜜桃大香蕉| mm131美女午夜爽爽爽| 亚洲国产在人线放午夜| 天天摸天天日天天操| av老司机亚洲一区二区| 亚洲成av人无码不卡影片一| 日本后入视频在线观看 | 性色蜜臀av一区二区三区| 欧美特色aaa大片| 青娱乐最新视频在线| 在线网站你懂得老司机| 成人综合亚洲欧美一区| av天堂加勒比在线| www天堂在线久久| 男生舔女生逼逼的视频| 久久久久久cao我的性感人妻| 免费一级黄色av网站| 国产乱子伦精品视频潮优女| 亚洲一区二区三区偷拍女厕91| 精品国产成人亚洲午夜| 2020韩国午夜女主播在线| 又粗又硬又猛又黄免费30| 91快播视频在线观看| 福利一二三在线视频观看| 人妻熟女在线一区二区| 成人性黑人一级av| 在线视频免费观看网| 国产老熟女伦老熟妇ⅹ| 日本熟女50视频免费| 日本美女性生活一级片| 国内精品在线播放第一页| 日本熟妇丰满厨房55| 2022天天干天天操| 免费在线播放a级片| 人人妻人人澡人人爽人人dvl| 日韩一个色综合导航| 欧美日韩不卡一区不区二区| 久草极品美女视频在线观看| 91亚洲精品干熟女蜜桃频道| 欧美精品免费aaaaaa| 国产精品黄页网站视频| 丝袜美腿视频诱惑亚洲无| 91久久人澡人人添人人爽乱| 亚洲激情,偷拍视频| 2022国产精品视频| 涩爱综合久久五月蜜臀| www,久久久,com| 国产亚洲国产av网站在线| 3D动漫精品啪啪一区二区下载| 国产一区二区久久久裸臀| 扒开让我视频在线观看| 91老师蜜桃臀大屁股| 一区二区三区四区五区性感视频| 在线网站你懂得老司机| 日视频免费在线观看| 国产在线自在拍91国语自产精品| 99re6热在线精品| 国产成人一区二区三区电影网站 | 亚洲推理片免费看网站| 亚洲av琪琪男人的天堂| 日本熟妇喷水xxx| 日韩欧美一级精品在线观看| 国产成人小视频在线观看无遮挡 | 欧美在线一二三视频| 亚洲欧美成人综合视频| 亚洲欧洲一区二区在线观看| 最新日韩av传媒在线| 男人的天堂在线黄色| 欧美成人综合色在线噜噜| 激情国产小视频在线| 亚洲精品久久视频婷婷| 高潮喷水在线视频观看| 社区自拍揄拍尻屁你懂的| 桃色视频在线观看一区二区| gogo国模私拍视频| 成人乱码一区二区三区av| 91成人精品亚洲国产| 国产精品视频男人的天堂| 成人国产影院在线观看| 亚洲av黄色在线网站| 成人H精品动漫在线无码播放| 老司机你懂得福利视频| 大胸性感美女羞爽操逼毛片| 婷婷久久久久深爱网| 欧美日韩国产一区二区三区三州| 青青青爽视频在线播放| 又粗又长 明星操逼小视频| 国产三级片久久久久久久| 亚洲精品一区二区三区老狼| 亚洲av无乱一区二区三区性色| 亚洲一区二区三区五区| 亚洲av日韩精品久久久| 亚洲丝袜老师诱惑在线观看| 97国产在线观看高清| 日本a级视频老女人| 国产精品一区二区av国| 天堂女人av一区二区| wwwxxx一级黄色片| 国产精品黄片免费在线观看| 中文字幕—97超碰网| 91久久精品色伊人6882| 午夜美女少妇福利视频| 社区自拍揄拍尻屁你懂的| 国产精品视频资源在线播放| 欧美爆乳肉感大码在线观看| 国产自拍黄片在线观看| 小泽玛利亚视频在线观看| 亚洲av第国产精品| 欧美精品中文字幕久久二区| 欧美另类一区二区视频| 中文字幕成人日韩欧美| 成人亚洲精品国产精品| 熟女妇女老妇一二三区| 国产高清在线在线视频| 国产第一美女一区二区三区四区| 男人天堂色男人av| 亚洲欧美成人综合在线观看| 91超碰青青中文字幕| 搞黄色在线免费观看| 中文字幕第1页av一天堂网| 激情人妻校园春色亚洲欧美| 成人H精品动漫在线无码播放| 欧美日本在线视频一区| 欧美va不卡视频在线观看| 91麻豆精品传媒国产黄色片| 青青青艹视频在线观看| 91精品国产麻豆国产| 久久这里只有精品热视频 | 色婷婷六月亚洲综合香蕉| 美女张开两腿让男人桶av| 日韩美女精品视频在线观看网站| 人人超碰国字幕观看97| 日韩欧美国产一区ab| 午夜在线精品偷拍一区二| 黄工厂精品视频在线观看| 夫妻在线观看视频91| 红杏久久av人妻一区| 日本一区二区三区免费小视频| 伊人开心婷婷国产av| 又大又湿又爽又紧A视频| 中文字幕在线欧美精品| av天堂资源最新版在线看| 自拍偷拍亚洲另类色图| 亚洲欧美综合在线探花| 999久久久久999| 国产精品自偷自拍啪啪啪| 亚洲伊人久久精品影院一美女洗澡 | 精品亚洲国产中文自在线| 岛国黄色大片在线观看| 五十路丰满人妻熟妇| 少妇高潮一区二区三区| 成年午夜免费无码区| 日韩写真福利视频在线观看| 摧残蹂躏av一二三区| 大鸡巴操b视频在线| 阴茎插到阴道里面的视频| 一区二区三区麻豆福利视频| 黄色视频在线观看高清无码| 色在线观看视频免费的| 视频在线亚洲一区二区| 日本一二三区不卡无| asmr福利视频在线观看| 国产成人精品久久二区91 | 成人精品在线观看视频| 黄色av网站免费在线| 亚洲精品一线二线在线观看| 在线观看911精品国产| 成人午夜电影在线观看 久久| 熟女人妻在线中出观看完整版| 亚洲成人三级在线播放| 91精品激情五月婷婷在线| 亚洲午夜精品小视频| 国产亚洲欧美另类在线观看| 五月激情婷婷久久综合网| 日韩剧情片电影在线收看| 首之国产AV医生和护士小芳| 成人av天堂丝袜在线观看 | 97香蕉碰碰人妻国产樱花| 国产精品黄大片在线播放| 高潮喷水在线视频观看| 人妻激情图片视频小说| 国产一区二区久久久裸臀| 久久精品亚洲国产av香蕉| 都市激情校园春色狠狠| 色秀欧美视频第一页| 免费福利av在线一区二区三区| 热思思国产99re| 亚洲精品久久视频婷婷| 天天操夜夜骑日日摸| 成人H精品动漫在线无码播放| 啊用力插好舒服视频| 亚洲精品精品国产综合| 天天插天天色天天日| 91免费观看国产免费| 老司机福利精品免费视频一区二区| 国产女人被做到高潮免费视频| 午夜毛片不卡免费观看视频 | 91桃色成人网络在线观看| 视频 国产 精品 熟女 | 精品成人啪啪18免费蜜臀| 99热这里只有国产精品6| 午夜福利资源综合激情午夜福利资 | 激情人妻校园春色亚洲欧美| 午夜国产免费福利av| 亚洲 图片 欧美 图片| 国产女人露脸高潮对白视频| 综合国产成人在线观看| 青青草人人妻人人妻| 视频在线免费观看你懂得| jul—619中文字幕在线| 午夜激情久久不卡一区二区| 国产精品亚洲在线观看| 99亚洲美女一区二区三区| 大尺度激情四射网站| 午夜青青草原网在线观看| 国产又粗又硬又大视频| okirakuhuhu在线观看| 天天射夜夜操狠狠干| 久久机热/这里只有| 中文字幕人妻被公上司喝醉在线| 久久永久免费精品人妻专区| 美女少妇亚洲精选av| 超碰97人人澡人人| 色花堂在线av中文字幕九九| 久久精品亚洲成在人线a| 亚洲综合色在线免费观看| 美女福利视频导航网站| 日韩中文字幕福利av| 91大神福利视频网| 亚洲国产成人在线一区| 熟女在线视频一区二区三区| 欧美老鸡巴日小嫩逼| 四虎永久在线精品免费区二区| 大鸡八强奸视频在线观看| 人妻久久久精品69系列| 91大屁股国产一区二区| 日本人妻少妇18—xx| 欧美精品免费aaaaaa| 人妻3p真实偷拍一二区| 久久久极品久久蜜桃| 好太好爽好想要免费| 精品一区二区三区午夜| 精品区一区二区三区四区人妻| 喷水视频在线观看这里只有精品| 5528327男人天堂| 偷拍3456eee| 亚洲av第国产精品| 免费黄页网站4188| 色吉吉影音天天干天天操| ka0ri在线视频| 久久热久久视频在线观看| 国产又色又刺激在线视频| 国产黄色片在线收看| 午夜的视频在线观看| 激情五月婷婷免费视频| 亚洲成人情色电影在线观看| 亚洲免费av在线视频| 最新欧美一二三视频| 韩国三级aaaaa高清视频| 阴茎插到阴道里面的视频| 天天摸天天干天天操科普| 亚洲午夜福利中文乱码字幕| 亚洲嫩模一区二区三区| 国产精品一区二区久久久av| 国产精品3p和黑人大战| 日韩欧美国产精品91| av在线播放国产不卡| 亚洲欧美在线视频第一页| 国产va精品免费观看| 国产精品系列在线观看一区二区| 人人人妻人人澡人人| 天天操夜夜骑日日摸| 国产白嫩美女一区二区| 久久久久久久99精品| 97a片免费在线观看| 青青青青爽手机在线| 懂色av之国产精品| 在线亚洲天堂色播av电影| 亚洲精品国产综合久久久久久久久| 国产综合高清在线观看| 亚洲精品午夜久久久久| 蜜桃视频入口久久久| 久久久久久久久久性潮| 中文字幕一区二区三区蜜月| 少妇露脸深喉口爆吞精| 99久久久无码国产精品性出奶水| 一区二区三区久久久91| 亚洲成人免费看电影| 亚洲av午夜免费观看| 99热色原网这里只有精品| 天天躁日日躁狠狠躁av麻豆| 亚洲精品 日韩电影| 国产av国片精品一区二区| 国产视频精品资源网站| 中文字幕 亚洲av| 人人妻人人爽人人澡人人精品| 538精品在线观看视频| 亚洲精品麻豆免费在线观看| 99久久99久国产黄毛片| 国产第一美女一区二区三区四区| 三级av中文字幕在线观看| 91久久综合男人天堂| 黄色中文字幕在线播放| 精品一区二区三区欧美| 白嫩白嫩美女极品国产在线观看| 爱有来生高清在线中文字幕| 中文字幕之无码色多多| 91欧美在线免费观看| 婷婷激情四射在线观看视频| 99国产精品窥熟女精品| 在线观看免费视频色97| 2021最新热播中文字幕| 五月天中文字幕内射| 日韩中文字幕精品淫| av完全免费在线观看av| 日本女人一级免费片| 人人妻人人爽人人添夜| 亚洲精品中文字幕下载| 日本人竟这样玩学生妹| 国产亚洲成人免费在线观看| 国产妇女自拍区在线观看| 69精品视频一区二区在线观看| 美女福利视频导航网站| 在线不卡日韩视频播放| 中文字幕最新久久久| 人妻少妇一区二区三区蜜桃| 国产美女一区在线观看| 99热这里只有国产精品6| 国产激情av网站在线观看| 亚洲人一区二区中文字幕| 中文字幕网站你懂的| 亚洲嫩模一区二区三区| 狠狠鲁狠狠操天天晚上干干| 成人在线欧美日韩国产| 日韩美女精品视频在线观看网站| 日本午夜久久女同精女女| 国产亚洲欧美视频网站| 在线免费91激情四射| 国产欧美日韩第三页| 自拍偷拍亚洲欧美在线视频| 香蕉av影视在线观看| 强行扒开双腿猛烈进入免费版| 国产日本欧美亚洲精品视| 青青操免费日综合视频观看| 18禁美女黄网站色大片下载| 又黄又刺激的午夜小视频| 久久久精品999精品日本| 免费69视频在线看| 91麻豆精品久久久久| 人妻丝袜av在线播放网址| 狍和女人的王色毛片| av成人在线观看一区| 夜色17s精品人妻熟女| 欧美日韩亚洲国产无线码| 孕妇奶水仑乱A级毛片免费看| 99婷婷在线观看视频| 青青青青青青青在线播放视频| 特黄老太婆aa毛毛片| 国产高清在线在线视频| 亚洲熟女女同志女同| 偷拍自拍视频图片免费| 欧美日韩精品永久免费网址 | av手机在线观播放网站| 精品91高清在线观看| 成人蜜桃美臀九一一区二区三区| 91小伙伴中女熟女高潮| 日本少妇高清视频xxxxx | 免费手机黄页网址大全| 又黄又刺激的午夜小视频| 国产视频在线视频播放| 日韩欧美在线观看不卡一区二区| 97国产福利小视频合集| 亚洲av男人天堂久久| 青春草视频在线免费播放| 国产大学生援交正在播放| 美女骚逼日出水来了| 亚洲欧美清纯唯美另类 | 国产视频一区二区午夜| 福利午夜视频在线观看| 天天日夜夜操天天摸| 大香蕉大香蕉在线看| 天天干夜夜操天天舔| 国产三级影院在线观看| sspd152中文字幕在线| 偷拍自拍福利视频在线观看| 国产麻豆剧传媒精品国产av蜜桃| 成人24小时免费视频| 久久久精品国产亚洲AV一| 亚洲天天干 夜夜操| 青青热久免费精品视频在线观看| 日本高清成人一区二区三区| 区一区二区三国产中文字幕| 久久久久久97三级| 天堂av在线官网中文| 欧美一级色视频美日韩| 亚洲一级av大片免费观看| 成人30分钟免费视频| 日韩精品啪啪视频一道免费| 超级av免费观看一区二区三区| 日韩少妇人妻精品无码专区| 晚上一个人看操B片| 青青色国产视频在线| 国产片免费观看在线观看| 日本女人一级免费片| 亚洲熟女综合色一区二区三区四区 | 国产麻豆乱子伦午夜视频观看| 亚洲偷自拍高清视频| 高潮喷水在线视频观看| 久草视频福利在线首页| 精品亚洲在线免费观看| 老司机午夜精品视频资源| 欧美性受xx黑人性猛交| 天天日天天日天天射天天干 | 又大又湿又爽又紧A视频| 亚洲免费在线视频网站| 北条麻妃高跟丝袜啪啪| 视频一区二区三区高清在线| 在线国产中文字幕视频| 欧洲日韩亚洲一区二区三区| 岛国青草视频在线观看| 亚洲国产免费av一区二区三区| 伊人综合免费在线视频| 视频一区二区综合精品| 青青色国产视频在线| 一区二区三区四区中文| av在线免费观看亚洲天堂| 小穴多水久久精品免费看| 在线播放国产黄色av| 久久人人做人人妻人人玩精品vr| av完全免费在线观看av| 日本真人性生活视频免费看| 欧美xxx成人在线| 欧洲国产成人精品91铁牛tv| 日韩视频一区二区免费观看| 2020中文字幕在线播放| 国产精品一二三不卡带免费视频 | 中文字幕人妻被公上司喝醉在线| 天天日天天爽天天爽| 十八禁在线观看地址免费| 最新中文字幕乱码在线| 大香蕉福利在线观看| mm131美女午夜爽爽爽| 欧美地区一二三专区| 成人乱码一区二区三区av| 免费手机黄页网址大全| yy96视频在线观看| 国产性色生活片毛片春晓精品 | 欧洲精品第一页欧洲精品亚洲| 亚洲少妇人妻无码精品| 色综合久久无码中文字幕波多| 男人插女人视频网站| 97国产在线av精品| 国产黄色片在线收看| huangse网站在线观看| 欧美熟妇一区二区三区仙踪林| 国产精品熟女久久久久浪潮| 伊人综合免费在线视频| 亚洲第一黄色在线观看| 欧美va不卡视频在线观看| 91亚洲手机在线视频播放| 国产变态另类在线观看| 成年人的在线免费视频| 青青青青青手机视频| 日韩三级电影华丽的外出| 亚洲欧美另类自拍偷拍色图| 成年人该看的视频黄免费| 亚洲狠狠婷婷综合久久app| 东游记中文字幕版哪里可以看到| 亚洲国产在线精品国偷产拍| 久久99久久99精品影院| 久久久久久久亚洲午夜综合福利| 在线成人日韩av电影| 国产日韩av一区二区在线| 美女吃鸡巴操逼高潮视频| 欧美一区二区三区高清不卡tv| 亚洲欧美一区二区三区爱爱动图| 青青草亚洲国产精品视频| 亚洲国产欧美国产综合在线| 天天日夜夜操天天摸| 日比视频老公慢点好舒服啊| 国产在线观看黄色视频| 国产亚洲精品视频合集| 果冻传媒av一区二区三区| 欧美日韩一区二区电影在线观看| 自拍偷拍亚洲另类色图| 天堂av在线播放免费| 蜜桃色婷婷久久久福利在线| 国产又粗又猛又爽又黄的视频美国| 国产中文字幕四区在线观看| 国产精品熟女久久久久浪潮| 亚洲区欧美区另类最新章节| 亚洲av香蕉一区区二区三区犇| 日本高清撒尿pissing| 女同久久精品秋霞网| 91国内精品久久久久精品一| 天天日夜夜操天天摸| 91成人精品亚洲国产| 亚洲激情唯美亚洲激情图片| 天天夜天天日天天日| gogo国模私拍视频| 一个人免费在线观看ww视频| 亚洲中文字幕综合小综合| 中文字幕,亚洲人妻| 日韩精品二区一区久久| 黑人进入丰满少妇视频| 亚洲护士一区二区三区| 青青色国产视频在线| 中文字幕一区二区三区蜜月| 国产 在线 免费 精品| 超级av免费观看一区二区三区| 亚洲国产40页第21页| 天天做天天干天天舔| 经典国语激情内射视频| 国产av一区2区3区| 538精品在线观看视频| 啪啪啪18禁一区二区三区| 亚洲国产美女一区二区三区软件 | 天天操,天天干,天天射| 动漫美女的小穴视频| 天天插天天狠天天操| 综合国产成人在线观看| 国产亚洲精品视频合集| 无码中文字幕波多野不卡| 亚洲午夜伦理视频在线 | 亚洲av人人澡人人爽人人爱| 绝顶痉挛大潮喷高潮无码 | 国产视频一区在线观看| 欧美黄色录像免费看的| 久久永久免费精品人妻专区| 天天日天天舔天天射进去| 97黄网站在线观看| 九色porny九色9l自拍视频| 啊啊啊想要被插进去视频| 欧美精品亚洲精品日韩在线| 操人妻嗷嗷叫视频一区二区| 在线观看欧美黄片一区二区三区| 在线国产精品一区二区三区| 久久久久久久亚洲午夜综合福利| 婷婷五月亚洲综合在线| 狠狠躁狠狠爱网站视频| 亚洲美女高潮喷浆视频| 中文字幕国产专区欧美激情| 一区二区三区另类在线| 国产一区二区久久久裸臀| 五十路av熟女松本翔子| 老司机福利精品免费视频一区二区 | 亚洲一区久久免费视频| 美女操逼免费短视频下载链接| 久久久久久久一区二区三| 97国产在线av精品| 521精品视频在线观看| 老鸭窝日韩精品视频观看| 91试看福利一分钟| 色婷婷六月亚洲综合香蕉| 人妻少妇精品久久久久久| 午夜美女少妇福利视频| 国产露脸对白在线观看| 成年人啪啪视频在线观看| 一级黄色av在线观看| 国产麻豆精品人妻av| 经典国语激情内射视频| 中国熟女@视频91| 一区二区三区久久久91| 日本女大学生的黄色小视频| 亚洲精品午夜aaa久久| 五十路在线观看完整版| 精品视频一区二区三区四区五区| 国产97在线视频观看| 综合激情网激情五月五月婷婷| 伊人日日日草夜夜草| 玖玖一区二区在线观看| 动漫黑丝美女的鸡巴| 影音先锋女人av噜噜色| 亚洲免费视频欧洲免费视频| 亚洲国产40页第21页|