3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

“睡服”面试官系列第十三篇之函数的扩展(建议收藏学习)

發(fā)布時間:2023/12/10 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 “睡服”面试官系列第十三篇之函数的扩展(建议收藏学习) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

?

1. 函數(shù)參數(shù)的默認值

1.1基本用法

1.2與解構賦值默認值結合使用

1.3參數(shù)默認值的位置

1.4函數(shù)的 length 屬性?

1.5作用域

1.6應用

2. rest 參數(shù)

3. 嚴格模式

4. name 屬性

5. 箭頭函數(shù)

5.1基本用法

5.2使用注意點

5.3嵌套的箭頭函數(shù)

6. 雙冒號運算符

7. 尾調用優(yōu)化

7.1什么是尾調用?

7.2尾調用優(yōu)化

7.3尾遞歸

7.4遞歸函數(shù)改寫

7.5嚴格模式

7.6尾遞歸優(yōu)化的實現(xiàn)

8. 函數(shù)參數(shù)的尾逗號

9. catch 語句的參數(shù)

總結

“睡服“面試官系列之各系列目錄匯總(建議學習收藏)


1. 函數(shù)參數(shù)的默認值

1.1基本用法

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

function log(x, y) { y = y || 'World'; console.log(x, y); } log('Hello') // Hello World log('Hello', 'China') // Hello China log('Hello', '') // Hello World

上面代碼檢查函數(shù) log 的參數(shù) y 有沒有賦值,如果沒有,則指定默認值為 World 。這種寫法的缺點在于,如果參數(shù) y 賦值了,但是對應的布爾值為
false ,則該賦值不起作用。就像上面代碼的最后一行,參數(shù) y 等于空字符,結果被改為默認值。
為了避免這個問題,通常需要先判斷一下參數(shù) y 是否被賦值,如果沒有,再等于默認值

if (typeof y === 'undefined') { y = 'World'; }

ES6 允許為函數(shù)的參數(shù)設置默認值,即直接寫在參數(shù)定義的后面

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

可以看到,ES6 的寫法比 ES5 簡潔許多,而且非常自然。下面是另一個例子

function Point(x = 0, y = 0) { this.x = x; this.y = y; } const p = new Point(); p // { x: 0, y: 0 }

除了簡潔,ES6 的寫法還有兩個好處:首先,閱讀代碼的人,可以立刻意識到哪些參數(shù)是可以省略的,不用查看函數(shù)體或文檔;其次,有利于將來的代碼
優(yōu)化,即使未來的版本在對外接口中,徹底拿掉這個參數(shù),也不會導致以前的代碼無法運行。
參數(shù)變量是默認聲明的,所以不能用 let 或 const 再次聲明。

function foo(x = 5) { let x = 1; // error const x = 2; // error }

上面代碼中,參數(shù)變量 x 是默認聲明的,在函數(shù)體中,不能用 let 或 const 再次聲明,否則會報錯。
使用參數(shù)默認值時,函數(shù)不能有同名參數(shù)

// 不報錯 function foo(x, x, y) { // ... } // 報錯 function foo(x, x, y = 1) { // ... } // SyntaxError: Duplicate parameter name not allowed in this context

另外,一個容易忽略的地方是,參數(shù)默認值不是傳值的,而是每次都重新計算默認值表達式的值。也就是說,參數(shù)默認值是惰性求值的

let x = 99; function foo(p = x + 1) { console.log(p); } foo() // 100 x = 100; foo() // 101

上面代碼中,參數(shù) p 的默認值是 x + 1 。這時,每次調用函數(shù) foo ,都會重新計算 x + 1 ,而不是默認 p 等于 100。

1.2與解構賦值默認值結合使用

參數(shù)默認值可以與解構賦值的默認值,結合起來使用。

function foo({x, y = 5}) { console.log(x, y); } foo({}) // undefined 5 foo({x: 1}) // 1 5 foo({x: 1, y: 2}) // 1 2 foo() // TypeError: Cannot read property 'x' of undefined

上面代碼只使用了對象的解構賦值默認值,沒有使用函數(shù)參數(shù)的默認值。只有當函數(shù) foo 的參數(shù)是一個對象時,變量 x 和 y 才會通過解構賦值生成。如果
函數(shù) foo 調用時沒提供參數(shù),變量 x 和 y 就不會生成,從而報錯。通過提供函數(shù)參數(shù)的默認值,就可以避免這種情況

function foo({x, y = 5} = {}) { console.log(x, y); } foo() // undefined 5

上面代碼指定,如果沒有提供參數(shù),函數(shù) foo 的參數(shù)默認為一個空對象。
下面是另一個解構賦值默認值的例子

function fetch(url, { body = '', method = 'GET', headers = {} }) { console.log(method); } fetch('http://example.com', {}) // "GET" fetch('http://example.com') // 報錯

上面代碼中,如果函數(shù) fetch 的第二個參數(shù)是一個對象,就可以為它的三個屬性設置默認值。這種寫法不能省略第二個參數(shù),如果結合函數(shù)參數(shù)的默認
值,就可以省略第二個參數(shù)。這時,就出現(xiàn)了雙重默認值。

function fetch(url, { body = '', method = 'GET', headers = {} } = {}) { console.log(method); } fetch('http://example.com') // "GET"

上面代碼中,函數(shù) fetch 沒有第二個參數(shù)時,函數(shù)參數(shù)的默認值就會生效,然后才是解構賦值的默認值生效,變量 method 才會取到默認值 GET 。
作為練習,請問下面兩種寫法有什么差別?

// 寫法一 function m1({x = 0, y = 0} = {}) { return [x, y]; } // 寫法二 function m2({x, y} = { x: 0, y: 0 }) { return [x, y]; }

上面兩種寫法都對函數(shù)的參數(shù)設定了默認值,區(qū)別是寫法一函數(shù)參數(shù)的默認值是空對象,但是設置了對象解構賦值的默認值;寫法二函數(shù)參數(shù)的默認值是
一個有具體屬性的對象,但是沒有設置對象解構賦值的默認值。

// 函數(shù)沒有參數(shù)的情況 m1() // [0, 0] m2() // [0, 0] // x 和 y 都有值的情況 m1({x: 3, y: 8}) // [3, 8] m2({x: 3, y: 8}) // [3, 8] // x 有值,y 無值的情況 m1({x: 3}) // [3, 0] m2({x: 3}) // [3, undefined] // x 和 y 都無值的情況 m1({}) // [0, 0]; m2({}) // [undefined, undefined] m1({z: 3}) // [0, 0] m2({z: 3}) // [undefined, undefined]

1.3參數(shù)默認值的位置

通常情況下,定義了默認值的參數(shù),應該是函數(shù)的尾參數(shù)。因為這樣比較容易看出來,到底省略了哪些參數(shù)。如果非尾部的參數(shù)設置默認值,實際上這個
參數(shù)是沒法省略的。

// 例一 function f(x = 1, y) { return [x, y]; } f() // [1, undefined] f(2) // [2, undefined]) f(, 1) // 報錯 f(undefined, 1) // [1, 1] // 例二 function f(x, y = 5, z) { return [x, y, z]; } f() // [undefined, 5, undefined] f(1) // [1, 5, undefined] f(1, ,2) // 報錯 f(1, undefined, 2) // [1, 5, 2]

上面代碼中,有默認值的參數(shù)都不是尾參數(shù)。這時,無法只省略該參數(shù),而不省略它后面的參數(shù),除非顯式輸入 undefined 。
如果傳入 undefined ,將觸發(fā)該參數(shù)等于默認值, null 則沒有這個效果。

function foo(x = 5, y = 6) { console.log(x, y); } foo(undefined, null) // 5 null

上面代碼中, x 參數(shù)對應 undefined ,結果觸發(fā)了默認值, y 參數(shù)等于 null ,就沒有觸發(fā)默認值。

1.4函數(shù)的 length 屬性?

指定了默認值以后,函數(shù)的 length 屬性,將返回沒有指定默認值的參數(shù)個數(shù)。也就是說,指定了默認值后, length 屬性將失真

(function (a) {}).length // 1 (function (a = 5) {}).length // 0 (function (a, b, c = 5) {}).length // 2

?上面代碼中, length 屬性的返回值,等于函數(shù)的參數(shù)個數(shù)減去指定了默認值的參數(shù)個數(shù)。比如,上面最后一個函數(shù),定義了 3 個參數(shù),其中有一個參數(shù) c
指定了默認值,因此 length 屬性等于 3 減去 1 ,最后得到 2 。
這是因為 length 屬性的含義是,該函數(shù)預期傳入的參數(shù)個數(shù)。某個參數(shù)指定默認值以后,預期傳入的參數(shù)個數(shù)就不包括這個參數(shù)了。同理,后文的 rest
參數(shù)也不會計入 length 屬性

(function(...args) {}).length // 0

如果設置了默認值的參數(shù)不是尾參數(shù),那么 length 屬性也不再計入后面的參數(shù)了

(function (a = 0, b, c) {}).length // 0 (function (a, b = 1, c) {}).length // 1

1.5作用域

一旦設置了參數(shù)的默認值,函數(shù)進行聲明初始化時,參數(shù)會形成一個單獨的作用域(context)。等到初始化結束,這個作用域就會消失。這種語法行為,
在不設置參數(shù)默認值時,是不會出現(xiàn)的。

var x = 1; function f(x, y = x) { console.log(y); } f(2) // 2

上面代碼中,參數(shù) y 的默認值等于變量 x 。調用函數(shù) f 時,參數(shù)形成一個單獨的作用域。在這個作用域里面,默認值變量 x 指向第一個參數(shù) x ,而不是全局
變量 x ,所以輸出是 2 。
再看下面的例子

let x = 1; function f(y = x) { let x = 2; console.log(y); } f() // 1

上面代碼中,函數(shù) f 調用時,參數(shù) y = x 形成一個單獨的作用域。這個作用域里面,變量 x 本身沒有定義,所以指向外層的全局變量 x 。函數(shù)調用時,函
數(shù)體內部的局部變量 x 影響不到默認值變量 x 。
如果此時,全局變量 x 不存在,就會報錯

function f(y = x) { let x = 2; console.log(y); } f() // ReferenceError: x is not defined

下面這樣寫,也會報錯。

var x = 1; function foo(x = x) { // ... } foo() // ReferenceError: x is not defined

上面代碼中,參數(shù) x = x 形成一個單獨作用域。實際執(zhí)行的是 let x = x ,由于暫時性死區(qū)的原因,這行代碼會報錯”x 未定義“。
如果參數(shù)的默認值是一個函數(shù),該函數(shù)的作用域也遵守這個規(guī)則。請看下面的例子

let foo = 'outer'; function bar(func = () => foo) { let foo = 'inner'; console.log(func()); } bar(); // outer

上面代碼中,函數(shù) bar 的參數(shù) func 的默認值是一個匿名函數(shù),返回值為變量 foo 。函數(shù)參數(shù)形成的單獨作用域里面,并沒有定義變量 foo ,所以 foo 指向
外層的全局變量 foo ,因此輸出 outer 。
如果寫成下面這樣,就會報錯

function bar(func = () => foo) { let foo = 'inner'; console.log(func()); } bar() // ReferenceError: foo is not defined

上面代碼中,匿名函數(shù)里面的 foo 指向函數(shù)外層,但是函數(shù)外層并沒有聲明變量 foo ,所以就報錯了。

下面是一個更復雜的例子

var x = 1; function foo(x, y = function() { x = 2; }) { var x = 3; y(); console.log(x); } foo() // 3 x // 1

上面代碼中,函數(shù) foo 的參數(shù)形成一個單獨作用域。這個作用域里面,首先聲明了變量 x ,然后聲明了變量 y , y 的默認值是一個匿名函數(shù)。這個匿名函
數(shù)內部的變量 x ,指向同一個作用域的第一個參數(shù) x 。函數(shù) foo 內部又聲明了一個內部變量 x ,該變量與第一個參數(shù) x 由于不是同一個作用域,所以不是同
一個變量,因此執(zhí)行 y 后,內部變量 x 和外部全局變量 x 的值都沒變。
如果將 var x = 3 的 var 去除,函數(shù) foo 的內部變量 x 就指向第一個參數(shù) x ,與匿名函數(shù)內部的 x 是一致的,所以最后輸出的就是 2 ,而外層的全局變量
x 依然不受影響。

var x = 1; function foo(x, y = function() { x = 2; }) { x = 3; y(); console.log(x); } foo() // 2 x // 1

1.6應用

利用參數(shù)默認值,可以指定某一個參數(shù)不得省略,如果省略就拋出一個錯誤。

function throwIfMissing() { throw new Error('Missing parameter'); } function foo(mustBeProvided = throwIfMissing()) { return mustBeProvided; } foo() // Error: Missing parameter

上面代碼的 foo 函數(shù),如果調用的時候沒有參數(shù),就會調用默認值 throwIfMissing 函數(shù),從而拋出一個錯誤。
從上面代碼還可以看到,參數(shù) mustBeProvided 的默認值等于 throwIfMissing 函數(shù)的運行結果(注意函數(shù)名 throwIfMissing 之后有一對圓括號),這表
明參數(shù)的默認值不是在定義時執(zhí)行,而是在運行時執(zhí)行。如果參數(shù)已經(jīng)賦值,默認值中的函數(shù)就不會運行。
另外,可以將參數(shù)默認值設為 undefined ,表明這個參數(shù)是可以省略的。

function foo(optional = undefined) { ··· }

2. rest 參數(shù)

ES6 引入 rest 參數(shù)(形式為 ...變量名 ),用于獲取函數(shù)的多余參數(shù),這樣就不需要使用 arguments 對象了。rest 參數(shù)搭配的變量是一個數(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ù)是一個求和函數(shù),利用 rest 參數(shù),可以向該函數(shù)傳入任意數(shù)目的參數(shù)。
下面是一個 rest 參數(shù)代替 arguments 變量的例子。

// arguments變量的寫法 function sortNumbers() { return Array.prototype.slice.call(arguments).sort(); } // rest參數(shù)的寫法 const sortNumbers = (...numbers) => numbers.sort();

上面代碼的兩種寫法,比較后可以發(fā)現(xiàn),rest 參數(shù)的寫法更自然也更簡潔。
arguments 對象不是數(shù)組,而是一個類似數(shù)組的對象。所以為了使用數(shù)組的方法,必須使用 Array.prototype.slice.call 先將其轉為數(shù)組。rest 參數(shù)就
不存在這個問題,它就是一個真正的數(shù)組,數(shù)組特有的方法都可以使用。下面是一個利用 rest 參數(shù)改寫數(shù)組 push 方法的例子。

function push(array, ...items) { items.forEach(function(item) { array.push(item); console.log(item); }); } var a = []; push(a, 1, 2, 3)

?注意,rest 參數(shù)之后不能再有其他參數(shù)(即只能是最后一個參數(shù)),否則會報錯。

// 報錯 function f(a, ...b, c) { // ... }

函數(shù)的 length 屬性,不包括 rest 參數(shù)。

(function(a) {}).length // 1 (function(...a) {}).length // 0 (function(a, ...b) {}).length // 1

3. 嚴格模式

從 ES5 開始,函數(shù)內部可以設定為嚴格模式

function doSomething(a, b) { 'use strict'; // code }

ES2016 做了一點修改,規(guī)定只要函數(shù)參數(shù)使用了默認值、解構賦值、或者擴展運算符,那么函數(shù)內部就不能顯式設定為嚴格模式,否則會報錯。

// 報錯 function doSomething(a, b = a) { 'use strict'; // code } // 報錯 const doSomething = function ({a, b}) { 'use strict'; // code }; // 報錯 const doSomething = (...a) => { 'use strict'; // code }; const obj = { // 報錯 doSomething({a, b}) { 'use strict'; // code

這樣規(guī)定的原因是,函數(shù)內部的嚴格模式,同時適用于函數(shù)體和函數(shù)參數(shù)。但是,函數(shù)執(zhí)行的時候,先執(zhí)行函數(shù)參數(shù),然后再執(zhí)行函數(shù)體。這樣就有一個
不合理的地方,只有從函數(shù)體之中,才能知道參數(shù)是否應該以嚴格模式執(zhí)行,但是參數(shù)卻應該先于函數(shù)體執(zhí)行

// 報錯 function doSomething(value = 070) { 'use strict'; return value; }

上面代碼中,參數(shù) value 的默認值是八進制數(shù) 070 ,但是嚴格模式下不能用前綴 0 表示八進制,所以應該報錯。但是實際上,JavaScript 引擎會先成功執(zhí)
行 value = 070 ,然后進入函數(shù)體內部,發(fā)現(xiàn)需要用嚴格模式執(zhí)行,這時才會報錯。
雖然可以先解析函數(shù)體代碼,再執(zhí)行參數(shù)代碼,但是這樣無疑就增加了復雜性。因此,標準索性禁止了這種用法,只要參數(shù)使用了默認值、解構賦值、或
者擴展運算符,就不能顯式指定嚴格模式。
兩種方法可以規(guī)避這種限制。第一種是設定全局性的嚴格模式,這是合法的。

'use strict'; function doSomething(a, b = a) { // code }

第二種是把函數(shù)包在一個無參數(shù)的立即執(zhí)行函數(shù)里面。

const doSomething = (function () { 'use strict'; return function(value = 42) { return value; }; }());

4. name 屬性

函數(shù)的 name 屬性,返回該函數(shù)的函數(shù)名

function foo() {} foo.name // "foo"

這個屬性早就被瀏覽器廣泛支持,但是直到 ES6,才將其寫入了標準。
需要注意的是,ES6 對這個屬性的行為做出了一些修改。如果將一個匿名函數(shù)賦值給一個變量,ES5 的 name 屬性,會返回空字符串,而 ES6 的 name 屬
性會返回實際的函數(shù)名。

var f = function () {}; // ES5 f.name // "" // ES6 f.name // "f"

上面代碼中,變量 f 等于一個匿名函數(shù),ES5 和 ES6 的 name 屬性返回的值不一樣。
如果將一個具名函數(shù)賦值給一個變量,則 ES5 和 ES6 的 name 屬性都返回這個具名函數(shù)原本的名字

const bar = function baz() {}; // ES5 bar.name // "baz" // ES6 bar.name // "baz

Function 構造函數(shù)返回的函數(shù)實例, name 屬性的值為 anonymous

(new Function).name // "anonymous"

bind 返回的函數(shù), name 屬性值會加上 bound 前綴。

function foo() {}; foo.bind({}).name // "bound foo" (function(){}).bind({}).name // "bound "

5. 箭頭函數(shù)

5.1基本用法

ES6 允許使用“箭頭”( => )定義函數(shù)。

var f = v => v;

上面的箭頭函數(shù)等同于

var f = function(v) { return v; };

如果箭頭函數(shù)不需要參數(shù)或需要多個參數(shù),就使用一個圓括號代表參數(shù)部分

var f = () => 5; // 等同于 var f = function () { return 5 }; var sum = (num1, num2) => num1 + num2; // 等同于 var sum = function(num1, num2) { return num1 + num2; };

如果箭頭函數(shù)的代碼塊部分多于一條語句,就要使用大括號將它們括起來,并且使用 return 語句返回

var sum = (num1, num2) => { return num1 + num2; }

由于大括號被解釋為代碼塊,所以如果箭頭函數(shù)直接返回一個對象,必須在對象外面加上括號,否則會報錯。

// 報錯 let getTempItem = id => { id: id, name: "Temp" }; // 不報錯 let getTempItem = id => ({ id: id, name: "Temp" });

如果箭頭函數(shù)只有一行語句,且不需要返回值,可以采用下面的寫法,就不用寫大括號了。

let fn = () => void doesNotReturn();

箭頭函數(shù)可以與變量解構結合使用。

const full = ({ first, last }) => first + ' ' + last; // 等同于 function full(person) { return person.first + ' ' + person.last; }

箭頭函數(shù)使得表達更加簡潔

const isEven = n => n % 2 == 0; const square = n => n * n;

上面代碼只用了兩行,就定義了兩個簡單的工具函數(shù)。如果不用箭頭函數(shù),可能就要占用多行,而且還不如現(xiàn)在這樣寫醒目。
箭頭函數(shù)的一個用處是簡化回調函數(shù)。
?

// 正常函數(shù)寫法 [1,2,3].map(function (x) { return x * x; }); // 箭頭函數(shù)寫法 [1,2,3].map(x => x * x);

另一個例子是

// 正常函數(shù)寫法 var result = values.sort(function (a, b) { return a - b; }); // 箭頭函數(shù)寫法 var result = values.sort((a, b) => a - b);

下面是 rest 參數(shù)與箭頭函數(shù)結合的例子。

const numbers = (...nums) => nums; numbers(1, 2, 3, 4, 5) // [1,2,3,4,5] const headAndTail = (head, ...tail) => [head, tail]; headAndTail(1, 2, 3, 4, 5) // [1,[2,3,4,5]]

5.2使用注意點

箭頭函數(shù)有幾個使用注意點。
(1)函數(shù)體內的 this 對象,就是定義時所在的對象,而不是使用時所在的對象。
(2)不可以當作構造函數(shù),也就是說,不可以使用 new 命令,否則會拋出一個錯誤。
(3)不可以使用 arguments 對象,該對象在函數(shù)體內不存在。如果要用,可以用 rest 參數(shù)代替。
(4)不可以使用 yield 命令,因此箭頭函數(shù)不能用作 Generator 函數(shù)。
上面四點中,第一點尤其值得注意。 this 對象的指向是可變的,但是在箭頭函數(shù)中,它是固定的。

function foo() { setTimeout(() => { console.log('id:', this.id); }, 100); } var id = 21; foo.call({ id: 42 }); // id: 42

上面代碼中, setTimeout 的參數(shù)是一個箭頭函數(shù),這個箭頭函數(shù)的定義生效是在 foo 函數(shù)生成時,而它的真正執(zhí)行要等到 100 毫秒后。如果是普通函
數(shù),執(zhí)行時 this 應該指向全局對象 window ,這時應該輸出 21 。但是,箭頭函數(shù)導致 this 總是指向函數(shù)定義生效時所在的對象(本例是 {id: 42} ),所
以輸出的是 42 。
箭頭函數(shù)可以讓 setTimeout 里面的 this ,綁定定義時所在的作用域,而不是指向運行時所在的作用域。下面是另一個例子。

function Timer() { this.s1 = 0; this.s2 = 0; // 箭頭函數(shù) setInterval(() => this.s1++, 1000); // 普通函數(shù) setInterval(function () { this.s2++; }, 1000); } var timer = new Timer(); setTimeout(() => console.log('s1: ', timer.s1), 3100) setTimeout(() => console.log('s2: ', timer.s2), 3100); // s1: 3 // s2: 0

上面代碼中, Timer 函數(shù)內部設置了兩個定時器,分別使用了箭頭函數(shù)和普通函數(shù)。前者的 this 綁定定義時所在的作用域(即 Timer 函數(shù)),后者的
this 指向運行時所在的作用域(即全局對象)。所以,3100 毫秒之后, timer.s1 被更新了 3 次,而 timer.s2 一次都沒更新。
箭頭函數(shù)可以讓 this 指向固定化,這種特性很有利于封裝回調函數(shù)。下面是一個例子,DOM 事件的回調函數(shù)封裝在一個對象里面

var handler = { id: '123456', init: function() { document.addEventListener('click', event => this.doSomething(event.type), false); }, doSomething: function(type) { console.log('Handling ' + type + ' for ' + this.id); } };

上面代碼的 init 方法中,使用了箭頭函數(shù),這導致這個箭頭函數(shù)里面的 this ,總是指向 handler 對象。否則,回調函數(shù)運行時, this.doSomething 這一
行會報錯,因為此時 this 指向 document 對象。
this 指向的固定化,并不是因為箭頭函數(shù)內部有綁定 this 的機制,實際原因是箭頭函數(shù)根本沒有自己的 this ,導致內部的 this 就是外層代碼塊的
this 。正是因為它沒有 this ,所以也就不能用作構造函數(shù)。
所以,箭頭函數(shù)轉成 ES5 的代碼如下。

// ES6 function foo() { setTimeout(() => { console.log('id:', this.id); }, 100); } // ES5 function foo() { var _this = this; setTimeout(function () { console.log('id:', _this.id); }, 100); }

上面代碼中,轉換后的 ES5 版本清楚地說明了,箭頭函數(shù)里面根本沒有自己的 this ,而是引用外層的 this 。
請問下面的代碼之中有幾個 this ?

function foo() { return () => { return () => { return () => { console.log('id:', this.id); }; }; }; } var f = foo.call({id: 1}); var t1 = f.call({id: 2})()(); // id: 1 var t2 = f().call({id: 3})(); // id: 1 var t3 = f()().call({id: 4}); // id: 1

上面代碼之中,只有一個 this ,就是函數(shù) foo 的 this ,所以 t1 、 t2 、 t3 都輸出同樣的結果。因為所有的內層函數(shù)都是箭頭函數(shù),都沒有自己的
this ,它們的 this 其實都是最外層 foo 函數(shù)的 this 。
除了 this ,以下三個變量在箭頭函數(shù)之中也是不存在的,指向外層函數(shù)的對應變量: arguments 、 super 、 new.target

function foo() { setTimeout(() => { console.log('args:', arguments); }, 100); } foo(2, 4, 6, 8) // args: [2, 4, 6, 8]

上面代碼中,箭頭函數(shù)內部的變量 arguments ,其實是函數(shù) foo 的 arguments 變量。
另外,由于箭頭函數(shù)沒有自己的 this ,所以當然也就不能用 call() 、 apply() 、 bind() 這些方法去改變 this 的指向

(function() { return [ (() => this.x).bind({ x: 'inner' })() ]; }).call({ x: 'outer' }); // ['outer']

上面代碼中,箭頭函數(shù)沒有自己的 this ,所以 bind 方法無效,內部的 this 指向外部的 this 。
長期以來,JavaScript 語言的 this 對象一直是一個令人頭痛的問題,在對象方法中使用 this ,必須非常小心。箭頭函數(shù)”綁定” this ,很大程度上解決
了這個困擾。

5.3嵌套的箭頭函數(shù)

箭頭函數(shù)內部,還可以再使用箭頭函數(shù)。下面是一個 ES5 語法的多重嵌套函數(shù)。

function insert(value) { return {into: function (array) { return {after: function (afterValue) { array.splice(array.indexOf(afterValue) + 1, 0, value); return array; }}; }}; } insert(2).into([1, 3]).after(1); //[1, 2, 3]

上面這個函數(shù),可以使用箭頭函數(shù)改寫。

let insert = (value) => ({into: (array) => ({after: (afterValue) => { array.splice(array.indexOf(afterValue) + 1, 0, value); return array; }})}); insert(2).into([1, 3]).after(1); //[1, 2, 3]

下面是一個部署管道機制(pipeline)的例子,即前一個函數(shù)的輸出是后一個函數(shù)的輸入

const pipeline = (...funcs) => val => funcs.reduce((a, b) => b(a), val); const plus1 = a => a + 1; const mult2 = a => a * 2; const addThenMult = pipeline(plus1, mult2); addThenMult(5) // 12

如果覺得上面的寫法可讀性比較差,也可以采用下面的寫法

const plus1 = a => a + 1; const mult2 = a => a * 2; mult2(plus1(5)) // 12

箭頭函數(shù)還有一個功能,就是可以很方便地改寫 λ 演算

// λ演算的寫法 fix = λf.(λx.f(λv.x(x)(v)))(λx.f(λv.x(x)(v))) // ES6的寫法 var fix = f => (x => f(v => x(x)(v))) (x => f(v => x(x)(v)));

上面兩種寫法,幾乎是一一對應的。由于 λ 演算對于計算機科學非常重要,這使得我們可以用 ES6 作為替代工具,探索計算機科學。

6. 雙冒號運算符

箭頭函數(shù)可以綁定 this 對象,大大減少了顯式綁定 this 對象的寫法( call 、 apply 、 bind )。但是,箭頭函數(shù)并不適用于所有場合,所以現(xiàn)在有一個
提案,提出了“函數(shù)綁定”(function bind)運算符,用來取代 call 、 apply 、 bind 調用。
函數(shù)綁定運算符是并排的兩個冒號( :: ),雙冒號左邊是一個對象,右邊是一個函數(shù)。該運算符會自動將左邊的對象,作為上下文環(huán)境(即 this 對
象),綁定到右邊的函數(shù)上面。

foo::bar; // 等同于 bar.bind(foo); foo::bar(...arguments); // 等同于 bar.apply(foo, arguments); const hasOwnProperty = Object.prototype.hasOwnProperty; function hasOwn(obj, key) { return obj::hasOwnProperty(key); }

如果雙冒號左邊為空,右邊是一個對象的方法,則等于將該方法綁定在該對象上面

var method = obj::obj.foo; // 等同于 var method = ::obj.foo; let log = ::console.log; // 等同于 var log = console.log.bind(console);

雙冒號運算符的運算結果,還是一個對象,因此可以采用鏈式寫法

// 例一 import { map, takeWhile, forEach } from "iterlib"; getPlayers() ::map(x => x.character()) ::takeWhile(x => x.strength > 100) ::forEach(x => console.log(x)); // 例二 let { find, html } = jake; document.querySelectorAll("div.myClass") ::find("p") ::html("hahaha")

7. 尾調用優(yōu)化

7.1什么是尾調用?

尾調用(Tail Call)是函數(shù)式編程的一個重要概念,本身非常簡單,一句話就能說清楚,就是指某個函數(shù)的最后一步是調用另一個函數(shù)。

function f(x){ return g(x); }

上面代碼中,函數(shù) f 的最后一步是調用函數(shù) g ,這就叫尾調用。
以下三種情況,都不屬于尾調用。

// 情況一 function f(x){ let y = g(x); return y; } // 情況二 function f(x){ return g(x) + 1; } // 情況三 function f(x){ g(x); }

上面代碼中,情況一是調用函數(shù) g 之后,還有賦值操作,所以不屬于尾調用,即使語義完全一樣。情況二也屬于調用后還有操作,即使寫在一行內。情況
三等同于下面的代碼。

function f(x){ g(x); return undefined; }

尾調用不一定出現(xiàn)在函數(shù)尾部,只要是最后一步操作即可

function f(x) { if (x > 0) { return m(x) } return n(x); }

上面代碼中,函數(shù) m 和 n 都屬于尾調用,因為它們都是函數(shù) f 的最后一步操作。

7.2尾調用優(yōu)化

尾調用之所以與其他調用不同,就在于它的特殊的調用位置。
我們知道,函數(shù)調用會在內存形成一個“調用記錄”,又稱“調用幀”(call frame),保存調用位置和內部變量等信息。如果在函數(shù) A 的內部調用函數(shù) B ,那
么在 A 的調用幀上方,還會形成一個 B 的調用幀。等到 B 運行結束,將結果返回到 A , B 的調用幀才會消失。如果函數(shù) B 內部還調用函數(shù) C ,那就還有一
個 C 的調用幀,以此類推。所有的調用幀,就形成一個“調用棧”(call stack)。
尾調用由于是函數(shù)的最后一步操作,所以不需要保留外層函數(shù)的調用幀,因為調用位置、內部變量等信息都不會再用到了,只要直接用內層函數(shù)的調用
幀,取代外層函數(shù)的調用幀就可以了

function f() { let m = 1; let n = 2; return g(m + n); } f(); // 等同于 function f() { return g(3); } f(); // 等同于 g(3);

上面代碼中,如果函數(shù) g 不是尾調用,函數(shù) f 就需要保存內部變量 m 和 n 的值、 g 的調用位置等信息。但由于調用 g 之后,函數(shù) f 就結束了,所以執(zhí)行到最
后一步,完全可以刪除 f(x) 的調用幀,只保留 g(3) 的調用幀。
這就叫做“尾調用優(yōu)化”(Tail call optimization),即只保留內層函數(shù)的調用幀。如果所有函數(shù)都是尾調用,那么完全可以做到每次執(zhí)行時,調用幀只有
一項,這將大大節(jié)省內存。這就是“尾調用優(yōu)化”的意義。
注意,只有不再用到外層函數(shù)的內部變量,內層函數(shù)的調用幀才會取代外層函數(shù)的調用幀,否則就無法進行“尾調用優(yōu)化”。

function addOne(a){ var one = 1; function inner(b){ return b + one; } return inner(a); }

上面的函數(shù)不會進行尾調用優(yōu)化,因為內層函數(shù) inner 用到了外層函數(shù) addOne 的內部變量 one

7.3尾遞歸

函數(shù)調用自身,稱為遞歸。如果尾調用自身,就稱為尾遞歸。
遞歸非常耗費內存,因為需要同時保存成千上百個調用幀,很容易發(fā)生“棧溢出”錯誤(stack overflow)。但對于尾遞歸來說,由于只存在一個調用幀,
所以永遠不會發(fā)生“棧溢出”錯誤。

function factorial(n) { if (n === 1) return 1; return n * factorial(n - 1); } factorial(5) // 120

上面代碼是一個階乘函數(shù),計算 n 的階乘,最多需要保存 n 個調用記錄,復雜度 O(n) 。
如果改寫成尾遞歸,只保留一個調用記錄,復雜度 O(1)

function factorial(n, total) { if (n === 1) return total; return factorial(n - 1, n * total); } factorial(5, 1) // 120

還有一個比較著名的例子,就是計算 Fibonacci 數(shù)列,也能充分說明尾遞歸優(yōu)化的重要性。
非尾遞歸的 Fibonacci 數(shù)列實現(xiàn)如下。

function Fibonacci (n) { if ( n <= 1 ) {return 1}; return Fibonacci(n - 1) + Fibonacci(n - 2); } Fibonacci(10) // 89 Fibonacci(100) // 堆棧溢出 Fibonacci(500) // 堆棧溢出

尾遞歸優(yōu)化過的 Fibonacci 數(shù)列實現(xiàn)如下

function Fibonacci2 (n , ac1 = 1 , ac2 = 1) { if( n <= 1 ) {return ac2}; return Fibonacci2 (n - 1, ac2, ac1 + ac2); } Fibonacci2(100) // 573147844013817200000 Fibonacci2(1000) // 7.0330367711422765e+208 Fibonacci2(10000) // Infinity

由此可見,“尾調用優(yōu)化”對遞歸操作意義重大,所以一些函數(shù)式編程語言將其寫入了語言規(guī)格。ES6 是如此,第一次明確規(guī)定,所有 ECMAScript 的實
現(xiàn),都必須部署“尾調用優(yōu)化”。這就是說,ES6 中只要使用尾遞歸,就不會發(fā)生棧溢出,相對節(jié)省內存。

7.4遞歸函數(shù)改寫

尾遞歸的實現(xiàn),往往需要改寫遞歸函數(shù),確保最后一步只調用自身。做到這一點的方法,就是把所有用到的內部變量改寫成函數(shù)的參數(shù)。比如上面的例
子,階乘函數(shù) factorial 需要用到一個中間變量 total ,那就把這個中間變量改寫成函數(shù)的參數(shù)。這樣做的缺點就是不太直觀,第一眼很難看出來,為什么
計算 5 的階乘,需要傳入兩個參數(shù) 5 和 1 ?
兩個方法可以解決這個問題。方法一是在尾遞歸函數(shù)之外,再提供一個正常形式的函數(shù)。

function tailFactorial(n, total) { if (n === 1) return total; return tailFactorial(n - 1, n * total); } function factorial(n) { return tailFactorial(n, 1); } factorial(5) // 120

上面代碼通過一個正常形式的階乘函數(shù) factorial ,調用尾遞歸函數(shù) tailFactorial ,看起來就正常多了。
函數(shù)式編程有一個概念,叫做柯里化(currying),意思是將多參數(shù)的函數(shù)轉換成單參數(shù)的形式。這里也可以使用柯里化。

function currying(fn, n) { return function (m) { return fn.call(this, m, n); }; } function tailFactorial(n, total) { if (n === 1) return total; return tailFactorial(n - 1, n * total); } const factorial = currying(tailFactorial, 1); factorial(5) // 120

上面代碼通過柯里化,將尾遞歸函數(shù) tailFactorial 變?yōu)橹唤邮芤粋€參數(shù)的 factorial 。
第二種方法就簡單多了,就是采用 ES6 的函數(shù)默認值。

function factorial(n, total = 1) { if (n === 1) return total; return factorial(n - 1, n * total); } factorial(5) // 120

上面代碼中,參數(shù) total 有默認值 1 ,所以調用時不用提供這個值。
總結一下,遞歸本質上是一種循環(huán)操作。純粹的函數(shù)式編程語言沒有循環(huán)操作命令,所有的循環(huán)都用遞歸實現(xiàn),這就是為什么尾遞歸對這些語言極其重
要。對于其他支持“尾調用優(yōu)化”的語言(比如 Lua,ES6),只需要知道循環(huán)可以用遞歸代替,而一旦使用遞歸,就最好使用尾遞歸。

7.5嚴格模式

ES6 的尾調用優(yōu)化只在嚴格模式下開啟,正常模式是無效的。
這是因為在正常模式下,函數(shù)內部有兩個變量,可以跟蹤函數(shù)的調用棧。
func.arguments :返回調用時函數(shù)的參數(shù)。
func.caller :返回調用當前函數(shù)的那個函數(shù)。
尾調用優(yōu)化發(fā)生時,函數(shù)的調用棧會改寫,因此上面兩個變量就會失真。嚴格模式禁用這兩個變量,所以尾調用模式僅在嚴格模式下生效。

function restricted() { 'use strict'; restricted.caller; // 報錯 restricted.arguments; // 報錯 } restricted()

7.6尾遞歸優(yōu)化的實現(xiàn)

尾遞歸優(yōu)化只在嚴格模式下生效,那么正常模式下,或者那些不支持該功能的環(huán)境中,有沒有辦法也使用尾遞歸優(yōu)化呢?回答是可以的,就是自己實現(xiàn)尾
遞歸優(yōu)化。
它的原理非常簡單。尾遞歸之所以需要優(yōu)化,原因是調用棧太多,造成溢出,那么只要減少調用棧,就不會溢出。怎么做可以減少調用棧呢?就是采用“循
環(huán)”換掉“遞歸”。
下面是一個正常的遞歸函數(shù)。

function sum(x, y) { if (y > 0) { return sum(x + 1, y - 1); } else { return x; } } sum(1, 100000) // Uncaught RangeError: Maximum call stack size exceeded(…)

上面代碼中, sum 是一個遞歸函數(shù),參數(shù) x 是需要累加的值,參數(shù) y 控制遞歸次數(shù)。一旦指定 sum 遞歸 100000 次,就會報錯,提示超出調用棧的最大次
數(shù)。
蹦床函數(shù)(trampoline)可以將遞歸執(zhí)行轉為循環(huán)執(zhí)行

function trampoline(f) { while (f && f instanceof Function) { f = f(); } return f; }

上面就是蹦床函數(shù)的一個實現(xiàn),它接受一個函數(shù) f 作為參數(shù)。只要 f 執(zhí)行后返回一個函數(shù),就繼續(xù)執(zhí)行。注意,這里是返回一個函數(shù),然后執(zhí)行該函數(shù),
而不是函數(shù)里面調用函數(shù),這樣就避免了遞歸執(zhí)行,從而就消除了調用棧過大的問題。
然后,要做的就是將原來的遞歸函數(shù),改寫為每一步返回另一個函數(shù)。

function sum(x, y) { if (y > 0) { return sum.bind(null, x + 1, y - 1); } else { return x; } }

上面代碼中, sum 函數(shù)的每次執(zhí)行,都會返回自身的另一個版本。
現(xiàn)在,使用蹦床函數(shù)執(zhí)行 sum ,就不會發(fā)生調用棧溢出

trampoline(sum(1, 100000)) // 100001

蹦床函數(shù)并不是真正的尾遞歸優(yōu)化,下面的實現(xiàn)才是。

function tco(f) { var value; var active = false; var accumulated = []; return function accumulator() { accumulated.push(arguments); if (!active) { active = true; while (accumulated.length) { value = f.apply(this, accumulated.shift()); } active = false; return value; } }; } var sum = tco(function(x, y) { if (y > 0) { return sum(x + 1, y - 1) } else { return x } }); sum(1, 100000) // 100001

上面代碼中, tco 函數(shù)是尾遞歸優(yōu)化的實現(xiàn),它的奧妙就在于狀態(tài)變量 active 。默認情況下,這個變量是不激活的。一旦進入尾遞歸優(yōu)化的過程,這個變
量就激活了。然后,每一輪遞歸 sum 返回的都是 undefined ,所以就避免了遞歸執(zhí)行;而 accumulated 數(shù)組存放每一輪 sum 執(zhí)行的參數(shù),總是有值的,這
就保證了 accumulator 函數(shù)內部的 while 循環(huán)總是會執(zhí)行。這樣就很巧妙地將“遞歸”改成了“循環(huán)”,而后一輪的參數(shù)會取代前一輪的參數(shù),保證了調用棧
只有一層

8. 函數(shù)參數(shù)的尾逗號

ES2017 允許函數(shù)的最后一個參數(shù)有尾逗號(trailing comma)。
此前,函數(shù)定義和調用時,都不允許最后一個參數(shù)后面出現(xiàn)逗號。

function clownsEverywhere( param1, param2 ) { /* ... */ } clownsEverywhere( 'foo', 'bar' );

上面代碼中,如果在 param2 或 bar 后面加一個逗號,就會報錯。
如果像上面這樣,將參數(shù)寫成多行(即每個參數(shù)占據(jù)一行),以后修改代碼的時候,想為函數(shù) clownsEverywhere 添加第三個參數(shù),或者調整參數(shù)的次序,
就勢必要在原來最后一個參數(shù)后面添加一個逗號。這對于版本管理系統(tǒng)來說,就會顯示添加逗號的那一行也發(fā)生了變動。這看上去有點冗余,因此新的語
法允許定義和調用時,尾部直接有一個逗號。

function clownsEverywhere( param1, param2, ) { /* ... */ } clownsEverywhere( 'foo', 'bar', );

這樣的規(guī)定也使得,函數(shù)參數(shù)與數(shù)組和對象的尾逗號規(guī)則,保持一致了

9. catch 語句的參數(shù)

目前,有一個提案,允許 try...catch 結構中的 catch 語句調用時不帶有參數(shù)。這個提案跟參數(shù)有關,也放在這一章介紹。
傳統(tǒng)的寫法是 catch 語句必須帶有參數(shù),用來接收 try 代碼塊拋出的錯誤。

try { // ··· } catch (error) { // ··· }

新的寫法允許省略 catch 后面的參數(shù),而不報錯。

try { // ··· } catch { // ··· }

新寫法只在不需要錯誤實例的情況下有用,因此不及傳統(tǒng)寫法的用途廣。

let jsonData; try { jsonData = JSON.parse(str); } catch { jsonData = DEFAULT_DATA; }

上面代碼中, JSON.parse 報錯只有一種可能:解析失敗。因此,可以不需要拋出的錯誤實例。

總結

本博客源于本人閱讀相關書籍和視頻總結,創(chuàng)作不易,謝謝點贊支持。學到就是賺到。我是歌謠,勵志成為一名優(yōu)秀的技術革新人員。

歡迎私信交流,一起學習,一起成長。

推薦鏈接 其他文件目錄參照

“睡服“面試官系列之各系列目錄匯總(建議學習收藏)

總結

以上是生活随笔為你收集整理的“睡服”面试官系列第十三篇之函数的扩展(建议收藏学习)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。

中文无码精品a∨在线观看不卡 | 波多野结衣一区二区三区av免费 | 最近中文2019字幕第二页 | 国产舌乚八伦偷品w中 | 成 人 免费观看网站 | 久久久久亚洲精品男人的天堂 | 成人欧美一区二区三区黑人免费 | 又色又爽又黄的美女裸体网站 | 久久午夜无码鲁丝片 | 性色欲情网站iwww九文堂 | 亚洲大尺度无码无码专区 | 成在人线av无码免费 | 久久综合香蕉国产蜜臀av | 无码免费一区二区三区 | 丰满人妻被黑人猛烈进入 | 四虎4hu永久免费 | 成人欧美一区二区三区黑人 | 国产亚洲精品久久久闺蜜 | 日韩精品乱码av一区二区 | 国产激情一区二区三区 | 免费人成网站视频在线观看 | 国产成人精品一区二区在线小狼 | 亚洲国产欧美在线成人 | 国产熟妇高潮叫床视频播放 | 澳门永久av免费网站 | 亚洲男人av香蕉爽爽爽爽 | 中文字幕乱码中文乱码51精品 | 国产精品久久国产三级国 | 久久久中文久久久无码 | 久久国产36精品色熟妇 | 成人aaa片一区国产精品 | 色综合久久久无码网中文 | 天天摸天天碰天天添 | 一本久久伊人热热精品中文字幕 | 狠狠噜狠狠狠狠丁香五月 | 亚洲の无码国产の无码步美 | 欧美兽交xxxx×视频 | 高清不卡一区二区三区 | 成人性做爰aaa片免费看 | 婷婷五月综合激情中文字幕 | 亚洲色欲色欲天天天www | 精品一区二区不卡无码av | 夜夜夜高潮夜夜爽夜夜爰爰 | 欧美丰满少妇xxxx性 | 精品久久久中文字幕人妻 | 一本精品99久久精品77 | 丰满少妇弄高潮了www | 成熟女人特级毛片www免费 | 久久久久成人片免费观看蜜芽 | 日韩少妇白浆无码系列 | 我要看www免费看插插视频 | 亚洲人成无码网www | 岛国片人妻三上悠亚 | 久久精品国产亚洲精品 | 国产精品久久久一区二区三区 | 免费播放一区二区三区 | 国产激情艳情在线看视频 | 成人aaa片一区国产精品 | 日韩精品无码一区二区中文字幕 | 亚洲精品无码人妻无码 | 扒开双腿吃奶呻吟做受视频 | 久久精品无码一区二区三区 | 狠狠亚洲超碰狼人久久 | 国产色在线 | 国产 | 久久综合香蕉国产蜜臀av | 一本久道高清无码视频 | 国内精品人妻无码久久久影院 | 77777熟女视频在线观看 а天堂中文在线官网 | 18禁黄网站男男禁片免费观看 | 亚洲性无码av中文字幕 | 亚洲国产一区二区三区在线观看 | 国模大胆一区二区三区 | 成人欧美一区二区三区黑人 | 国产综合在线观看 | 亚洲日韩一区二区三区 | 又湿又紧又大又爽a视频国产 | 色一情一乱一伦一视频免费看 | 免费无码的av片在线观看 | 狠狠噜狠狠狠狠丁香五月 | 任你躁国产自任一区二区三区 | 中文字幕 亚洲精品 第1页 | 丰腴饱满的极品熟妇 | 国产精品怡红院永久免费 | 色欲综合久久中文字幕网 | 少妇无码av无码专区在线观看 | 国产suv精品一区二区五 | 黑人玩弄人妻中文在线 | 日日摸天天摸爽爽狠狠97 | 中文字幕无码人妻少妇免费 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 亚洲综合伊人久久大杳蕉 | 奇米影视7777久久精品人人爽 | 国产麻豆精品一区二区三区v视界 | 日韩成人一区二区三区在线观看 | 久久伊人色av天堂九九小黄鸭 | 久久久久久九九精品久 | 一本久道久久综合狠狠爱 | 国产精品a成v人在线播放 | 无码精品人妻一区二区三区av | 无码成人精品区在线观看 | 国产精品久久久一区二区三区 | 高清不卡一区二区三区 | 给我免费的视频在线观看 | 免费人成网站视频在线观看 | 成人性做爰aaa片免费看 | 日本乱偷人妻中文字幕 | 欧美35页视频在线观看 | 免费无码的av片在线观看 | 亚洲综合无码久久精品综合 | 两性色午夜视频免费播放 | 色综合天天综合狠狠爱 | 午夜福利不卡在线视频 | 亚洲国产成人a精品不卡在线 | 漂亮人妻洗澡被公强 日日躁 | 精品久久8x国产免费观看 | 久久精品国产日本波多野结衣 | 精品国产精品久久一区免费式 | 日本一卡2卡3卡四卡精品网站 | 亚洲国产成人av在线观看 | 天堂а√在线中文在线 | 亚洲 a v无 码免 费 成 人 a v | 无码一区二区三区在线 | 国产精品久久福利网站 | 亚洲欧美中文字幕5发布 | 爆乳一区二区三区无码 | 国产亚洲人成在线播放 | 亚洲国精产品一二二线 | 久久午夜无码鲁丝片 | 精品少妇爆乳无码av无码专区 | 无遮挡啪啪摇乳动态图 | 99riav国产精品视频 | 亚洲精品久久久久中文第一幕 | 无码人妻精品一区二区三区不卡 | 国产亚洲精品久久久久久大师 | 人妻无码αv中文字幕久久琪琪布 | 亚洲色欲色欲天天天www | 国产综合在线观看 | 无码免费一区二区三区 | 色欲av亚洲一区无码少妇 | 国产成人综合在线女婷五月99播放 | 亚洲男人av香蕉爽爽爽爽 | 高中生自慰www网站 | 久久无码人妻影院 | 精品一区二区三区无码免费视频 | 在线观看国产一区二区三区 | 天海翼激烈高潮到腰振不止 | 亚洲爆乳大丰满无码专区 | 波多野结衣一区二区三区av免费 | 精品一区二区三区波多野结衣 | 精品国产成人一区二区三区 | 国产精品久久精品三级 | 人妻aⅴ无码一区二区三区 | 日本熟妇乱子伦xxxx | 偷窥日本少妇撒尿chinese | 亚洲综合伊人久久大杳蕉 | 在线观看免费人成视频 | 天天躁日日躁狠狠躁免费麻豆 | 亚洲国精产品一二二线 | 3d动漫精品啪啪一区二区中 | 亚洲色www成人永久网址 | 成人无码精品1区2区3区免费看 | 日产国产精品亚洲系列 | 国产精品办公室沙发 | 国产超碰人人爽人人做人人添 | 国产精品99久久精品爆乳 | 久久精品无码一区二区三区 | 精品国产一区av天美传媒 | 欧美怡红院免费全部视频 | 中文无码精品a∨在线观看不卡 | 欧美日韩综合一区二区三区 | 99精品久久毛片a片 | 亚洲一区二区观看播放 | 国产精品办公室沙发 | 久久国内精品自在自线 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 性色欲网站人妻丰满中文久久不卡 | 国产亲子乱弄免费视频 | 丰满肥臀大屁股熟妇激情视频 | 欧美亚洲日韩国产人成在线播放 | 国内少妇偷人精品视频 | 国产午夜亚洲精品不卡下载 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 国产精品久久久久无码av色戒 | 日韩在线不卡免费视频一区 | 国产av一区二区精品久久凹凸 | 日本熟妇人妻xxxxx人hd | 无码纯肉视频在线观看 | 亚洲精品鲁一鲁一区二区三区 | 人人澡人人妻人人爽人人蜜桃 | 欧美日韩综合一区二区三区 | 久久精品无码一区二区三区 | 最近免费中文字幕中文高清百度 | 色一情一乱一伦一区二区三欧美 | 亚洲中文字幕无码中字 | 综合人妻久久一区二区精品 | 久久人人97超碰a片精品 | 日韩精品a片一区二区三区妖精 | 国产手机在线αⅴ片无码观看 | 国产精品亚洲一区二区三区喷水 | 国产免费久久精品国产传媒 | 国产在线精品一区二区三区直播 | 欧美精品免费观看二区 | 超碰97人人射妻 | 久久99精品久久久久久动态图 | 国产精品福利视频导航 | 中文字幕无线码免费人妻 | 国产片av国语在线观看 | 亚洲综合在线一区二区三区 | 色婷婷欧美在线播放内射 | 久久国产36精品色熟妇 | 欧美激情一区二区三区成人 | 免费无码肉片在线观看 | 国内少妇偷人精品视频 | 成人一在线视频日韩国产 | 精品午夜福利在线观看 | 欧美老人巨大xxxx做受 | 亚洲欧洲日本无在线码 | 性欧美熟妇videofreesex | 色老头在线一区二区三区 | 久久精品成人欧美大片 | 四虎国产精品免费久久 | 国产精品香蕉在线观看 | 人妻少妇精品无码专区二区 | 荫蒂被男人添的好舒服爽免费视频 | 99riav国产精品视频 | 中文字幕无码日韩欧毛 | 丰满肥臀大屁股熟妇激情视频 | 国产午夜无码精品免费看 | 国产精品无码久久av | 一本久道久久综合婷婷五月 | 婷婷丁香六月激情综合啪 | 亚洲中文字幕av在天堂 | 婷婷五月综合激情中文字幕 | 国产成人精品一区二区在线小狼 | 精品无人区无码乱码毛片国产 | 激情综合激情五月俺也去 | 久久精品视频在线看15 | 色综合久久久无码网中文 | 亚洲理论电影在线观看 | 国产精品久久久久久亚洲毛片 | 国产9 9在线 | 中文 | 亚洲色大成网站www国产 | 亚洲一区二区三区含羞草 | 最新版天堂资源中文官网 | 国内精品久久毛片一区二区 | 色欲av亚洲一区无码少妇 | 欧美国产亚洲日韩在线二区 | 国内精品一区二区三区不卡 | 久久无码专区国产精品s | 性啪啪chinese东北女人 | 未满成年国产在线观看 | 亚洲 高清 成人 动漫 | 久久综合狠狠综合久久综合88 | 亚洲一区二区三区含羞草 | 色欲久久久天天天综合网精品 | 清纯唯美经典一区二区 | 久久久精品欧美一区二区免费 | 99久久精品无码一区二区毛片 | 日日摸天天摸爽爽狠狠97 | 久久zyz资源站无码中文动漫 | 熟妇激情内射com | 荫蒂添的好舒服视频囗交 | 俄罗斯老熟妇色xxxx | 无码国产激情在线观看 | 国产成人无码av一区二区 | 免费国产成人高清在线观看网站 | 夜夜影院未满十八勿进 | 国产香蕉97碰碰久久人人 | 国产成人无码a区在线观看视频app | 丰腴饱满的极品熟妇 | 国产特级毛片aaaaaa高潮流水 | 精品国产精品久久一区免费式 | 樱花草在线社区www | 激情国产av做激情国产爱 | 久久午夜夜伦鲁鲁片无码免费 | 妺妺窝人体色www婷婷 | 国产精品自产拍在线观看 | 国产精品久久久久久亚洲影视内衣 | 亚洲成av人片在线观看无码不卡 | 国产精品国产自线拍免费软件 | 色欲人妻aaaaaaa无码 | 无遮挡啪啪摇乳动态图 | 国产又粗又硬又大爽黄老大爷视 | 精品一区二区三区无码免费视频 | 精品一二三区久久aaa片 | 久久婷婷五月综合色国产香蕉 | 在线欧美精品一区二区三区 | 狠狠躁日日躁夜夜躁2020 | 男人扒开女人内裤强吻桶进去 | 人妻少妇精品无码专区动漫 | 国产激情综合五月久久 | 欧美人与动性行为视频 | 国产激情无码一区二区app | 亚洲熟妇色xxxxx欧美老妇y | 国产区女主播在线观看 | 亚洲精品午夜无码电影网 | 青青久在线视频免费观看 | 国产手机在线αⅴ片无码观看 | 成人无码精品1区2区3区免费看 | 日本一本二本三区免费 | 色婷婷久久一区二区三区麻豆 | 大乳丰满人妻中文字幕日本 | 最近的中文字幕在线看视频 | 日日摸夜夜摸狠狠摸婷婷 | 成在人线av无码免费 | 在线播放无码字幕亚洲 | 少妇激情av一区二区 | 国产精品美女久久久 | 激情国产av做激情国产爱 | 国内精品人妻无码久久久影院蜜桃 | 精品人妻人人做人人爽夜夜爽 | 久久午夜无码鲁丝片 | 少妇厨房愉情理9仑片视频 | 任你躁在线精品免费 | 丰满少妇弄高潮了www | 亚洲七七久久桃花影院 | 十八禁真人啪啪免费网站 | 无码人妻精品一区二区三区不卡 | 亚洲中文字幕无码一久久区 | 久热国产vs视频在线观看 | 日韩人妻无码中文字幕视频 | 亚洲乱码中文字幕在线 | 国产精品怡红院永久免费 | 久久亚洲日韩精品一区二区三区 | 国产精品无码成人午夜电影 | 高潮毛片无遮挡高清免费 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 国产精品久久久午夜夜伦鲁鲁 | www国产精品内射老师 | 国产精品久久精品三级 | 午夜福利电影 | 少妇的肉体aa片免费 | 成人性做爰aaa片免费看 | 97人妻精品一区二区三区 | 色婷婷av一区二区三区之红樱桃 | 国产性生交xxxxx无码 | 亚洲日韩av片在线观看 | 国产亚洲精品久久久久久久久动漫 | av无码久久久久不卡免费网站 | 一本大道久久东京热无码av | 99久久精品午夜一区二区 | 无码帝国www无码专区色综合 | 亚洲 另类 在线 欧美 制服 | 青春草在线视频免费观看 | 欧美日本免费一区二区三区 | 国产性生大片免费观看性 | 图片小说视频一区二区 | 理论片87福利理论电影 | 最新国产乱人伦偷精品免费网站 | 成人三级无码视频在线观看 | 久久久久人妻一区精品色欧美 | 亚洲无人区午夜福利码高清完整版 | 国产精品久久久久影院嫩草 | 日韩精品久久久肉伦网站 | 成人欧美一区二区三区黑人 | 波多野结衣一区二区三区av免费 | 国产在线一区二区三区四区五区 | 国产黄在线观看免费观看不卡 | 国产午夜福利100集发布 | 日本一卡2卡3卡四卡精品网站 | 久热国产vs视频在线观看 | 亚洲无人区一区二区三区 | 日本熟妇人妻xxxxx人hd | 人妻少妇被猛烈进入中文字幕 | 午夜精品久久久内射近拍高清 | 人人妻人人澡人人爽欧美一区九九 | 日韩av激情在线观看 | 久久精品女人的天堂av | 狠狠色噜噜狠狠狠7777奇米 | 水蜜桃色314在线观看 | 亚洲天堂2017无码 | 国内揄拍国内精品少妇国语 | 欧美精品在线观看 | 性色av无码免费一区二区三区 | 精品无人区无码乱码毛片国产 | 真人与拘做受免费视频 | 精品国产av色一区二区深夜久久 | 国产午夜亚洲精品不卡 | 人人妻人人澡人人爽欧美精品 | 中文字幕av无码一区二区三区电影 | 国产精品对白交换视频 | 精品久久综合1区2区3区激情 | 好爽又高潮了毛片免费下载 | 天堂а√在线中文在线 | 国产三级久久久精品麻豆三级 | 四十如虎的丰满熟妇啪啪 | 国产成人综合美国十次 | 中文字幕亚洲情99在线 | 日日天日日夜日日摸 | 色综合久久久久综合一本到桃花网 | 亚洲国产av美女网站 | 思思久久99热只有频精品66 | 亚洲中文字幕无码中字 | 国产亚洲tv在线观看 | 亚洲中文字幕无码一久久区 | 黑人粗大猛烈进出高潮视频 | 又色又爽又黄的美女裸体网站 | 中文字幕+乱码+中文字幕一区 | 日韩 欧美 动漫 国产 制服 | 天天躁日日躁狠狠躁免费麻豆 | 国产深夜福利视频在线 | 日日鲁鲁鲁夜夜爽爽狠狠 | 人妻少妇精品视频专区 | 中文精品无码中文字幕无码专区 | 亚洲va欧美va天堂v国产综合 | 免费观看又污又黄的网站 | 日本精品人妻无码77777 天堂一区人妻无码 | 久久久中文字幕日本无吗 | 国内揄拍国内精品少妇国语 | 99精品无人区乱码1区2区3区 | 免费观看激色视频网站 | 丝袜 中出 制服 人妻 美腿 | 国产精品久久久久7777 | 色婷婷综合中文久久一本 | 成人免费视频视频在线观看 免费 | 7777奇米四色成人眼影 | 国产内射老熟女aaaa | 久久久精品456亚洲影院 | 1000部夫妻午夜免费 | 人人妻人人澡人人爽欧美精品 | 久久亚洲a片com人成 | 久久99精品久久久久久 | 男女下面进入的视频免费午夜 | 久久久久av无码免费网 | 国产精品久久久久久亚洲影视内衣 | 中文字幕av无码一区二区三区电影 | 亚洲va欧美va天堂v国产综合 | 久久久精品456亚洲影院 | 老熟妇仑乱视频一区二区 | 中文字幕av日韩精品一区二区 | 成人一区二区免费视频 | 亚洲国产成人a精品不卡在线 | 久久人人97超碰a片精品 | 少妇性俱乐部纵欲狂欢电影 | 国产精品高潮呻吟av久久 | 亚洲精品国产品国语在线观看 | 成 人 免费观看网站 | 国产成人精品视频ⅴa片软件竹菊 | 九九热爱视频精品 | 狠狠色欧美亚洲狠狠色www | 国产成人久久精品流白浆 | 国产艳妇av在线观看果冻传媒 | 国产美女极度色诱视频www | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 人妻互换免费中文字幕 | 亚洲成a人一区二区三区 | 无码精品国产va在线观看dvd | 久久婷婷五月综合色国产香蕉 | 久久精品无码一区二区三区 | 强伦人妻一区二区三区视频18 | 欧美性猛交内射兽交老熟妇 | 日本乱人伦片中文三区 | 任你躁国产自任一区二区三区 | 欧美熟妇另类久久久久久不卡 | 无码人妻丰满熟妇区五十路百度 | 日本精品高清一区二区 | 日本熟妇大屁股人妻 | 自拍偷自拍亚洲精品10p | 国产成人精品无码播放 | 国产内射老熟女aaaa | 大屁股大乳丰满人妻 | 粗大的内捧猛烈进出视频 | 色综合久久中文娱乐网 | 99久久无码一区人妻 | 国产精品久免费的黄网站 | 小泽玛莉亚一区二区视频在线 | 亚洲精品一区三区三区在线观看 | 亚洲熟悉妇女xxx妇女av | 精品日本一区二区三区在线观看 | 成人一在线视频日韩国产 | 在线观看国产午夜福利片 | 亚洲乱码国产乱码精品精 | 国产人妻精品一区二区三区 | 嫩b人妻精品一区二区三区 | 中文字幕无码人妻少妇免费 | 扒开双腿疯狂进出爽爽爽视频 | 欧美国产亚洲日韩在线二区 | 亚洲天堂2017无码 | 色婷婷香蕉在线一区二区 | 天堂а√在线地址中文在线 | 日韩成人一区二区三区在线观看 | 丰满人妻精品国产99aⅴ | 欧美性猛交xxxx富婆 | 精品熟女少妇av免费观看 | 中文字幕人妻丝袜二区 | 中文字幕 人妻熟女 | 欧美日韩综合一区二区三区 | 婷婷色婷婷开心五月四房播播 | 日韩精品成人一区二区三区 | 久久久久久久久888 | 日本va欧美va欧美va精品 | aⅴ亚洲 日韩 色 图网站 播放 | 国产极品美女高潮无套在线观看 | 国产一区二区三区日韩精品 | 国产精品美女久久久 | 极品嫩模高潮叫床 | 99久久亚洲精品无码毛片 | 丰腴饱满的极品熟妇 | 色欲人妻aaaaaaa无码 | 图片小说视频一区二区 | 亚洲区小说区激情区图片区 | 国产乱人偷精品人妻a片 | 国产精品久久精品三级 | 国产精品国产三级国产专播 | 无遮挡啪啪摇乳动态图 | 夫妻免费无码v看片 | 国产又粗又硬又大爽黄老大爷视 | 亚洲色欲色欲天天天www | 风流少妇按摩来高潮 | 无遮挡啪啪摇乳动态图 | 性欧美熟妇videofreesex | 久久99精品久久久久久动态图 | 男女爱爱好爽视频免费看 | 久久97精品久久久久久久不卡 | 久久久久av无码免费网 | 国产精品高潮呻吟av久久4虎 | 亚洲日本在线电影 | 国产明星裸体无码xxxx视频 | 捆绑白丝粉色jk震动捧喷白浆 | 免费观看黄网站 | 精品久久久无码人妻字幂 | 超碰97人人射妻 | 中文字幕乱码人妻无码久久 | 大乳丰满人妻中文字幕日本 | 日日摸夜夜摸狠狠摸婷婷 | 乱人伦中文视频在线观看 | 水蜜桃亚洲一二三四在线 | 久久久久se色偷偷亚洲精品av | 欧美35页视频在线观看 | 亚洲精品中文字幕久久久久 | 亚洲国产日韩a在线播放 | 亚洲高清偷拍一区二区三区 | 久久综合久久自在自线精品自 | 国产高潮视频在线观看 | 波多野结衣 黑人 | 日本精品高清一区二区 | 国产综合色产在线精品 | 欧美日本日韩 | 亚洲性无码av中文字幕 | 成人试看120秒体验区 | 亚洲国产成人a精品不卡在线 | 欧美乱妇无乱码大黄a片 | 无码国模国产在线观看 | 久久久av男人的天堂 | 日韩 欧美 动漫 国产 制服 | 精品国产麻豆免费人成网站 | 中文字幕av无码一区二区三区电影 | 大地资源网第二页免费观看 | 国内精品人妻无码久久久影院 | 亚洲欧洲中文日韩av乱码 | 午夜精品久久久内射近拍高清 | 亚洲精品一区三区三区在线观看 | 欧美日韩在线亚洲综合国产人 | 国产无套粉嫩白浆在线 | 国产乱人无码伦av在线a | 国产午夜亚洲精品不卡下载 | 久久精品一区二区三区四区 | 300部国产真实乱 | a在线亚洲男人的天堂 | 美女扒开屁股让男人桶 | 欧美精品无码一区二区三区 | 精品国产aⅴ无码一区二区 | 久久无码专区国产精品s | 亚洲欧美日韩综合久久久 | 精品国偷自产在线视频 | 亚洲欧洲日本无在线码 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 红桃av一区二区三区在线无码av | 纯爱无遮挡h肉动漫在线播放 | 亚洲色偷偷男人的天堂 | 久久亚洲a片com人成 | 精品少妇爆乳无码av无码专区 | 午夜时刻免费入口 | 国产热a欧美热a在线视频 | 国产成人一区二区三区在线观看 | 国产人妻精品一区二区三区不卡 | 国产无遮挡吃胸膜奶免费看 | 男人扒开女人内裤强吻桶进去 | 天天拍夜夜添久久精品 | 国产成人久久精品流白浆 | 亚洲成a人片在线观看无码3d | 露脸叫床粗话东北少妇 | 亚洲男人av天堂午夜在 | 18禁黄网站男男禁片免费观看 | 亚洲中文字幕乱码av波多ji | 国内精品九九久久久精品 | 一本久道久久综合狠狠爱 | 性生交大片免费看女人按摩摩 | 九月婷婷人人澡人人添人人爽 | 国产欧美熟妇另类久久久 | 色婷婷香蕉在线一区二区 | 在线精品国产一区二区三区 | 老子影院午夜伦不卡 | 小泽玛莉亚一区二区视频在线 | 性色欲情网站iwww九文堂 | 国产精品亚洲五月天高清 | 中文字幕日韩精品一区二区三区 | 天天躁夜夜躁狠狠是什么心态 | 精品国产成人一区二区三区 | 亚洲精品久久久久avwww潮水 | 国产精品18久久久久久麻辣 | 亚洲精品国产第一综合99久久 | 久久久久久久人妻无码中文字幕爆 | 久久久久亚洲精品男人的天堂 | 精品久久8x国产免费观看 | 日韩精品无码一本二本三本色 | 国产av一区二区精品久久凹凸 | 性色欲网站人妻丰满中文久久不卡 | 婷婷丁香六月激情综合啪 | 麻豆精品国产精华精华液好用吗 | 偷窥村妇洗澡毛毛多 | 久久精品国产日本波多野结衣 | 无码av免费一区二区三区试看 | 国产av一区二区精品久久凹凸 | 国产精品久久久久9999小说 | 欧美猛少妇色xxxxx | 在线a亚洲视频播放在线观看 | 人妻互换免费中文字幕 | 成 人影片 免费观看 | 国产超级va在线观看视频 | 性欧美牲交xxxxx视频 | 亚洲毛片av日韩av无码 | 亚洲色在线无码国产精品不卡 | 亚洲精品一区二区三区四区五区 | 日本www一道久久久免费榴莲 | 亚洲日韩乱码中文无码蜜桃臀网站 | 西西人体www44rt大胆高清 | 两性色午夜视频免费播放 | 蜜桃无码一区二区三区 | 亚洲国产精品美女久久久久 | 亚洲第一无码av无码专区 | 亚洲高清偷拍一区二区三区 | 一本色道久久综合狠狠躁 | 久久精品国产亚洲精品 | 久久久久国色av免费观看性色 | 国产精品无码一区二区桃花视频 | 国语精品一区二区三区 | 亚洲欧美日韩国产精品一区二区 | 色一情一乱一伦一视频免费看 | 日日噜噜噜噜夜夜爽亚洲精品 | 香蕉久久久久久av成人 | 亚洲人成网站色7799 | 少妇人妻av毛片在线看 | 国产av人人夜夜澡人人爽麻豆 | 99久久精品国产一区二区蜜芽 | 亚洲高清偷拍一区二区三区 | 377p欧洲日本亚洲大胆 | 无码福利日韩神码福利片 | 无码帝国www无码专区色综合 | 在线看片无码永久免费视频 | 一本无码人妻在中文字幕免费 | 激情亚洲一区国产精品 | 久久久无码中文字幕久... | 国精产品一区二区三区 | 久久综合香蕉国产蜜臀av | 日韩少妇内射免费播放 | 亚洲理论电影在线观看 | 国产成人综合在线女婷五月99播放 | 亚洲中文字幕va福利 | a国产一区二区免费入口 | 亚洲第一网站男人都懂 | 欧美日韩一区二区三区自拍 | 999久久久国产精品消防器材 | 日欧一片内射va在线影院 | 乱人伦中文视频在线观看 | 麻豆av传媒蜜桃天美传媒 | 欧美一区二区三区视频在线观看 | 成人aaa片一区国产精品 | 国语自产偷拍精品视频偷 | 欧洲欧美人成视频在线 | 色综合久久久无码网中文 | 天天做天天爱天天爽综合网 | 成人av无码一区二区三区 | 牛和人交xxxx欧美 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 美女张开腿让人桶 | 日本乱人伦片中文三区 | 国产97在线 | 亚洲 | 国产99久久精品一区二区 | 日本熟妇人妻xxxxx人hd | 激情五月综合色婷婷一区二区 | 国产女主播喷水视频在线观看 | 麻豆人妻少妇精品无码专区 | 成年美女黄网站色大免费视频 | 国产乱人伦av在线无码 | 麻豆人妻少妇精品无码专区 | 青青青手机频在线观看 | 少妇高潮喷潮久久久影院 | 精品久久久中文字幕人妻 | 久久综合久久自在自线精品自 | 狂野欧美性猛xxxx乱大交 | 正在播放老肥熟妇露脸 | 中文字幕人成乱码熟女app | 日本护士xxxxhd少妇 | 无码人妻少妇伦在线电影 | 色婷婷久久一区二区三区麻豆 | 无码毛片视频一区二区本码 | 成人一在线视频日韩国产 | 欧美丰满熟妇xxxx | 欧美日韩精品 | 在线看片无码永久免费视频 | www国产精品内射老师 | 亚洲国产欧美日韩精品一区二区三区 | 国产偷自视频区视频 | 亚洲日本一区二区三区在线 | 国产精品亚洲一区二区三区喷水 | 国产午夜无码精品免费看 | 欧洲美熟女乱又伦 | 亚洲成熟女人毛毛耸耸多 | 亚洲一区二区三区在线观看网站 | 日本爽爽爽爽爽爽在线观看免 | 装睡被陌生人摸出水好爽 | 国产人成高清在线视频99最全资源 | 国产精品亚洲一区二区三区喷水 | 在线观看国产一区二区三区 | 亚洲高清偷拍一区二区三区 | 午夜男女很黄的视频 | 国产一区二区三区精品视频 | 六月丁香婷婷色狠狠久久 | 久久无码人妻影院 | 精品无码成人片一区二区98 | 熟妇女人妻丰满少妇中文字幕 | 精品久久久久久人妻无码中文字幕 | 国产成人精品必看 | 久久久国产一区二区三区 | 六十路熟妇乱子伦 | 伊人久久婷婷五月综合97色 | 亚洲第一无码av无码专区 | 无人区乱码一区二区三区 | 俄罗斯老熟妇色xxxx | 99久久精品无码一区二区毛片 | 亚洲 激情 小说 另类 欧美 | 久久精品人妻少妇一区二区三区 | 国产亚洲精品久久久久久国模美 | 好男人社区资源 | 日韩欧美中文字幕在线三区 | 精品一区二区三区波多野结衣 | 国产精品对白交换视频 | 国产亚洲人成在线播放 | 日本饥渴人妻欲求不满 | 97夜夜澡人人爽人人喊中国片 | 免费无码av一区二区 | 77777熟女视频在线观看 а天堂中文在线官网 | 国产真人无遮挡作爱免费视频 | 夜先锋av资源网站 | 蜜臀aⅴ国产精品久久久国产老师 | 国产av无码专区亚洲a∨毛片 | 野狼第一精品社区 | 色老头在线一区二区三区 | 人人妻人人澡人人爽欧美一区 | 丰满少妇熟乱xxxxx视频 | 乱码午夜-极国产极内射 | 国产成人精品三级麻豆 | 无码av中文字幕免费放 | 好男人社区资源 | 最新国产乱人伦偷精品免费网站 | 少妇久久久久久人妻无码 | 欧美刺激性大交 | 波多野42部无码喷潮在线 | 久久久精品欧美一区二区免费 | 亚洲自偷精品视频自拍 | 在线亚洲高清揄拍自拍一品区 | 欧美xxxx黑人又粗又长 | 又色又爽又黄的美女裸体网站 | 亚洲一区二区三区四区 | 中国大陆精品视频xxxx | 亚洲性无码av中文字幕 | 76少妇精品导航 | 给我免费的视频在线观看 | 狂野欧美性猛交免费视频 | 无码任你躁久久久久久久 | 波多野结衣乳巨码无在线观看 | 亚洲精品无码国产 | 国产乱人伦av在线无码 | 午夜丰满少妇性开放视频 | 国产口爆吞精在线视频 | 天干天干啦夜天干天2017 | 最新版天堂资源中文官网 | 色婷婷av一区二区三区之红樱桃 | 国产精品视频免费播放 | 欧美 亚洲 国产 另类 | 天堂一区人妻无码 | 一个人看的www免费视频在线观看 | 免费人成在线视频无码 | 国产69精品久久久久app下载 | 扒开双腿吃奶呻吟做受视频 | 欧美变态另类xxxx | 在线精品国产一区二区三区 | 麻豆国产人妻欲求不满谁演的 | 人人爽人人爽人人片av亚洲 | 日韩少妇内射免费播放 | 2020久久超碰国产精品最新 | 中文字幕无码乱人伦 | 免费播放一区二区三区 | 免费国产成人高清在线观看网站 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 国产精品美女久久久久av爽李琼 | 久久久国产一区二区三区 | 日本www一道久久久免费榴莲 | 人妻体内射精一区二区三四 | 无码人妻精品一区二区三区下载 | 国产精品爱久久久久久久 | 亚洲成熟女人毛毛耸耸多 | 午夜精品一区二区三区的区别 | 国产成人av免费观看 | 奇米影视888欧美在线观看 | 天天做天天爱天天爽综合网 | yw尤物av无码国产在线观看 | 97久久国产亚洲精品超碰热 | 欧美人与善在线com | 强辱丰满人妻hd中文字幕 | 日日摸天天摸爽爽狠狠97 | 国产97色在线 | 免 | 人妻夜夜爽天天爽三区 | 东京无码熟妇人妻av在线网址 | 女人和拘做爰正片视频 | 亚洲国产精品一区二区美利坚 | 丁香花在线影院观看在线播放 | 久久久www成人免费毛片 | 国产人妻久久精品二区三区老狼 | 欧美日韩在线亚洲综合国产人 | 性做久久久久久久免费看 | 人妻中文无码久热丝袜 | 婷婷丁香五月天综合东京热 | 久久精品99久久香蕉国产色戒 | 国内揄拍国内精品少妇国语 | 国产一区二区三区四区五区加勒比 | 激情五月综合色婷婷一区二区 | 久久亚洲国产成人精品性色 | 亚洲国产精品久久人人爱 | 成人毛片一区二区 | 免费视频欧美无人区码 | 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲中文字幕久久无码 | 欧美日韩在线亚洲综合国产人 | 免费人成在线观看网站 | 丰满人妻一区二区三区免费视频 | 日本成熟视频免费视频 | 亚洲成av人片天堂网无码】 | 国产午夜福利100集发布 | 久久综合网欧美色妞网 | 亚洲男人av天堂午夜在 | 国产精品亚洲综合色区韩国 | 久久精品中文字幕大胸 | 亚洲熟妇色xxxxx欧美老妇y | 日韩精品无码免费一区二区三区 | 天下第一社区视频www日本 | 亚洲精品欧美二区三区中文字幕 | 99久久久国产精品无码免费 | 内射爽无广熟女亚洲 | 久久久国产精品无码免费专区 | av小次郎收藏 | 久久伊人色av天堂九九小黄鸭 | 夜夜躁日日躁狠狠久久av | 妺妺窝人体色www婷婷 | 中文字幕无码乱人伦 | 成人无码精品1区2区3区免费看 | 九九综合va免费看 | 久久久成人毛片无码 | 97色伦图片97综合影院 | 亚洲中文字幕av在天堂 | 精品亚洲韩国一区二区三区 | 国产精华av午夜在线观看 | 亚洲春色在线视频 | 亚洲另类伦春色综合小说 | 少妇无码一区二区二三区 | 女人被男人爽到呻吟的视频 | 亚洲狠狠婷婷综合久久 | 久久国语露脸国产精品电影 | 色一情一乱一伦 | 国产亚洲精品久久久久久久久动漫 | 色噜噜亚洲男人的天堂 | 午夜精品久久久久久久久 | 国产小呦泬泬99精品 | 国产精品丝袜黑色高跟鞋 | 天天躁日日躁狠狠躁免费麻豆 | 女高中生第一次破苞av | 国产成人无码av片在线观看不卡 | 亚洲国产精品一区二区美利坚 | 一本久久a久久精品亚洲 | 久久精品国产一区二区三区 | 纯爱无遮挡h肉动漫在线播放 | 欧美 日韩 人妻 高清 中文 | 日本丰满熟妇videos | 美女扒开屁股让男人桶 | 久久久av男人的天堂 | 欧美35页视频在线观看 | 日本成熟视频免费视频 | 成人无码影片精品久久久 | 国产色在线 | 国产 | 久久精品中文字幕大胸 | 未满成年国产在线观看 | 亚洲国产精品一区二区美利坚 | 日日躁夜夜躁狠狠躁 | 亚洲精品国产精品乱码视色 | 99精品无人区乱码1区2区3区 | 日韩av无码中文无码电影 | 欧美日韩一区二区免费视频 | 国产欧美亚洲精品a | 一本色道久久综合狠狠躁 | 久久久久se色偷偷亚洲精品av | 中文字幕无线码 | 亚洲男人av香蕉爽爽爽爽 | 熟妇人妻无码xxx视频 | 国产极品视觉盛宴 | 国产手机在线αⅴ片无码观看 | 日本xxxx色视频在线观看免费 | 亚洲狠狠婷婷综合久久 | 亚洲国产精品久久久天堂 | 亚洲 高清 成人 动漫 | 玩弄少妇高潮ⅹxxxyw | 亚洲热妇无码av在线播放 | 永久黄网站色视频免费直播 | 免费观看又污又黄的网站 | 青青久在线视频免费观看 | 亚洲自偷自偷在线制服 | 免费无码av一区二区 | 人妻无码αv中文字幕久久琪琪布 | 亚洲国产欧美日韩精品一区二区三区 | 久久综合九色综合欧美狠狠 | 国产亚洲精品久久久久久 | 久久人妻内射无码一区三区 | 国产精品亚洲а∨无码播放麻豆 | 欧美丰满老熟妇xxxxx性 | 国产卡一卡二卡三 | www成人国产高清内射 | 国产精品嫩草久久久久 | 久久久av男人的天堂 | 国产亚av手机在线观看 | 国产亚洲精品久久久久久大师 | 久久国产精品精品国产色婷婷 | 国产无套粉嫩白浆在线 | 76少妇精品导航 | 精品无码国产自产拍在线观看蜜 | 亚洲の无码国产の无码步美 | 性色欲网站人妻丰满中文久久不卡 | 狠狠亚洲超碰狼人久久 | 欧美精品免费观看二区 | 日韩精品无码一本二本三本色 | 精品一区二区不卡无码av | 久久精品国产亚洲精品 | 老熟女重囗味hdxx69 | 国产亚av手机在线观看 | 精品国精品国产自在久国产87 | 婷婷六月久久综合丁香 | 中文字幕日韩精品一区二区三区 | 亚洲 激情 小说 另类 欧美 | 高潮喷水的毛片 | 国产精品人人妻人人爽 | 色婷婷综合激情综在线播放 | 性色欲情网站iwww九文堂 | 欧美第一黄网免费网站 | 色噜噜亚洲男人的天堂 | 高潮毛片无遮挡高清免费视频 | 色一情一乱一伦一区二区三欧美 | 亚洲成av人片在线观看无码不卡 | 成熟妇人a片免费看网站 | 在线观看国产午夜福利片 | 又大又硬又爽免费视频 | 国产亚洲日韩欧美另类第八页 | 18精品久久久无码午夜福利 | 精品偷拍一区二区三区在线看 | 亚洲另类伦春色综合小说 | 少妇人妻av毛片在线看 | 高潮喷水的毛片 | 精品厕所偷拍各类美女tp嘘嘘 | 国产精品久久久久久久影院 | 强辱丰满人妻hd中文字幕 | 欧美真人作爱免费视频 | 亚洲s码欧洲m码国产av | 无套内谢的新婚少妇国语播放 | 国产av一区二区三区最新精品 | 青青草原综合久久大伊人精品 | www国产亚洲精品久久久日本 | 一本久久a久久精品vr综合 | 无码人妻出轨黑人中文字幕 | 成人免费视频在线观看 | 日韩精品无码一区二区中文字幕 | 蜜臀aⅴ国产精品久久久国产老师 | 国产熟妇高潮叫床视频播放 | 国产亚洲美女精品久久久2020 | 亚洲日韩一区二区 | 精品无人区无码乱码毛片国产 | 白嫩日本少妇做爰 | 青青青爽视频在线观看 | 97精品人妻一区二区三区香蕉 | 性欧美疯狂xxxxbbbb | 又粗又大又硬毛片免费看 | 国产性生大片免费观看性 | 人人爽人人澡人人人妻 | 国产乱人偷精品人妻a片 | 一本久道高清无码视频 | 激情内射亚州一区二区三区爱妻 | 九月婷婷人人澡人人添人人爽 | 少妇人妻偷人精品无码视频 | 成人精品视频一区二区 | 婷婷丁香六月激情综合啪 | 日本熟妇乱子伦xxxx | 粉嫩少妇内射浓精videos | 国产精品无码一区二区三区不卡 | 欧美激情一区二区三区成人 | 97资源共享在线视频 | 精品欧洲av无码一区二区三区 | 精品无码av一区二区三区 | 久久久成人毛片无码 | 国产口爆吞精在线视频 | 亚洲色www成人永久网址 | 内射后入在线观看一区 | 少妇人妻偷人精品无码视频 | 精品国产精品久久一区免费式 | 久久久久99精品成人片 | 久久99精品国产麻豆蜜芽 | 国产乱人无码伦av在线a | 亚洲午夜福利在线观看 | 久久午夜无码鲁丝片 | 丰满少妇弄高潮了www | 粉嫩少妇内射浓精videos | 久久精品女人的天堂av | 奇米影视888欧美在线观看 | 久久伊人色av天堂九九小黄鸭 | 色婷婷综合激情综在线播放 | 亚洲精品久久久久久一区二区 | 色婷婷香蕉在线一区二区 | 国产9 9在线 | 中文 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 午夜精品久久久久久久 | 亚洲国产精品无码久久久久高潮 | 精品无码国产自产拍在线观看蜜 | 免费网站看v片在线18禁无码 | 成人无码影片精品久久久 | 成人精品视频一区二区三区尤物 | 在线精品国产一区二区三区 | 国产熟女一区二区三区四区五区 | 中文字幕人妻无码一区二区三区 | 大肉大捧一进一出视频出来呀 | 国产9 9在线 | 中文 | 久久天天躁狠狠躁夜夜免费观看 | 国产女主播喷水视频在线观看 | 国产精品丝袜黑色高跟鞋 | 蜜桃视频韩日免费播放 | 国产亚洲美女精品久久久2020 | 精品欧美一区二区三区久久久 | 亚洲自偷自拍另类第1页 | 色综合久久网 | 成人免费视频在线观看 | 国产成人无码a区在线观看视频app | 欧美一区二区三区视频在线观看 | 亚洲小说春色综合另类 | 亚洲爆乳大丰满无码专区 | 2020久久超碰国产精品最新 | 亚洲成av人在线观看网址 | 中文字幕人妻无码一区二区三区 | 国产av一区二区精品久久凹凸 | 97夜夜澡人人爽人人喊中国片 | 欧美国产日产一区二区 | ass日本丰满熟妇pics | 人妻中文无码久热丝袜 | 欧美人与禽zoz0性伦交 | 成人精品视频一区二区三区尤物 | 亚洲精品鲁一鲁一区二区三区 | 玩弄少妇高潮ⅹxxxyw | 国产熟妇另类久久久久 | 中文字幕av日韩精品一区二区 | 国产亚洲精品久久久久久久久动漫 | 天下第一社区视频www日本 | 久久熟妇人妻午夜寂寞影院 | 日韩成人一区二区三区在线观看 | 亚洲成在人网站无码天堂 | 高中生自慰www网站 | 99精品无人区乱码1区2区3区 | 日韩亚洲欧美精品综合 | 任你躁在线精品免费 | www成人国产高清内射 | 乌克兰少妇性做爰 | 成人aaa片一区国产精品 | 九九热爱视频精品 | 一二三四社区在线中文视频 | 欧美国产亚洲日韩在线二区 | 日欧一片内射va在线影院 | 亚洲成av人影院在线观看 | 亚洲の无码国产の无码步美 | 色五月五月丁香亚洲综合网 | 人人超人人超碰超国产 | 欧洲熟妇色 欧美 | 欧美兽交xxxx×视频 | 久久久久久久人妻无码中文字幕爆 | 亚洲熟妇色xxxxx欧美老妇y | 久久天天躁狠狠躁夜夜免费观看 | 国产一区二区不卡老阿姨 | 黑森林福利视频导航 | 欧美三级不卡在线观看 | 国产熟妇高潮叫床视频播放 | 精品一区二区不卡无码av | 欧美兽交xxxx×视频 | 狠狠色噜噜狠狠狠狠7777米奇 | 少妇一晚三次一区二区三区 | 国产高潮视频在线观看 | 国产精品久久久av久久久 | 国产免费无码一区二区视频 | www国产亚洲精品久久网站 | 丰满少妇弄高潮了www | 日韩人妻少妇一区二区三区 | 国产成人亚洲综合无码 | 少妇厨房愉情理9仑片视频 | 粉嫩少妇内射浓精videos | 免费无码午夜福利片69 | 天堂一区人妻无码 | 又粗又大又硬又长又爽 | 国产精品内射视频免费 | 国产精品无码久久av | 无码人妻精品一区二区三区下载 | 国产成人无码av在线影院 | 草草网站影院白丝内射 | 学生妹亚洲一区二区 | 国产成人无码区免费内射一片色欲 | 强伦人妻一区二区三区视频18 | 强辱丰满人妻hd中文字幕 | 麻豆人妻少妇精品无码专区 | 欧美真人作爱免费视频 | 日日橹狠狠爱欧美视频 | 国产特级毛片aaaaaa高潮流水 | 好屌草这里只有精品 | 青青草原综合久久大伊人精品 | 男女爱爱好爽视频免费看 | 国产精品a成v人在线播放 | 国产又爽又猛又粗的视频a片 | 国产在线无码精品电影网 | 亚洲精品欧美二区三区中文字幕 | 狠狠亚洲超碰狼人久久 | 少妇的肉体aa片免费 | 久久综合色之久久综合 | 性史性农村dvd毛片 | 日本高清一区免费中文视频 | 1000部啪啪未满十八勿入下载 | 成人无码精品一区二区三区 | 一区二区三区高清视频一 | 欧美国产日韩亚洲中文 | 曰韩无码二三区中文字幕 | 国产两女互慰高潮视频在线观看 | 久久aⅴ免费观看 | 中文无码成人免费视频在线观看 | 性做久久久久久久免费看 | 国产精品人妻一区二区三区四 | 帮老师解开蕾丝奶罩吸乳网站 | 日本一卡2卡3卡四卡精品网站 | 亚洲 另类 在线 欧美 制服 | 撕开奶罩揉吮奶头视频 | 国产suv精品一区二区五 | 久久久久久a亚洲欧洲av冫 | 人人爽人人爽人人片av亚洲 | 国产无遮挡吃胸膜奶免费看 | 99久久久无码国产精品免费 | 色爱情人网站 | 99久久精品日本一区二区免费 | 午夜福利不卡在线视频 | 国产精品嫩草久久久久 | 国产精品内射视频免费 | 国产内射老熟女aaaa | 欧美高清在线精品一区 | 婷婷五月综合激情中文字幕 | 人妻无码久久精品人妻 | 国产suv精品一区二区五 | 无码人中文字幕 | 国产亚洲日韩欧美另类第八页 | 十八禁视频网站在线观看 | 中文字幕无码免费久久99 | 国产成人一区二区三区在线观看 | 国产亚洲tv在线观看 | 白嫩日本少妇做爰 | 蜜桃臀无码内射一区二区三区 | 亚洲娇小与黑人巨大交 | 亚洲日本一区二区三区在线 | 水蜜桃色314在线观看 | 久久久久99精品国产片 | 综合人妻久久一区二区精品 | 国产女主播喷水视频在线观看 | 丰腴饱满的极品熟妇 | 亚洲の无码国产の无码影院 | 日韩av激情在线观看 | 亚洲毛片av日韩av无码 | 伊在人天堂亚洲香蕉精品区 | 激情内射亚州一区二区三区爱妻 | 日本爽爽爽爽爽爽在线观看免 | 婷婷丁香六月激情综合啪 | 中国女人内谢69xxxx | 黑人粗大猛烈进出高潮视频 | 国产精品亚洲lv粉色 | 黑人粗大猛烈进出高潮视频 | 国产九九九九九九九a片 | 欧美35页视频在线观看 | 久久无码人妻影院 | 久久五月精品中文字幕 | 亚洲成a人片在线观看无码 | 2019nv天堂香蕉在线观看 | 国产av一区二区三区最新精品 | 成人免费无码大片a毛片 | √8天堂资源地址中文在线 | 国产又粗又硬又大爽黄老大爷视 | 国产在线精品一区二区三区直播 | 国产精品久久精品三级 | 国产美女极度色诱视频www | 国产亚洲视频中文字幕97精品 | 国产精品久久久久无码av色戒 | 成人一在线视频日韩国产 | 亚洲色成人中文字幕网站 | 天干天干啦夜天干天2017 | 精品一区二区三区无码免费视频 | 给我免费的视频在线观看 | 蜜桃av抽搐高潮一区二区 | 熟妇人妻激情偷爽文 | 色五月丁香五月综合五月 | 欧美怡红院免费全部视频 | 亚洲无人区午夜福利码高清完整版 | 色综合久久88色综合天天 | 国产超级va在线观看视频 | 国产精品亚洲а∨无码播放麻豆 | 国产午夜精品一区二区三区嫩草 | 亚洲欧美综合区丁香五月小说 | 狠狠噜狠狠狠狠丁香五月 | 国产精品怡红院永久免费 | 亚洲高清偷拍一区二区三区 | 人人妻人人澡人人爽欧美精品 | 一本久道久久综合婷婷五月 | 精品一区二区三区无码免费视频 | 国产又爽又黄又刺激的视频 | 激情内射亚州一区二区三区爱妻 | 亚洲中文字幕无码一久久区 | 全黄性性激高免费视频 | 亚洲国产欧美在线成人 | 亚洲色无码一区二区三区 | 国内精品久久久久久中文字幕 | 牲交欧美兽交欧美 | 午夜精品一区二区三区的区别 | 国产明星裸体无码xxxx视频 | 99久久99久久免费精品蜜桃 | 欧美成人午夜精品久久久 | 色婷婷香蕉在线一区二区 | 亚洲综合在线一区二区三区 | 国内精品久久毛片一区二区 | 中文字幕无码热在线视频 | 国产女主播喷水视频在线观看 | 国产精品国产自线拍免费软件 | 国产三级精品三级男人的天堂 | 亚洲欧洲日本综合aⅴ在线 | 欧美精品无码一区二区三区 | 日日摸夜夜摸狠狠摸婷婷 | 日韩 欧美 动漫 国产 制服 | 最新国产麻豆aⅴ精品无码 | 国产精品99爱免费视频 | 欧洲vodafone精品性 | 狠狠色噜噜狠狠狠狠7777米奇 | 久久精品国产亚洲精品 | 日本一区二区更新不卡 | 精品国产青草久久久久福利 | 极品嫩模高潮叫床 | 精品久久久中文字幕人妻 | 精品少妇爆乳无码av无码专区 | 国产无遮挡吃胸膜奶免费看 | 久久99精品久久久久婷婷 | 欧美刺激性大交 | 中文字幕日韩精品一区二区三区 | 色欲av亚洲一区无码少妇 | 中文亚洲成a人片在线观看 | 国产极品美女高潮无套在线观看 | 麻豆md0077饥渴少妇 | 欧美真人作爱免费视频 | 麻豆精品国产精华精华液好用吗 | 亚洲 日韩 欧美 成人 在线观看 | 四虎永久在线精品免费网址 | 粉嫩少妇内射浓精videos | 中文字幕无码av波多野吉衣 | 少妇厨房愉情理9仑片视频 | 十八禁真人啪啪免费网站 | 日本精品高清一区二区 | 国产人妖乱国产精品人妖 | 性色欲网站人妻丰满中文久久不卡 | 999久久久国产精品消防器材 | 天海翼激烈高潮到腰振不止 | 美女张开腿让人桶 | 欧美人与善在线com | 中文亚洲成a人片在线观看 | 国产黑色丝袜在线播放 | 欧美精品国产综合久久 | 俺去俺来也在线www色官网 | 特级做a爰片毛片免费69 | 清纯唯美经典一区二区 | 丰满人妻翻云覆雨呻吟视频 | 日本肉体xxxx裸交 | 亚洲成av人片天堂网无码】 | 亚洲成av人影院在线观看 | 亚洲狠狠色丁香婷婷综合 | 国内综合精品午夜久久资源 | 国产在线精品一区二区三区直播 | 激情内射日本一区二区三区 | 日韩av无码一区二区三区不卡 | 夫妻免费无码v看片 | 狂野欧美性猛交免费视频 | 国语自产偷拍精品视频偷 | 高清无码午夜福利视频 | 国产sm调教视频在线观看 | 亚洲第一网站男人都懂 | 装睡被陌生人摸出水好爽 | 久久久成人毛片无码 | 精品无码成人片一区二区98 | 一本久久a久久精品vr综合 | 国产精品人人妻人人爽 | 国产av人人夜夜澡人人爽麻豆 | 国产美女精品一区二区三区 | 又大又紧又粉嫩18p少妇 | www成人国产高清内射 | 免费观看的无遮挡av | 亚洲精品鲁一鲁一区二区三区 | 亚洲精品久久久久久一区二区 | 国产成人无码av一区二区 | 亚洲第一无码av无码专区 | 东京热男人av天堂 | 欧美国产亚洲日韩在线二区 | 日韩精品无码一本二本三本色 | 欧洲精品码一区二区三区免费看 | 欧美日本精品一区二区三区 | 国产av无码专区亚洲a∨毛片 | 日韩av无码中文无码电影 | 一本无码人妻在中文字幕免费 | 性生交大片免费看女人按摩摩 | 奇米影视888欧美在线观看 | 国产成人久久精品流白浆 | 丰满少妇弄高潮了www | 国产特级毛片aaaaaaa高清 | 欧美午夜特黄aaaaaa片 | 自拍偷自拍亚洲精品被多人伦好爽 | 日韩亚洲欧美精品综合 | 日韩精品无码免费一区二区三区 | 久青草影院在线观看国产 | 丰满岳乱妇在线观看中字无码 | 水蜜桃色314在线观看 | 国产97色在线 | 免 | 午夜时刻免费入口 | 婷婷综合久久中文字幕蜜桃三电影 | a片在线免费观看 | 久久午夜无码鲁丝片 | 无码帝国www无码专区色综合 | 中文字幕中文有码在线 | 欧美日韩一区二区三区自拍 | 搡女人真爽免费视频大全 | 97人妻精品一区二区三区 | 欧美日韩视频无码一区二区三 | 久久综合网欧美色妞网 | www国产亚洲精品久久久日本 | 偷窥村妇洗澡毛毛多 | 日本精品人妻无码77777 天堂一区人妻无码 | 午夜性刺激在线视频免费 | 少妇高潮一区二区三区99 | 国产无遮挡又黄又爽免费视频 | 自拍偷自拍亚洲精品被多人伦好爽 | 日本护士毛茸茸高潮 | 亚洲午夜无码久久 | 国产成人一区二区三区别 | 亚洲中文字幕久久无码 | 蜜桃视频插满18在线观看 | 最新国产麻豆aⅴ精品无码 | 免费看男女做好爽好硬视频 | 无码国产激情在线观看 | 丝袜美腿亚洲一区二区 | 亚洲の无码国产の无码步美 | 少女韩国电视剧在线观看完整 | 亚洲 a v无 码免 费 成 人 a v | 午夜无码人妻av大片色欲 | 人人妻人人澡人人爽欧美一区九九 | 久久精品国产亚洲精品 | 成人精品视频一区二区 | 亚洲人成影院在线观看 | 国产av剧情md精品麻豆 | 国产精品a成v人在线播放 | 无码人妻丰满熟妇区毛片18 | 久久久久av无码免费网 | 99久久人妻精品免费二区 | 亚洲 日韩 欧美 成人 在线观看 | 国产电影无码午夜在线播放 | 亚洲日韩一区二区 | 天堂亚洲2017在线观看 | 国产激情综合五月久久 | 精品成在人线av无码免费看 | 人人超人人超碰超国产 | 色情久久久av熟女人妻网站 | 午夜福利电影 | 亚洲精品国产精品乱码不卡 | 亚洲成a人片在线观看无码 | 亚洲中文字幕无码中文字在线 | 亚洲精品一区二区三区在线观看 | 日本一区二区三区免费高清 | 日韩亚洲欧美中文高清在线 | 国产成人久久精品流白浆 | 性欧美牲交在线视频 | 纯爱无遮挡h肉动漫在线播放 | 77777熟女视频在线观看 а天堂中文在线官网 | 色一情一乱一伦 | 天天躁夜夜躁狠狠是什么心态 | 激情综合激情五月俺也去 | 久久99久久99精品中文字幕 | 日本大香伊一区二区三区 | 亚洲国产欧美在线成人 | 欧美zoozzooz性欧美 | 国产精品国产三级国产专播 | 俺去俺来也在线www色官网 | 国产情侣作爱视频免费观看 | 免费无码的av片在线观看 | 免费视频欧美无人区码 | 精品偷自拍另类在线观看 | 97久久精品无码一区二区 | 国产精品久久久久久亚洲毛片 | 精品无码一区二区三区的天堂 | 女人被爽到呻吟gif动态图视看 | 国产特级毛片aaaaaa高潮流水 | 久久人人97超碰a片精品 | 国产偷国产偷精品高清尤物 | 在线看片无码永久免费视频 | 精品一区二区三区无码免费视频 | 天堂久久天堂av色综合 | 无遮挡国产高潮视频免费观看 | 欧美 日韩 人妻 高清 中文 | 99久久精品无码一区二区毛片 | 国产做国产爱免费视频 | 最新国产乱人伦偷精品免费网站 | 国产激情综合五月久久 | 噜噜噜亚洲色成人网站 | 伊人久久大香线蕉午夜 | 偷窥日本少妇撒尿chinese | 高潮毛片无遮挡高清免费 | 自拍偷自拍亚洲精品被多人伦好爽 | 天堂久久天堂av色综合 | 国产福利视频一区二区 | 婷婷丁香五月天综合东京热 | а天堂中文在线官网 | 亚洲精品一区二区三区婷婷月 | 人人妻人人澡人人爽人人精品浪潮 | 欧美 日韩 亚洲 在线 | 国产99久久精品一区二区 | 中国女人内谢69xxxxxa片 | 999久久久国产精品消防器材 | 天天爽夜夜爽夜夜爽 | 久激情内射婷内射蜜桃人妖 | 麻豆国产丝袜白领秘书在线观看 | 久久精品国产日本波多野结衣 | 亚洲乱亚洲乱妇50p | 少妇久久久久久人妻无码 | 亚洲区小说区激情区图片区 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 亚洲日韩精品欧美一区二区 | 最近的中文字幕在线看视频 | 在线精品亚洲一区二区 | 亚洲 另类 在线 欧美 制服 | 少妇太爽了在线观看 | 一本无码人妻在中文字幕免费 | 国产精品.xx视频.xxtv | 欧美freesex黑人又粗又大 | 国产精品久久久久无码av色戒 | 欧美变态另类xxxx | 精品国产福利一区二区 | 精品偷自拍另类在线观看 | 亚洲国产高清在线观看视频 | 麻豆果冻传媒2021精品传媒一区下载 | 97人妻精品一区二区三区 | 无码国产乱人伦偷精品视频 | 午夜精品一区二区三区的区别 | 精品偷自拍另类在线观看 | 欧美国产亚洲日韩在线二区 | 国内少妇偷人精品视频免费 | 中文字幕人成乱码熟女app | 综合人妻久久一区二区精品 | 初尝人妻少妇中文字幕 | 婷婷丁香五月天综合东京热 | 日韩精品a片一区二区三区妖精 | 国精产品一区二区三区 | 台湾无码一区二区 | 国产一区二区三区四区五区加勒比 | 国产精品嫩草久久久久 | 熟女体下毛毛黑森林 | 老太婆性杂交欧美肥老太 | 装睡被陌生人摸出水好爽 | 无码毛片视频一区二区本码 | 天天摸天天透天天添 | 亚洲一区av无码专区在线观看 | 日韩欧美群交p片內射中文 | аⅴ资源天堂资源库在线 | 精品国产青草久久久久福利 | 亚洲国产欧美日韩精品一区二区三区 | 鲁大师影院在线观看 | 国产成人精品一区二区在线小狼 | 亚洲欧美国产精品专区久久 | 国色天香社区在线视频 | 久久久久久亚洲精品a片成人 | 久久久久久av无码免费看大片 | 精品国精品国产自在久国产87 | 亚洲天堂2017无码 | 亚洲阿v天堂在线 | 天天av天天av天天透 | 午夜精品一区二区三区的区别 | 学生妹亚洲一区二区 | 成人片黄网站色大片免费观看 | 中文字幕乱码中文乱码51精品 | 欧美 日韩 人妻 高清 中文 | 丰满人妻精品国产99aⅴ | 成人欧美一区二区三区黑人 | 久久久中文字幕日本无吗 | 玩弄中年熟妇正在播放 | 国产成人精品视频ⅴa片软件竹菊 | 动漫av网站免费观看 | 久久精品国产一区二区三区 | 中文字幕亚洲情99在线 | 久久综合狠狠综合久久综合88 | 99久久精品无码一区二区毛片 | 水蜜桃亚洲一二三四在线 | 国产福利视频一区二区 | 成熟女人特级毛片www免费 | 一区二区三区乱码在线 | 欧洲 | 国产精华av午夜在线观看 | 一个人看的视频www在线 | 亚洲aⅴ无码成人网站国产app | 福利一区二区三区视频在线观看 | 国精品人妻无码一区二区三区蜜柚 | 亚洲精品久久久久久一区二区 | 一本久久a久久精品亚洲 | 国产成人无码a区在线观看视频app | 日韩欧美群交p片內射中文 | 久久综合香蕉国产蜜臀av | 国产精品多人p群无码 | 国产亚洲精品久久久久久 | 国产人妻人伦精品 | 国产无av码在线观看 | 99久久久国产精品无码免费 | 中文字幕日产无线码一区 | 午夜精品一区二区三区的区别 | 一个人免费观看的www视频 | 亚洲精品中文字幕 | 亚洲熟妇色xxxxx欧美老妇 | 欧美肥老太牲交大战 | 女高中生第一次破苞av | 国产午夜精品一区二区三区嫩草 | 牲交欧美兽交欧美 | 国产精品亚洲а∨无码播放麻豆 | 极品尤物被啪到呻吟喷水 | 亚洲日本一区二区三区在线 | 熟女俱乐部五十路六十路av | 国产精品人人妻人人爽 | 人妻无码αv中文字幕久久琪琪布 | 精品国产福利一区二区 | 国产精品久久久午夜夜伦鲁鲁 | 色婷婷综合中文久久一本 | 精品久久久久久人妻无码中文字幕 | 男人和女人高潮免费网站 | 小鲜肉自慰网站xnxx | 免费无码一区二区三区蜜桃大 | 丰满少妇女裸体bbw | 亚洲精品国偷拍自产在线麻豆 | 四虎永久在线精品免费网址 | 少妇无码一区二区二三区 | 国产亚洲精品久久久久久国模美 | 成人无码精品1区2区3区免费看 | 小sao货水好多真紧h无码视频 | 亚洲国产精品毛片av不卡在线 | 欧美国产日产一区二区 | 久久午夜无码鲁丝片秋霞 | 无码成人精品区在线观看 | 四虎国产精品一区二区 | 偷窥日本少妇撒尿chinese | 亚洲精品中文字幕久久久久 | 狠狠色色综合网站 | 精品 日韩 国产 欧美 视频 | 黑人粗大猛烈进出高潮视频 | 中文字幕无码日韩欧毛 | 无码吃奶揉捏奶头高潮视频 | 欧美人与善在线com | 成人无码精品一区二区三区 | 妺妺窝人体色www在线小说 | 日本熟妇浓毛 | 老头边吃奶边弄进去呻吟 | 婷婷丁香五月天综合东京热 | 色一情一乱一伦一视频免费看 | 亚洲国产午夜精品理论片 | 欧美性猛交xxxx富婆 | 欧美黑人乱大交 | 亚洲国产成人av在线观看 | 呦交小u女精品视频 | 国产内射老熟女aaaa | 亚洲综合精品香蕉久久网 | 久久99精品久久久久婷婷 | 奇米影视7777久久精品人人爽 | 嫩b人妻精品一区二区三区 | 亚洲国产日韩a在线播放 | 成人亚洲精品久久久久 | 狂野欧美性猛xxxx乱大交 | 精品无码国产自产拍在线观看蜜 | 亚洲经典千人经典日产 | 精品久久久久久人妻无码中文字幕 | 亚洲天堂2017无码中文 | 欧洲熟妇色 欧美 | 樱花草在线播放免费中文 | 亚洲呦女专区 | 亚洲经典千人经典日产 | 人妻无码αv中文字幕久久琪琪布 | 人人澡人人妻人人爽人人蜜桃 | 亚洲日本va中文字幕 | 成在人线av无码免费 | 国语精品一区二区三区 | 影音先锋中文字幕无码 | 亚洲色在线无码国产精品不卡 | 亚洲人成网站色7799 | 成人精品一区二区三区中文字幕 | 日韩成人一区二区三区在线观看 | 人妻少妇精品无码专区二区 | a国产一区二区免费入口 | 又大又硬又黄的免费视频 | 99久久无码一区人妻 | 98国产精品综合一区二区三区 | 亚洲综合精品香蕉久久网 | 亚洲春色在线视频 | 波多野结衣高清一区二区三区 | 国产色视频一区二区三区 | 久久亚洲日韩精品一区二区三区 | 国产色xx群视频射精 | 人妻少妇被猛烈进入中文字幕 | 亚洲欧美国产精品专区久久 | 精品亚洲韩国一区二区三区 | 国内精品一区二区三区不卡 | 强奷人妻日本中文字幕 | 国产后入清纯学生妹 | 99在线 | 亚洲 | 精品国产乱码久久久久乱码 | 老司机亚洲精品影院 | 日韩人妻无码中文字幕视频 | 影音先锋中文字幕无码 | 中文字幕无码人妻少妇免费 | 天堂在线观看www | 一本大道久久东京热无码av | 亚洲日韩av一区二区三区中文 | 未满小14洗澡无码视频网站 | 精品久久久无码中文字幕 | 国产内射老熟女aaaa | 中文字幕av伊人av无码av | 国产成人无码av在线影院 | 全黄性性激高免费视频 | 99久久精品国产一区二区蜜芽 | 国产精品va在线播放 | 欧美日韩一区二区三区自拍 | 无码人妻丰满熟妇区五十路百度 | 波多野结衣乳巨码无在线观看 | 亚洲 日韩 欧美 成人 在线观看 | 天天拍夜夜添久久精品大 | av无码电影一区二区三区 | 国产精品.xx视频.xxtv | 亚洲午夜久久久影院 | 欧美人妻一区二区三区 | 亚洲色大成网站www | 国产又粗又硬又大爽黄老大爷视 | 亚洲国产精品无码久久久久高潮 | 色婷婷香蕉在线一区二区 | 久久精品人妻少妇一区二区三区 | 日本乱人伦片中文三区 | 撕开奶罩揉吮奶头视频 | 性欧美牲交在线视频 | 色五月丁香五月综合五月 | 亚洲精品美女久久久久久久 | 国产精品嫩草久久久久 | 男女性色大片免费网站 | 麻豆md0077饥渴少妇 | 色窝窝无码一区二区三区色欲 | 久久久久久久久888 | 国产香蕉97碰碰久久人人 | 荫蒂被男人添的好舒服爽免费视频 | 午夜成人1000部免费视频 | 久久亚洲中文字幕无码 | 日本护士毛茸茸高潮 | 激情国产av做激情国产爱 | 天天拍夜夜添久久精品大 | 日本肉体xxxx裸交 | 久久 国产 尿 小便 嘘嘘 |