成人麻豆免费视频精品区,校园春色中文字幕人妻,69国产亚洲精品成人av久久,男女激情久久免费国产,欧美一区二区三区4区,欧美狠狠爱第三页视频,120日本少妇视频,79自拍视频在线观看,中文字幕丝袜美腿一二三区

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) 經(jīng)典的25道JavaScript 面試問(wèn)題及答案

經(jīng)典的25道JavaScript 面試問(wèn)題及答案

更新時(shí)間:2019-07-29 17:16:59 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3387次


1.使用 typeof bar === "object" 來(lái)確定 bar 是否是對(duì)象的潛在陷阱是什么?如何避免這個(gè)陷阱?


盡管 typeof bar === "object" 是檢查 bar 是否對(duì)象的可靠方法,令人驚訝的是在JavaScript中 null 也被認(rèn)為是對(duì)象!


因此,令大多數(shù)開(kāi)發(fā)人員驚訝的是,下面的代碼將輸出 true (而不是false) 到控制臺(tái):


var bar = null;console.log(typeof bar === "object"); // logs true!


只要清楚這一點(diǎn),同時(shí)檢查 bar 是否為 null,就可以很容易地避免問(wèn)題:


console.log((bar !== null) && (typeof bar === "object")); // logs false


要答全問(wèn)題,還有其他兩件事情值得注意:


首先,上述解決方案將返回 false,當(dāng) bar 是一個(gè)函數(shù)的時(shí)候。在大多數(shù)情況下,這是期望行為,但當(dāng)你也想對(duì)函數(shù)返回 true 的話,你可以修改上面的解決方案為:


console.log((bar !== null) && ((typeof bar === "object") || (typeof bar === "function")));


第二,上述解決方案將返回 true,當(dāng) bar 是一個(gè)數(shù)組(例如,當(dāng) var bar = [];)的時(shí)候。在大多數(shù)情況下,這是期望行為,因?yàn)閿?shù)組是真正的對(duì)象,但當(dāng)你也想對(duì)數(shù)組返回 false 時(shí),你可以修改上面的解決方案為:


console.log((bar !== null) && (typeof bar === "object") && (toString.call(bar) !== "[object Array]"));


或者,如果你使用jQuery的話:


console.log((bar !== null) && (typeof bar === "object") && (! $.isArray(bar)));



2.下面的代碼將輸出什么到控制臺(tái),為什么?


(function(){ var a = b = 3;


})(); console.log("a defined? " + (typeof a !== 'undefined'));console.log("b defined? " + (typeof b !== 'undefined'));


由于 a 和 b 都定義在函數(shù)的封閉范圍內(nèi),并且都始于 var關(guān)鍵字,大多數(shù)JavaScript開(kāi)發(fā)人員期望 typeof a 和 typeof b 在上面的例子中都是undefined。


然而,事實(shí)并非如此。這里的問(wèn)題是,大多數(shù)開(kāi)發(fā)人員將語(yǔ)句 var a = b = 3; 錯(cuò)誤地理解為是以下聲明的簡(jiǎn)寫(xiě):


var b = 3;var a = b;


但事實(shí)上,var a = b = 3; 實(shí)際是以下聲明的簡(jiǎn)寫(xiě):


b = 3;var a = b;


因此(如果你不使用嚴(yán)格模式的話),該代碼段的輸出是:


a defined? falseb defined? true


但是, b 如何才能被定義在封閉函數(shù)的范圍之外呢?是的,既然語(yǔ)句 var a = b = 3; 是語(yǔ)句 b = 3; 和 var a = b;的簡(jiǎn)寫(xiě), b 最終成為了一個(gè)全局變量(因?yàn)樗鼪](méi)有前綴 var 關(guān)鍵字),因此仍然在范圍內(nèi)甚至封閉函數(shù)之外。


需要注意的是,在嚴(yán)格模式下(即使用 use strict),語(yǔ)句var a = b = 3; 將生成ReferenceError: b is not defined的運(yùn)行時(shí)錯(cuò)誤,從而避免任何否則可能會(huì)導(dǎo)致的headfakes /bug。 (還是你為什么應(yīng)該理所當(dāng)然地在代碼中使用 use strict 的最好例子!)



3.下面的代碼將輸出什么到控制臺(tái),為什么?


var myObject = {


foo: "bar",};


myObject.func();


上面的代碼將輸出以下內(nèi)容到控制臺(tái):


outer func: this.foo = bar


outer func: self.foo = bar


inner func: this.foo = undefined


inner func: self.foo = bar


在外部函數(shù)中, this 和self 兩者都指向了 myObject,因此兩者都可以正確地引用和訪問(wèn) foo。


在內(nèi)部函數(shù)中, this 不再指向 myObject。其結(jié)果是,this.foo 沒(méi)有在內(nèi)部函數(shù)中被定義,相反,指向到本地的變量self 保持在范圍內(nèi),并且可以訪問(wèn)。 (在ECMA 5之前,在內(nèi)部函數(shù)中的this 將指向全局的 window 對(duì)象;反之,因?yàn)樽鳛镋CMA 5,內(nèi)部函數(shù)中的功能this 是未定義的。)



4.封裝JavaScript源文件的全部?jī)?nèi)容到一個(gè)函數(shù)塊有什么意義及理由?


這是一個(gè)越來(lái)越普遍的做法,被許多流行的JavaScript庫(kù)(jQuery,Node.js等)采用。這種技術(shù)創(chuàng)建了一個(gè)圍繞文件全部?jī)?nèi)容的閉包,也許是最重要的是,創(chuàng)建了一個(gè)私有的命名空間,從而有助于避免不同JavaScript模塊和庫(kù)之間潛在的名稱(chēng)沖突。


這種技術(shù)的另一個(gè)特點(diǎn)是,允許一個(gè)易于引用的(假設(shè)更短的)別名用于全局變量。這通常用于,例如,jQuery插件中。jQuery允許你使用jQuery.noConflict(),來(lái)禁用 $ 引用到j(luò)Query命名空間。在完成這項(xiàng)工作之后,你的代碼仍然可以使用$ 利用這種閉包技術(shù),如下所示:


(function($) { /* jQuery plugin code referencing $ */ } )(jQuery);



5.在JavaScript源文件的開(kāi)頭包含 use strict 有什么意義和好處?


對(duì)于這個(gè)問(wèn)題,既簡(jiǎn)要又最重要的答案是,use strict 是一種在JavaScript代碼運(yùn)行時(shí)自動(dòng)實(shí)行更嚴(yán)格解析和錯(cuò)誤處理的方法。那些被忽略或默默失敗了的代碼錯(cuò)誤,會(huì)產(chǎn)生錯(cuò)誤或拋出異常。通常而言,這是一個(gè)很好的做法。


嚴(yán)格模式的一些主要優(yōu)點(diǎn)包括:


使調(diào)試更加容易。那些被忽略或默默失敗了的代碼錯(cuò)誤,會(huì)產(chǎn)生錯(cuò)誤或拋出異常,因此盡早提醒你代碼中的問(wèn)題,你才能更快地指引到它們的源代碼。


防止意外的全局變量。如果沒(méi)有嚴(yán)格模式,將值分配給一個(gè)未聲明的變量會(huì)自動(dòng)創(chuàng)建該名稱(chēng)的全局變量。這是JavaScript中最常見(jiàn)的錯(cuò)誤之一。在嚴(yán)格模式下,這樣做的話會(huì)拋出錯(cuò)誤。


消除 this 強(qiáng)制。如果沒(méi)有嚴(yán)格模式,引用null或未定義的值到 this 值會(huì)自動(dòng)強(qiáng)制到全局變量。這可能會(huì)導(dǎo)致許多令人頭痛的問(wèn)題和讓人恨不得拔自己頭發(fā)的bug。在嚴(yán)格模式下,引用 null或未定義的 this 值會(huì)拋出錯(cuò)誤。


不允許重復(fù)的屬性名稱(chēng)或參數(shù)值。當(dāng)檢測(cè)到對(duì)象(例如,var object = {foo: "bar", foo: "baz"};)中重復(fù)命名的屬性,或檢測(cè)到函數(shù)中(例如,function foo(val1, val2, val1){})重復(fù)命名的參數(shù)時(shí),嚴(yán)格模式會(huì)拋出錯(cuò)誤,因此捕捉幾乎可以肯定是代碼中的bug可以避免浪費(fèi)大量的跟蹤時(shí)間。


使eval() 更安全。在嚴(yán)格模式和非嚴(yán)格模式下,eval() 的行為方式有所不同。最顯而易見(jiàn)的是,在嚴(yán)格模式下,變量和聲明在 eval() 語(yǔ)句內(nèi)部的函數(shù)不會(huì)在包含范圍內(nèi)創(chuàng)建(它們會(huì)在非嚴(yán)格模式下的包含范圍中被創(chuàng)建,這也是一個(gè)常見(jiàn)的問(wèn)題源)。


在 delete使用無(wú)效時(shí)拋出錯(cuò)誤。delete操作符(用于從對(duì)象中刪除屬性)不能用在對(duì)象不可配置的屬性上。當(dāng)試圖刪除一個(gè)不可配置的屬性時(shí),非嚴(yán)格代碼將默默地失敗,而嚴(yán)格模式將在這樣的情況下拋出異常。



6.考慮以下兩個(gè)函數(shù)。它們會(huì)返回相同的東西嗎? 為什么相同或?yàn)槭裁床幌嗤?


function foo1(){ return {


bar: "hello"


};


}function foo2(){ return


{


bar: "hello"


};


}


出人意料的是,這兩個(gè)函數(shù)返回的內(nèi)容并不相同。更確切地說(shuō)是:


console.log("foo1 returns:");console.log(foo1());console.log("foo2 returns:");console.log(foo2());


將產(chǎn)生:


foo1 returns:Object {bar: "hello"}foo2 returns:undefined


這不僅是令人驚訝,而且特別讓人困惑的是, foo2()返回undefined卻沒(méi)有任何錯(cuò)誤拋出。


原因與這樣一個(gè)事實(shí)有關(guān),即分號(hào)在JavaScript中是一個(gè)可選項(xiàng)(盡管省略它們通常是非常糟糕的形式)。其結(jié)果就是,當(dāng)碰到 foo2()中包含 return語(yǔ)句的代碼行(代碼行上沒(méi)有其他任何代碼),分號(hào)會(huì)立即自動(dòng)插入到返回語(yǔ)句之后。


也不會(huì)拋出錯(cuò)誤,因?yàn)榇a的其余部分是完全有效的,即使它沒(méi)有得到調(diào)用或做任何事情(相當(dāng)于它就是是一個(gè)未使用的代碼塊,定義了等同于字符串 "hello"的屬性 bar)。


這種行為也支持放置左括號(hào)于JavaScript代碼行的末尾,而不是新代碼行開(kāi)頭的約定。正如這里所示,這不僅僅只是JavaScript中的一個(gè)風(fēng)格偏好。



7. NaN 是什么?它的類(lèi)型是什么?你如何可靠地測(cè)試一個(gè)值是否等于 NaN ?


NaN 屬性代表一個(gè)“不是數(shù)字”的值。這個(gè)特殊的值是因?yàn)檫\(yùn)算不能執(zhí)行而導(dǎo)致的,不能執(zhí)行的原因要么是因?yàn)槠渲械倪\(yùn)算對(duì)象之一非數(shù)字(例如, "abc" / 4),要么是因?yàn)檫\(yùn)算的結(jié)果非數(shù)字(例如,除數(shù)為零)。


雖然這看上去很簡(jiǎn)單,但 NaN 有一些令人驚訝的特點(diǎn),如果你不知道它們的話,可能會(huì)導(dǎo)致令人頭痛的bug。


首先,雖然 NaN 意味著“不是數(shù)字”,但是它的類(lèi)型,不管你信不信,是 Number:


console.log(typeof NaN === "number"); // logs "true"


此外, NaN 和任何東西比較——甚至是它自己本身!——結(jié)果是false:


console.log(NaN === NaN); // logs "false"


一種半可靠的方法來(lái)測(cè)試一個(gè)數(shù)字是否等于 NaN,是使用內(nèi)置函數(shù) isNaN(),但即使使用 isNaN() 依然并非是一個(gè)完美的解決方案。


一個(gè)更好的解決辦法是使用 value !== value,如果值等于NaN,只會(huì)產(chǎn)生true。另外,ES6提供了一個(gè)新的 Number.isNaN() 函數(shù),這是一個(gè)不同的函數(shù),并且比老的全局 isNaN() 函數(shù)更可靠。


8.下列代碼將輸出什么?并解釋原因。


console.log(0.1 + 0.2);console.log(0.1 + 0.2 == 0.3);


一個(gè)稍微有點(diǎn)編程基礎(chǔ)的回答是:“你不能確定??赡軙?huì)輸出“0.3”和“true”,也可能不會(huì)。JavaScript中的數(shù)字和浮點(diǎn)精度的處理相同,因此,可能不會(huì)總是產(chǎn)生預(yù)期的結(jié)果。“


以上所提供的例子就是一個(gè)演示了這個(gè)問(wèn)題的典型例子。但出人意料的是,它會(huì)輸出:


0.30000000000000004false



9.討論寫(xiě)函數(shù) isInteger(x) 的可能方法,用于確定x是否是整數(shù)。


這可能聽(tīng)起來(lái)是小菜一碟,但事實(shí)上,這很瑣碎,因?yàn)镋CMAScript 6引入了一個(gè)新的正以此為目的 Number.isInteger() 函數(shù)。然而,之前的ECMAScript 6,會(huì)更復(fù)雜一點(diǎn),因?yàn)闆](méi)有提供類(lèi)似的 Number.isInteger() 方法。


問(wèn)題是,在ECMAScript規(guī)格說(shuō)明中,整數(shù)只概念上存在:即,數(shù)字值總是存儲(chǔ)為浮點(diǎn)值。


考慮到這一點(diǎn),最簡(jiǎn)單又最干凈的ECMAScript6之前的解決方法(同時(shí)也非常穩(wěn)健地返回 false ,即使一個(gè)非數(shù)字的值,如字符串或 null ,被傳遞給函數(shù))如下:


function isInteger(x) { return (x^0) === x; }


下面的解決方法也是可行的,雖然不如上面那個(gè)方法優(yōu)雅:


function isInteger(x) { return Math.round(x) === x; }


請(qǐng)注意 Math.ceil() 和 Math.floor() 在上面的實(shí)現(xiàn)中等同于 Math.round()。


或:


function isInteger(x) { return (typeof x === 'number') && (x % 1 === 0);


相當(dāng)普遍的一個(gè)不正確的解決方案是:


function isInteger(x) { return parseInt(x, 10) === x; }


雖然這個(gè)以 parseInt函數(shù)為基礎(chǔ)的方法在 x 取許多值時(shí)都能工作良好,但一旦 x 取值相當(dāng)大的時(shí)候,就會(huì)無(wú)法正常工作。問(wèn)題在于 parseInt() 在解析數(shù)字之前強(qiáng)制其第一個(gè)參數(shù)到字符串。因此,一旦數(shù)目變得足夠大,它的字符串就會(huì)表達(dá)為指數(shù)形式(例如, 1e+21)。因此,parseInt() 函數(shù)就會(huì)去解析 1e+21,但當(dāng)?shù)竭_(dá) e字符串的時(shí)候,就會(huì)停止解析,因此只會(huì)返回值 1。注意:


> String(1000000000000000000000)'1e+21'> parseInt(1000000000000000000000, 10)1> parseInt(1000000000000000000000, 10) === 1000000000000000000000false



10.下列代碼行1-4如何排序,使之能夠在執(zhí)行代碼時(shí)輸出到控制臺(tái)? 為什么?


(function() { console.log(1);


setTimeout(function(){console.log(2)}, 1000);


setTimeout(function(){console.log(3)}, 0);


console.log(4);


})();


序號(hào)如下:


1


4


3


2


讓我們先來(lái)解釋比較明顯而易見(jiàn)的那部分:


1 和 4之所以放在前面,是因?yàn)樗鼈兪峭ㄟ^(guò)簡(jiǎn)單調(diào)用 console.log() 而沒(méi)有任何延遲輸出的


2 之所以放在 3的后面,是因?yàn)?2 是延遲了1000毫秒(即,1秒)之后輸出的,而 3 是延遲了0毫秒之后輸出的。


好的。但是,既然 3 是0毫秒延遲之后輸出的,那么是否意味著它是立即輸出的呢?如果是的話,那么它是不是應(yīng)該在 4 之前輸出,既然 4 是在第二行輸出的?


要回答這個(gè)問(wèn)題,你需要正確理解JavaScript的事件和時(shí)間設(shè)置。


瀏覽器有一個(gè)事件循環(huán),會(huì)檢查事件隊(duì)列和處理未完成的事件。例如,如果時(shí)間發(fā)生在后臺(tái)(例如,腳本的 onload 事件)時(shí),瀏覽器正忙(例如,處理一個(gè) onclick),那么事件會(huì)添加到隊(duì)列中。當(dāng)onclick處理程序完成后,檢查隊(duì)列,然后處理該事件(例如,執(zhí)行 onload 腳本)。


同樣的, setTimeout() 也會(huì)把其引用的函數(shù)的執(zhí)行放到事件隊(duì)列中,如果瀏覽器正忙的話。


當(dāng)setTimeout()的第二個(gè)參數(shù)為0的時(shí)候,它的意思是“盡快”執(zhí)行指定的函數(shù)。具體而言,函數(shù)的執(zhí)行會(huì)放置在事件隊(duì)列的下一個(gè)計(jì)時(shí)器開(kāi)始。但是請(qǐng)注意,這不是立即執(zhí)行:函數(shù)不會(huì)被執(zhí)行除非下一個(gè)計(jì)時(shí)器開(kāi)始。這就是為什么在上述的例子中,調(diào)用 console.log(4) 發(fā)生在調(diào)用 console.log(3) 之前(因?yàn)檎{(diào)用 console.log(3) 是通過(guò)setTimeout被調(diào)用的,因此會(huì)稍微延遲)。



11.寫(xiě)一個(gè)簡(jiǎn)單的函數(shù)(少于80個(gè)字符),要求返回一個(gè)布爾值指明字符串是否為回文結(jié)構(gòu)。


下面這個(gè)函數(shù)在 str 是回文結(jié)構(gòu)的時(shí)候返回true,否則,返回false。


function isPalindrome(str) {


str = str.replace(/\W/g, '').toLowerCase(); return (str == str.split('').reverse().join(''));


}


例如:


console.log(isPalindrome("level")); // logs 'true'console.log(isPalindrome("levels")); // logs 'false'console.log(isPalindrome("A car, a man, a maraca")); // logs 'true'



12.寫(xiě)一個(gè) sum方法,在使用下面任一語(yǔ)法調(diào)用時(shí),都可以正常工作。


console.log(sum(2,3)); // Outputs 5console.log(sum(2)(3)); // Outputs 5


(至少)有兩種方法可以做到:


方法1


function sum(x) { if (arguments.length == 2) { return arguments[0] + arguments[1];


} else { return function(y) { return x + y; };


}


}


在JavaScript中,函數(shù)可以提供到 arguments 對(duì)象的訪問(wèn),arguments 對(duì)象提供傳遞到函數(shù)的實(shí)際參數(shù)的訪問(wèn)。這使我們能夠使用 length 屬性來(lái)確定在運(yùn)行時(shí)傳遞給函數(shù)的參數(shù)數(shù)量。


如果傳遞兩個(gè)參數(shù),那么只需加在一起,并返回。


否則,我們假設(shè)它被以 sum(2)(3)這樣的形式調(diào)用,所以我們返回一個(gè)匿名函數(shù),這個(gè)匿名函數(shù)合并了傳遞到 sum()的參數(shù)和傳遞給匿名函數(shù)的參數(shù)。


方法2


function sum(x, y) { if (y !== undefined) { return x + y;


} else { return function(y) { return x + y; };


}


}


當(dāng)調(diào)用一個(gè)函數(shù)的時(shí)候,JavaScript不要求參數(shù)的數(shù)目匹配函數(shù)定義中的參數(shù)數(shù)量。如果傳遞的參數(shù)數(shù)量大于函數(shù)定義中參數(shù)數(shù)量,那么多余參數(shù)將簡(jiǎn)單地被忽略。另一方面,如果傳遞的參數(shù)數(shù)量小于函數(shù)定義中的參數(shù)數(shù)量,那么缺少的參數(shù)在函數(shù)中被引用時(shí)將會(huì)給一個(gè) undefined值。所以,在上面的例子中,簡(jiǎn)單地檢查第2個(gè)參數(shù)是否未定義,就可以相應(yīng)地確定函數(shù)被調(diào)用以及進(jìn)行的方式。



13.請(qǐng)看下面的代碼片段:


for (var i = 0; i < 5; i++) { var btn = document.createElement('button');


btn.appendChild(document.createTextNode('Button ' + i));


btn.addEventListener('click', function(){ console.log(i); }); document.body.appendChild(btn);


}


(a)當(dāng)用戶點(diǎn)擊“Button 4”的時(shí)候會(huì)輸出什么到控制臺(tái),為什么?(b)提供一個(gè)或多個(gè)備用的可按預(yù)期工作的實(shí)現(xiàn)方案。


(a)無(wú)論用戶點(diǎn)擊什么按鈕,數(shù)字5將總會(huì)輸出到控制臺(tái)。這是因?yàn)?,?dāng) onclick 方法被調(diào)用(對(duì)于任何按鈕)的時(shí)候, for 循環(huán)已經(jīng)結(jié)束,變量 i 已經(jīng)獲得了5的值。(面試者如果能夠談一談?dòng)嘘P(guān)如何執(zhí)行上下文,可變對(duì)象,激活對(duì)象和內(nèi)部“范圍”屬性貢有助于閉包行為,則可以加分)。


(b)要讓代碼工作的關(guān)鍵是,通過(guò)傳遞到一個(gè)新創(chuàng)建的函數(shù)對(duì)象,在每次傳遞通過(guò) for 循環(huán)時(shí),捕捉到 i 值。下面是三種可能實(shí)現(xiàn)的方法:


for (var i = 0; i < 5; i++) { var btn = document.createElement('button');


btn.appendChild(document.createTextNode('Button ' + i));


btn.addEventListener('click', (function(i) { return function() { console.log(i); };


})(i)); document.body.appendChild(btn);


}


或者,你可以封裝全部調(diào)用到在新匿名函數(shù)中的 btn.addEventListener :


for (var i = 0; i < 5; i++) { var btn = document.createElement('button');


btn.appendChild(document.createTextNode('Button ' + i));


(function (i) {


btn.addEventListener('click', function() { console.log(i); });


})(i); document.body.appendChild(btn);


}


也可以調(diào)用數(shù)組對(duì)象的本地 forEach 方法來(lái)替代 for 循環(huán):


['a', 'b', 'c', 'd', 'e'].forEach(function (value, i) { var btn = document.createElement('button');


btn.appendChild(document.createTextNode('Button ' + i));


btn.addEventListener('click', function() { console.log(i); }); document.body.appendChild(btn);


});




14.下面的代碼將輸出什么到控制臺(tái),為什么?


var arr1 = "john".split('');var arr2 = arr1.reverse();var arr3 = "jones".split('');


arr2.push(arr3);console.log("array 1: length=" + arr1.length + " last=" + arr1.slice(-1));console.log("array 2: length=" + arr2.length + " last=" + arr2.slice(-1));


輸出結(jié)果是:


"array 1: length=5 last=j,o,n,e,s""array 2: length=5 last=j,o,n,e,s"


arr1 和 arr2 在上述代碼執(zhí)行之后,兩者相同了,原因是:


調(diào)用數(shù)組對(duì)象的 reverse() 方法并不只返回反順序的陣列,它也反轉(zhuǎn)了數(shù)組本身的順序(即,在這種情況下,指的是 arr1)。


reverse() 方法返回一個(gè)到數(shù)組本身的引用(在這種情況下即,arr1)。其結(jié)果為,arr2 僅僅是一個(gè)到 arr1的引用(而不是副本)。因此,當(dāng)對(duì) arr2做了任何事情(即當(dāng)我們調(diào)用 arr2.push(arr3);)時(shí),arr1 也會(huì)受到影響,因?yàn)?arr1 和 arr2 引用的是同一個(gè)對(duì)象。


這里有幾個(gè)側(cè)面點(diǎn)有時(shí)候會(huì)讓你在回答這個(gè)問(wèn)題時(shí),陰溝里翻船:


傳遞數(shù)組到另一個(gè)數(shù)組的 push() 方法會(huì)讓整個(gè)數(shù)組作為單個(gè)元素映射到數(shù)組的末端。其結(jié)果是,語(yǔ)句 arr2.push(arr3); 在其整體中添加 arr3 作為一個(gè)單一的元素到 arr2 的末端(也就是說(shuō),它并沒(méi)有連接兩個(gè)數(shù)組,連接數(shù)組是 concat() 方法的目的)。


和Python一樣,JavaScript標(biāo)榜數(shù)組方法調(diào)用中的負(fù)數(shù)下標(biāo),例如 slice() 可作為引用數(shù)組末尾元素的方法:例如,-1下標(biāo)表示數(shù)組中的最后一個(gè)元素,等等。




15.下面的代碼將輸出什么到控制臺(tái),為什么?


console.log(1 + "2" + "2");console.log(1 + +"2" + "2");console.log(1 + -"1" + "2");console.log(+"1" + "1" + "2");console.log( "A" - "B" + "2");console.log( "A" - "B" + 2);


上面的代碼將輸出以下內(nèi)容到控制臺(tái):


"122""32""02""112""NaN2"NaN


原因是…


這里的根本問(wèn)題是,JavaScript(ECMAScript)是一種弱類(lèi)型語(yǔ)言,它可對(duì)值進(jìn)行自動(dòng)類(lèi)型轉(zhuǎn)換,以適應(yīng)正在執(zhí)行的操作。讓我們通過(guò)上面的例子來(lái)說(shuō)明這是如何做到的。


例1:1 + "2" + "2" 輸出:"122" 說(shuō)明: 1 + "2" 是執(zhí)行的第一個(gè)操作。由于其中一個(gè)運(yùn)算對(duì)象("2")是字符串,JavaScript會(huì)假設(shè)它需要執(zhí)行字符串連接,因此,會(huì)將 1 的類(lèi)型轉(zhuǎn)換為 "1", 1 + "2"結(jié)果就是 "12"。然后, "12" + "2" 就是 "122"。


例2: 1 + +"2" + "2" 輸出: "32" 說(shuō)明:根據(jù)運(yùn)算的順序,要執(zhí)行的第一個(gè)運(yùn)算是 +"2"(第一個(gè) "2" 前面的額外 + 被視為一元運(yùn)算符)。因此,JavaScript將 "2" 的類(lèi)型轉(zhuǎn)換為數(shù)字,然后應(yīng)用一元 + 號(hào)(即,將其視為一個(gè)正數(shù))。其結(jié)果是,接下來(lái)的運(yùn)算就是 1 + 2 ,這當(dāng)然是 3。然后我們需要在一個(gè)數(shù)字和一個(gè)字符串之間進(jìn)行運(yùn)算(即, 3 和 "2"),同樣的,JavaScript會(huì)將數(shù)值類(lèi)型轉(zhuǎn)換為字符串,并執(zhí)行字符串的連接,產(chǎn)生 "32"。


例3: 1 + -"1" + "2" 輸出: "02" 說(shuō)明:這里的解釋和前一個(gè)例子相同,除了此處的一元運(yùn)算符是 - 而不是 +。先是 "1" 變?yōu)?1,然后當(dāng)應(yīng)用 - 時(shí)又變?yōu)榱?-1 ,然后將其與 1相加,結(jié)果為 0,再將其轉(zhuǎn)換為字符串,連接最后的 "2" 運(yùn)算對(duì)象,得到 "02"。


例4: +"1" + "1" + "2" 輸出: "112" 說(shuō)明:雖然第一個(gè)運(yùn)算對(duì)象 "1"因?yàn)榍熬Y的一元 + 運(yùn)算符類(lèi)型轉(zhuǎn)換為數(shù)值,但又立即轉(zhuǎn)換回字符串,當(dāng)連接到第二個(gè)運(yùn)算對(duì)象 "1" 的時(shí)候,然后又和最后的運(yùn)算對(duì)象"2" 連接,產(chǎn)生了字符串 "112"。


例5: "A" - "B" + "2" 輸出: "NaN2" 說(shuō)明:由于運(yùn)算符 - 不能被應(yīng)用于字符串,并且 "A" 和 "B" 都不能轉(zhuǎn)換成數(shù)值,因此,"A" - "B"的結(jié)果是 NaN,然后再和字符串 "2" 連接,得到 "NaN2" 。


例6: "A" - "B" + 2 輸出: NaN 說(shuō)明:參見(jiàn)前一個(gè)例子, "A" - "B" 結(jié)果為 NaN。但是,應(yīng)用任何運(yùn)算符到NaN與其他任何的數(shù)字運(yùn)算對(duì)象,結(jié)果仍然是 NaN。



16.下面的遞歸代碼在數(shù)組列表偏大的情況下會(huì)導(dǎo)致堆棧溢出。在保留遞歸模式的基礎(chǔ)上,你怎么解決這個(gè)問(wèn)題?


var list = readHugeList();var nextListItem = function() { var item = list.pop(); if (item) { // process the list item...


nextListItem();


}


};


潛在的堆棧溢出可以通過(guò)修改nextListItem 函數(shù)避免:


var list = readHugeList();var nextListItem = function() { var item = list.pop(); if (item) { // process the list item...


setTimeout( nextListItem, 0);


}


};


堆棧溢出之所以會(huì)被消除,是因?yàn)槭录h(huán)操縱了遞歸,而不是調(diào)用堆棧。當(dāng) nextListItem 運(yùn)行時(shí),如果 item不為空,timeout函數(shù)(nextListItem)就會(huì)被推到事件隊(duì)列,該函數(shù)退出,因此就清空調(diào)用堆棧。當(dāng)事件隊(duì)列運(yùn)行其timeout事件,且進(jìn)行到下一個(gè) item 時(shí),定時(shí)器被設(shè)置為再次調(diào)用 extListItem。因此,該方法從頭到尾都沒(méi)有直接的遞歸調(diào)用,所以無(wú)論迭代次數(shù)的多少,調(diào)用堆棧保持清空的狀態(tài)。



17.JavaScript中的“閉包”是什么?請(qǐng)舉一個(gè)例子。


閉包是一個(gè)可以訪問(wèn)外部(封閉)函數(shù)作用域鏈中的變量的內(nèi)部函數(shù)。閉包可以訪問(wèn)三種范圍中的變量:這三個(gè)范圍具體為:(1)自己范圍內(nèi)的變量,(2)封閉函數(shù)范圍內(nèi)的變量,以及(3)全局變量。


下面是一個(gè)簡(jiǎn)單的例子:


var globalVar = "xyz";


(function outerFunc(outerArg) { var outerVar = 'a';


(function innerFunc(innerArg) { var innerVar = 'b'; console.log( "outerArg = " + outerArg + "\n" + "innerArg = " + innerArg + "\n" + "outerVar = " + outerVar + "\n" + "innerVar = " + innerVar + "\n" + "globalVar = " + globalVar);


})(456);


})(123);


在上面的例子中,來(lái)自于 innerFunc, outerFunc和全局命名空間的變量都在 innerFunc的范圍內(nèi)。因此,上面的代碼將輸出如下:


outerArg = 123innerArg = 456outerVar = ainnerVar = bglobalVar = xyz



18.下面的代碼將輸出什么:


for (var i = 0; i < 5; i++) {


setTimeout(function() { console.log(i); }, i * 1000 );


}


解釋你的答案。閉包在這里能起什么作用?


上面的代碼不會(huì)按預(yù)期顯示值0,1,2,3,和4,而是會(huì)顯示5,5,5,5,和5。


原因是,在循環(huán)中執(zhí)行的每個(gè)函數(shù)將整個(gè)循環(huán)完成之后被執(zhí)行,因此,將會(huì)引用存儲(chǔ)在 i中的最后一個(gè)值,那就是5。


閉包可以通過(guò)為每次迭代創(chuàng)建一個(gè)唯一的范圍,存儲(chǔ)范圍內(nèi)變量的每個(gè)唯一的值,來(lái)防止這個(gè)問(wèn)題,如下:


for (var i = 0; i < 5; i++) {


(function(x) {


setTimeout(function() { console.log(x); }, x * 1000 );


})(i);


}


這就會(huì)按預(yù)期輸出0,1,2,3,和4到控制臺(tái)。



19.以下代碼行將輸出什么到控制臺(tái)?


console.log("0 || 1 = "+(0 || 1));console.log("1 || 2 = "+(1 || 2));console.log("0 && 1 = "+(0 && 1));console.log("1 && 2 = "+(1 && 2));


并解釋。


該代碼將輸出:


0 || 1 = 11 || 2 = 10 && 1 = 01 && 2 = 2


在JavaScript中, || 和 &&都是邏輯運(yùn)算符,用于在從左至右計(jì)算時(shí),返回第一個(gè)可完全確定的“邏輯值”。


或( || )運(yùn)算符。在形如 X||Y的表達(dá)式中,首先計(jì)算X 并將其解釋執(zhí)行為一個(gè)布爾值。如果這個(gè)布爾值true,那么返回true(1),不再計(jì)算 Y,因?yàn)椤盎颉钡臈l件已經(jīng)滿足。如果這個(gè)布爾值為false,那么我們?nèi)匀徊荒苤?X||Y是真是假,直到我們計(jì)算 Y,并且也把它解釋執(zhí)行為一個(gè)布爾值。


因此, 0 || 1 的計(jì)算結(jié)果為true(1),同理計(jì)算1 || 2。


與( &&)運(yùn)算符。在形如 X&&Y的表達(dá)式中,首先計(jì)算 X并將其解釋執(zhí)行為一個(gè)布爾值。如果這個(gè)布爾值為 false,那么返回 false(0),不再計(jì)算 Y,因?yàn)椤芭c”的條件已經(jīng)失敗。如果這個(gè)布爾值為true,但是,我們?nèi)匀徊恢?X&&Y 是真是假,直到我們?nèi)ビ?jì)算 Y,并且也把它解釋執(zhí)行為一個(gè)布爾值。


不過(guò),關(guān)于 &&運(yùn)算符有趣的地方在于,當(dāng)一個(gè)表達(dá)式計(jì)算為“true”的時(shí)候,那么就返回表達(dá)式本身。這很好,雖然它在邏輯表達(dá)式方面計(jì)算為“真”,但如果你希望的話也可用于返回該值。這就解釋了為什么,有些令人奇怪的是, 1 && 2返回 2(而不是你以為的可能返回 true 或 1)。



20.執(zhí)行下面的代碼時(shí)將輸出什么?請(qǐng)解釋。


console.log(false == '0')console.log(false === '0')


代碼將輸出:


truefalse


在JavaScript中,有兩種等式運(yùn)算符。三個(gè)等于運(yùn)算符 === 的作用類(lèi)似傳統(tǒng)的等于運(yùn)算符:如果兩側(cè)的表達(dá)式有著相同的類(lèi)型和相同的值,那么計(jì)算結(jié)果為true。而雙等于運(yùn)算符,會(huì)只強(qiáng)制比較它們的值。因此,總體上而言,使用 ===而不是 ==的做法更好。 !==vs !=亦是同理。



21.以下代碼將輸出什么?并解釋你的答案。


var a={},


b={key:'b'}, c={key:'c'};


a[b]=123;


a[c]=456;


console.log(a[b]);


這段代碼將輸出 456(而不是 123)。


原因?yàn)椋寒?dāng)設(shè)置對(duì)象屬性時(shí),JavaScript會(huì)暗中字符串化參數(shù)值。在這種情況下,由于 b 和 c都是對(duì)象,因此它們都將被轉(zhuǎn)換為"[object Object]"。結(jié)果就是, a[b]和a[c]均相當(dāng)于a["[object Object]"] ,并可以互換使用。因此,設(shè)置或引用 a[c]和設(shè)置或引用 a[b]完全相同。



22.以下代碼行將輸出什么到控制臺(tái)?


console.log((function f(n){return ((n > 1) ? n * f(n-1) : n)})(10));


并解釋你的答案。


代碼將輸出10!的值(即10!或3628800)。


原因是:


命名函數(shù) f()遞歸地調(diào)用本身,當(dāng)調(diào)用 f(1)的時(shí)候,只簡(jiǎn)單地返回1。下面就是它的調(diào)用過(guò)程:


f(1): returns n, which is 1f(2): returns 2 * f(1), which is 2f(3): returns 3 * f(2), which is 6f(4): returns 4 * f(3), which is 24f(5): returns 5 * f(4), which is 120f(6): returns 6 * f(5), which is 720f(7): returns 7 * f(6), which is 5040f(8): returns 8 * f(7), which is 40320f(9): returns 9 * f(8), which is 362880f(10): returns 10 * f(9), which is 3628800


23.請(qǐng)看下面的代碼段??刂婆_(tái)將輸出什么,為什么?


(function(x) { return (function(y) { console.log(x);


})(2)


})(1);


控制臺(tái)將輸出 1,即使從來(lái)沒(méi)有在函數(shù)內(nèi)部設(shè)置過(guò)x的值。原因是:


閉包是一個(gè)函數(shù),連同在閉包創(chuàng)建的時(shí)候,其范圍內(nèi)的所有變量或函數(shù)一起。在JavaScript中,閉包是作為一個(gè)“內(nèi)部函數(shù)”實(shí)施的:即,另一個(gè)函數(shù)主體內(nèi)定義的函數(shù)。閉包的一個(gè)重要特征是,內(nèi)部函數(shù)仍然有權(quán)訪問(wèn)外部函數(shù)的變量。


因此,在本例中,由于 x未在函數(shù)內(nèi)部中定義,因此在外部函數(shù)范圍中搜索定義的變量 x,且被發(fā)現(xiàn)具有1的值。



24.下面的代碼將輸出什么到控制臺(tái),為什么:


var hero = {


_name: 'John Doe',


getSecretIdentity: function (){ return this._name;


}


}; var stoleSecretIdentity = hero.getSecretIdentity;console.log(stoleSecretIdentity());console.log(hero.getSecretIdentity());


代碼有什么問(wèn)題,以及應(yīng)該如何修復(fù)。


代碼將輸出:


undefinedJohn Doe


第一個(gè) console.log之所以輸出 undefined,是因?yàn)槲覀冋趶?hero對(duì)象提取方法,所以調(diào)用了全局上下文中(即窗口對(duì)象)的 stoleSecretIdentity(),而在此全局上下文中, _name屬性不存在。


其中一種修復(fù)stoleSecretIdentity() 函數(shù)的方法如下:


var stoleSecretIdentity = hero.getSecretIdentity.bind(hero);



25.創(chuàng)建一個(gè)給定頁(yè)面上的一個(gè)DOM元素,就會(huì)去訪問(wèn)元素本身及其所有子元素(不只是它的直接子元素)的函數(shù)。對(duì)于每個(gè)被訪問(wèn)的元素,函數(shù)應(yīng)該傳遞元素到提供的回調(diào)函數(shù)。


此函數(shù)的參數(shù)為:


DOM元素


回調(diào)函數(shù)(將DOM元素作為其參數(shù))


訪問(wèn)樹(shù)(DOM)的所有元素是經(jīng)典的深度優(yōu)先搜索算法應(yīng)用。下面是一個(gè)示范的解決方案:


function Traverse(p_element,p_callback) {


p_callback(p_element); var list = p_element.children; for (var i = 0; i < list.length; i++) {


Traverse(list[i],p_callback); // recursive call


}


}


更新Java面試題請(qǐng)關(guān)注動(dòng)力節(jié)點(diǎn)java學(xué)院官網(wǎng)java面試題教程http://www.soulsinkind.com/tutorial_baseinterviewquestions/



相關(guān)推薦


120個(gè)Java經(jīng)典面試題和答案


2019 最新Java常見(jiàn)面試題(附帶答案)


各大公司java面試題


Java并發(fā)編程的12道面試題(內(nèi)含答案)


常見(jiàn)Java多線程面試題總結(jié)




提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
日本高清插阴视频免费| 九九热在线这里只有精品| 一区二区三区欧美日韩电影| 国产av一区二区三区天堂| 高清日本wwwcom| 怡红院精彩视频在线观看| 涩涩网站在线观看视频| 在线精品亚洲区一区二区| 精品成人午夜免费看| 操人妻一区二区三区| 狠狠躁日日躁夜夜躁2| 美女草草影院在线观看视频| 亚洲国产精品国自产拍av在线| 玩弄放荡人妻少妇精品| 亚洲精品超熟女av| 人妻精品久久久久中文字幕19| 啪啪啪在线播放视频| 亚洲欧洲美洲无码在线| 久操av在线免费观看| 亚洲女同性同志熟女女同| 日韩毛片基地免费看| 极品人妻vide0sss人妻| 亚洲国产精品美女久久久av| 最新日韩成人毛片在线| 部长侵犯人妻一区二区三区| 国产半推半就精品强推视频| 欧美大黑硬鸡巴操骚肥湿逼| av 激情 开心 五月| 91精品在线播放hd| 人妻寝取少妇乱中文字幕| 黄色成人激情福利在线影院| www国产精品久久久久久| 在线观看小视频国产| 92免费视频人妻网| 国产在线视频国产资源| 免费在线观看网址你懂的| 17c在线观看视频国产aa| 亚洲美女乱1区2区3区| 欧洲av,亚洲av| 不卡精品国产_亚洲人成在线| 亚洲女同性同志熟女女同| 亚洲三级这里只有精品| 一区二区三区精品在线免费视频| 欧美黑人天天干夜夜操| 成人午夜伦理在线观看| 人妻少妇偷人视频一| 欧美黑人性色黄在线视频| 日本黄页网络站免费| 久久亚洲伊人99精品影院| www国产精品久久久久久| 隔壁放荡人妻bd完整版| 男人的坤插进女人的屁股里的视频| 91老熟女连续高潮对白| 蜜桃aⅴ噜噜一区二区三区网址| 又黑又硬又粗又黄又猛| 999久久久精品精品| 亚洲国产欧美日韩国产| 婷婷色综合久久五月天| 6080日韩伦理片| 国产三级伦理在线观看| 亚洲另类欧美在线观看| 东方av在线免费进入| 久久99精品久久久久久小说| 国产av一区二区三区天堂| 欧美综合一区二区三区| 蜜桃av在线网址观看| 日韩avapp在线| 中文字幕精品av在线观看| 办公室被吃奶好爽在线观看视频| av鲁丝一区鲁丝二区鲁丝四区| 正宗欧美在线观看一区二区| 黄色av日韩免费在线观看| 东京热av在线播放| 亚洲激情视频免费在线| 91福利国产成人精品| 亚洲精品在线观看高清资源| 三级三级三级日本99| 91 chinese 在线播放| 91精品人妻中文字幕| 童话村热久久精品精| 欧洲av性色在线看| 在线视频一视频二视频三| 伊人青操在线观看视频网站| 亚洲日本一区二区嫩草| 亚洲图片,自拍偷拍| 爆操嫩逼黑丝袜美女小骚逼| 日韩精品在线播放视频成年人| 99精品老司机免费视频| 宝贝把腿张开让我添| 阿v视频在线观看免费播放| 日本熟妇wxw日本人妻| 精品少妇人妻av免费久久胖妇| 欧洲日韩视频一区二区三区| 人妻熟妇丰满不伦一区二区三区| 北条麻妃制服丝袜在线播放| 国产乱人伦av麻豆网| 国产伦精品三区精品国偷自产在线| 在线免费看亚洲精品少妇69式| 亚洲天堂都市激情av| 人人妻在线视频97| 女人被男人阳具抽插的呻吟视频 | 中文字幕久久久久久人妻| 精品人妻一区三区三区| 无套内谢少妇高潮毛片免费看| 日韩av中文字幕网址| 亚洲激情视频免费在线| 欧美激情性4一级完整版| 天天操夜夜爽夜夜操| 久久久久久久久久久蜜桃| 欧美亚洲综合偷拍另类| 亚洲主要位于五带中的什么带? | 在线视频 国产 日韩 欧美| 亚洲av永久久久久久久蜜桃| 国产老熟女高潮在线播放| 欧美综合一二区在线| 亚洲国产精品自拍视频在线观看| 操女人下阴黄色一级视频| 国产伦精品一区二区黑人| 一区二区三区精品在线免费视频| 天天色天天爱天天日| 精品熟女后入一区二区三区| 色噜噜在线综合亚洲欧美| 久操av在线免费观看| 久久精品国产亚洲a| 日韩精品一区二区三区中文精| 办公室被吃奶好爽在线观看视频| 午夜精品福利一区二区三区p| 婷婷av一区二区三区7| 欧美xxxx视频在线| 丝袜美图一区二区三区| 福利视频在线免费观看伦理| 久久久激情视频网站| 视频在线观看免费99| 国产综合av免费观看| 久久久国产视频91| 动漫av纯肉免费在线观看| 国产c片免费观看| 在线小视频,你懂的| 国产在线观看一区二区不卡| 丝袜美腿国产在线观看| 999在线精品视频观看| 狠狠操 在线视频 轻轻草| 欧美熟妇亚洲中文不卡少妇| 妍强被迫伦姧惨叫123| 狠狠干狠狠操五月天| 91精品人妻中文字幕| 丝袜美腿视频诱惑亚洲| 美女的逼让男人桶的视频| 中文字幕一区三区二区国产黄色 | 成人福利视频一区二区| 欧美 激情 另类 自拍| 日韩加勒比东京热二区| 筱田优在线播放一区二区三区| 中文字幕国产电影在线观看| 国产av在线一区二区| 一区二区三区在线中国| 久久久久久久国产精品人妻| 东方av在线免费进入| 亚洲精品国偷自产久色| 免费观看视频一区,二区,三区| 欧美一区二区三区乱轮| 婷婷丁香花综合激情五月天| 国内人人人妻狠狠狠操操| 适合黄黑皮的显白发色| 97视频人人人人人性| suv精品一区二区6| 五月婷婷丁香花激情网| 日本免费播放一区二区三区| 亚洲免费国产在线日韩| 成人麻豆免费视频精品区| 一区二区三区欧美高清| 亚洲精品在线观看高清资源| 欧美丰满熟妇高潮xxxx| 亚洲自偷自拍另类性受不了| 超碰在线97人人草| 99久久久国产精品美女| 青娱乐青青草丁香婷婷| 欧美av色香蕉一区二区小说| 五月桃花网婷婷伊人久久| 亚洲小说区图片另类春色| 男人插女人逼app| 亚洲少妇av在线播放| 四川熟女a一区二区三区| 国产绿帽人妻精品系列| 18人妻人碰人人做人人爽| 啪啪啪免费亚洲精品网站| 超级碰碰碰97免费视频97| 亚洲少妇av在线播放| 好的一级毛片免费毛片直播| 天天天天拍天天天天天天| 教资是不是人人都可以考| 中文字幕久久久久久人妻| 天天干夜夜操日日操| 国产极品尤物粉嫩泬在线观看| 999久久久无码精品免费看片| 亚洲 欧洲 国产 麻豆| 妍强被迫伦姧惨叫123| 性色av一区二区三区观看| 亚洲精品专区一区二区| 美女草草影院在线观看视频| 日日夜夜夜操天天干| 亚洲av性色在线观看黄色| 女人被男人阳具抽插的呻吟视频 | 亚洲精久久久久久久久久久久久 | 日韩不伦高清一区二区三区| 93乱子伦国产乱子伦| 亚洲欧美动漫卡通 另类| 免费av在线中文字幕| 国自产拍偷拍福利精品免费观看| 18人妻人碰人人做人人爽| 国产黄色大片在线免费观看| 一区二区三区极品人妻| 东游记中文字幕版哪里可以看到| 青青草青青草成人免费公开| 久久久久国产一毛片高清| 色男人的天堂一区二区三区| 91人妻人人做人人爽九色全集| 久久久久久久国产精品人妻| 一区二区三区极品人妻| 99精品视频在线观看专区| 女人扒开逼逼让男人操| 蜜桃成人av电影网站| 国产一级免费黄色录像片| 欧美一级特黄aaaaaa片| 青青草青青草成人免费公开| 亚洲国产久久久久久| 中文字幕黄色av网址| 天天干天天操天天日天天射| 十分钟在线观看视频| 欧美va久久久噜噜噜久久| caoporn香蕉在线观看| 一区二区三区国产精选在线播放| 九九热在线这里只有精品| 91久久香蕉国产熟女| 激情 亚洲 精品视频| 男生用大鸡巴捅女生的视频| 熟女吧国产精品一区二区三区| 久久91精品国产91久久分享| 新超碰97在线观看| 亚洲精品免费一二三区| 午夜精品久久久久久99| 黄片免费观看久久av| 亚洲国产图片小说一区二区| 亚洲主要位于五带中的什么带? | 超碰人人澡人人碰人人| www国产亚洲天堂| 二亚洲女同性同志熟女| 亚洲免费观看小视频| 国产黄色大片在线免费观看| 宝贝把腿张开让我添| 青青草成人免费电影| 手机视频在线观看99精品视频| 97超碰在线视频观看| 日韩av免费福利在线观看| 国产av人人夜夜澡人人爽下载| 男人的天堂av最新| 综合久久天天搞天天]| 成人福利电影免费网址| 欧美激情性4一级完整版| 久久精品视频全部视频在线| 老师让我插进去69AV| 日本女护士久久精品| 人妻中文字幕在线视频免费观看| 美女草草影院在线观看视频 | 999热这里只有精品视频| 国产欧美日韩一区91| 天天色天天干天天操| 99久久999久久久hd| 91精彩刺激对白露脸偷拍| 特黄特猛aaaaaaaaa片| 国产传媒中文字幕在线| 91精品久久久久久婷婷高清| 在线观看国产精品123| 狠狠躁日日躁夜夜躁视频| 亚洲精品一区二区三区新线路| 少妇高潮尖叫久久久久| 熟女人妻av中文字幕| 日韩精品一区二区三区中文精| 亚洲国产精品自拍视频在线观看| 97超级碰最新在线视频| 久久精品国产二区AV无码| 激情 亚洲 精品视频| 国产精品啪啪啪免费网站| 精品少妇人妻av免费久久胖妇| yy111111少妇蜜桃| 91精品午夜呻吟xxxx| 免费高清视频在线观看不卡男男| 五月色婷婷在线视频| 69 久久99精品久久久| 99精品国产免费久久久久久| 精品少妇人妻av免费久久胖妇| 久操视频精品在线观看| 91 chinese 在线播放| 久久精品国产亚洲av视瓶| 久精彩视频免费观看| 男女啪啪啪网站入口| 亚洲图片一区偷拍自拍| 97电视剧在线观看免费完整版| 国产绿帽人妻精品系列| 偷拍自拍 中文字幕| 91精品国产国语自拈产在| 国产一区二区精品蜜臀av| 免费二区三区四区在线观看| 久久三级片一区二区毛片| 可以免费看的黄页视频| 17c在线观看视频国产aa| 免费在线国产观看av| 国产亚洲精品天堂在线观看| 国产精品精品3d动漫| 国产午夜在线免费视频| 亚洲欧洲自拍他拍av| 成av一区二区三区久久| 日韩成人在线电影,| 成人一级黄色片免费看| 一级白丝美女久久久久| 人妻 日韩精品免费| 色片网站在线看亚洲精品| 人妻熟女免费一区二区萩原| 亚洲一区二区视频在线免费观看| 女人扒开逼逼让男人操| 91久色porny视频在线| 人妻夜夜爽av性色大片| 人妻久久免费视频中文字幕| 天天干天天操天天日天天射| 国产精品久久久久白浆| 亚洲久久久久久久久久久久久久| 99久久精品久久久久久清纯| 高清日本欧美亚洲视频| 精品人妻一区三区三区| 成人一级黄色片免费看| 91在线免费观看成人| 精品成人午夜免费看| 两个人午夜免费看视频| 欧美熟妇亚洲中文不卡少妇| 黄色性网站免费观看| 中文有码一区二区三区| 成全视频免费观看在线下载| www久久久久久久99| 亚洲自拍偷拍视频二区| 女人样男人用大鸡巴操她的逼逼| 五月天中文字幕剧情在线| 美女被弄高潮喷水91视频9| 欧美色一区二区三区在线观看| 国自产拍偷拍福利精品免费观看| 91嫩草精品少妇97九九| 欧美在线播放一二区不卡| 天天操天天操天天干天天| 久久精品亚洲国产一区二区| 久国产一二三区四区乱码2021| 97精品国产高清在线| 日韩av中文字幕网址| 97国产在线精品观看| 亚洲欧美另类专区第一页| 亚洲天堂欧美中文字幕| 污污污视频在线观看91| 亚洲精品综合视频自拍| 久re这里只有精品视频| 在线视频你懂的视频| 91久久精一区二区三区大全| 亚洲精品国偷自产久色| 国自产拍偷拍福利精品免费观看| 大奶子美女免费操逼视频| 91福利精品一区二区| 少妇美女大极品内射| 干 白虎 少妇 嫩 逼 视频| 精品人人妻人人澡人人爽| 欧洲日韩视频一区二区三区| 精品99久久久久久www| 欧美亚洲天堂不卡视频| 草草影院黄色在线观看| 欧美图色 亚洲图色| 欧美日韩精品久久一区二区三区| 三级黄色亚洲成人av| 隔壁老王国产在线观看| 色婷婷亚洲久久97成人| 三级经典三级日本三级欧美| 91嫩草精品少妇97九九 | 97免费人妻超碰97在线| 性感美女一区二区美女| 日本很黄很黄的动态视频| 久久视频十八岁亚洲精品久久视频| av手机在线免费播放| 狂野黑人性猛交xxxxxx| 亚洲天堂一二三四在线播放| 欧美激情在线观看一区| 午夜三级影片免费播放| 天天插天天摸天天爱| 精品一区二区三区大全| 亚洲永久av午夜福利| 在线观看成人激情av| 国产欧美日韩经典一区| 国产一级免费黄色录像片| 男生用大鸡巴捅女生的视频| 青青操国产精品视频在线| 欧美1234不卡视频| 三级经典三级日本三级欧美| 国产黄色大片在线免费观看| 女人样男人用大鸡巴操她的逼逼| 超碰人妻中文字幕在线| 欧美,偷拍,另类,综合| 亚洲一区二区三区免费 | 国产亚洲精品天堂在线观看| 日本老太婆老熟妇av| 啪啪在线视频免费观看| 亚洲国产中文字幕在线视频| 97色婷婷久久99国产视频| 欧洲av性色在线看| 1717精品视频在线观看| 草逼美女逼话多的视频出水| 超碰在线97人人草| 起碰97视频在线播放| 老鸭窝在线视频国产| 爆操嫩逼黑丝袜美女小骚逼| 久久这里精品视频3| 欧美三级一区二区三区四区五区| 丝袜美腿色诱视频在线观看| 教资是不是人人都可以考| 久久精品国产二区AV无码| 欧美亚洲国产成人免费在线| 2012在线国语中文字幕| 国产剧情swag在线观看| 人妻精品久久久久中文字幕19| 亚洲视频 中文字幕 人妻| 久久三级片一区二区毛片| 成年人中文字幕视频网| 中文字幕永久在线一区二区| 十八禁视频一区二区三区四区| 亚洲国产精品国自产拍av在线| japanese五十路熟女熟妇| 成人激情在线一区二区| 东京热av在线播放| 日日躁夜夜躁狠狠久久av| 天天大香蕉一区二区三区| 91精品人妻中文字幕| 亚洲自偷自拍另类性受不了| 国产日韩欧美精品久久久一区二区 | 操白嫩人妻少妇真爽视频| lisaann在线观看| 韩国美女主播福利视频| 国产极品尤物粉嫩泬在线观看 | aaa222男人天堂| 一区二区三区欧美日韩电影| 91国产精品久久久久麻豆| av影视在线免费观看| 港台经典一级成人免费av| 国产视频在线精品视频| r人人妻人人澡人人爽| 国产黄a三级三级三级三级三级| 国产成人午夜精品视频| 国产综合av一区二区| 性色av成年在线观看| 欧美 亚洲 激情 自拍| 96h久久国产激情| 国产在线视频国产资源| 亚洲欧美综合区丁香六月| 少妇高潮精品一区二区| 成人福利电影免费网址| 欧美,日本中文高清视频| 二亚洲女同性同志熟女| 天天插天天爱天天日| 日本免费播放一区二区三区 | 黄色免费2b网页18岁有声音| 东方av在线免费进入| 69 久久99精品久久久| 97久久精品熟女超碰| 农村女人91熟女熟妇| 正宗欧美在线观看一区二区| 美女被弄高潮喷水91视频9| 亚洲人人妻一区二区三区| 98视频在线免费观看| 女抽插流出张开淫水视频| 四川熟女a一区二区三区| 蜜桃精品在线观看一区| 东方av在线免费进入| 日韩高清视频在线播放| caoporn香蕉在线观看| 日韩成人综艺在线播放| 3D美女高跟鞋插穴| 91人妻精品动漫一区二区三区| 久久久久久久久毛片精品奶炮| 亚洲精品综合视频自拍| 亚洲自偷自拍另类性受不了 | 视频你懂得在线观看| 在线观看免费a亚洲| 国产在线观看一区二区不卡| 女抽插流出张开淫水视频| 日本熟妇丰满厨房55| 人妻少妇精品专区一二三| 久久性视频不卡网站| 91大屁股人妻porn| 欧美福利专区一区二区三区| 少妇美女大极品内射| 97久久精品熟女超碰| 亚洲av午夜精品一老妈| 日韩三级中文字幕熟女| 国产精品啊啊啊不要在线观看| 丰满雪白人妻人爽16av精品| 日韩欧美在线不卡一区二区三区| 99精品国产自在现线观看| 一区二区三区欧美日韩电影| 亚洲国内自拍愉拍影音先锋| 亚洲精品免费一二三区| 青青操在线视频精品| 新超碰97在线观看| 伊人情人综合成人久久网小说| 国产中文字幕在线免费播放| 日日夜夜夜操天天干| 国产熟妇一区二区三区av| 亚洲图片,自拍偷拍网| 免费成视频人免费91| 国产av人人夜夜澡人人爽下载 | 欧美成人免费观看黄片| 日本电影高清一区二区| 91jk麻豆美女丝袜诱惑| av手机在线免费播放| 人妻少妇精品视频专区vr| 久久久久久久国产精品人妻| 天天日天天色天天搞| 销魂少妇一区二区视频| 2020中文字幕在线播放| 亚洲精品综合视频自拍| 亚洲精品成人a8198| 精品国产9999久久久久| 玖玖玖精品视频在线观看| 国产剧情免费在线观看| 漂亮的人妻不敢呻吟被中出| 69精品人妻一区二区 | 日本免费播放一区二区三区| 91免费观看国产精品| 午夜福利啪啪视频免费看| 久久精精品久久久噜噜| 亚洲国产日韩欧美在线观看| 大奶子美女免费操逼视频| 国产麻豆在线av| 最大最全av中文字幕网| 黑人系列哪个最猛番号| 中文字幕精品av在线观看| 青青草手机视频在线观看| 自拍偷拍 中文字幕 日韩| 超级碰碰碰97免费视频97| 精品人人妻人人澡人人爽| 五月天亚洲精品综合网| 88888欧美精品久久久| 中文字幕看日韩精品视频| 日本高清插阴视频免费| 好吊视频一区二 区三区视频| 美女极品美女福利视频在线| 亚洲在线一区二区三区免费| 欧美 激情 另类 自拍| 日韩高清av一区二区三区| av男人天堂精品久久| 欧美xxxx视频在线| 99国国视频在线播放| 欧美激情在线观看一区| 久久亚洲日本精品视频| 国产一区二区精品蜜臀av| 最新天堂一区二区三区| 91人妻精品动漫一区二区三区| 亚洲 欧美在线视频| 亚洲一区二区综合网| 小少妇被大鸡巴操手机在播放| 在线观看国产精品123| 亚洲视频专区在线播放| 天天摸天天干天天插天天操| 亚洲熟妇色在线观看| av影视在线免费观看| 国产三级伦理在线观看| 亚洲精品一区二区三区新线路| 91精品久久久久久婷婷高清 | 青青操成人免费在线视频| 久久99精品久久久久久小说| 中文字幕久久久久久人妻| 二根鸡巴日一个穴视频| 97超碰在线cao| 综合久久天天搞天天]| 91久色porny视频在线| 一区二区三区欧美高清| 播放灌醉水嫩大学生国内精品| 日韩精品高清免费视频| 91久色porny视频在线| 成人a毛片久久免费播放| 日韩一区二区视频在线看| 亚洲国产aⅴ成人精品无吗| 午夜精选视频在线观看| 国产成人啪精品视频免费| 一区二区三区在线中国| 国产精品黄色自拍视频| 亚洲欧美日韩不卡人妻中文字幕| 成年人中文字幕视频网| 国产在线观看网站资源| 啪啪啪免费亚洲精品网站| 欧美1234不卡视频| 久久久久久久久久久蜜桃| 人人咪咪一区二区三区| 登录国产黄色一区二区三区| 涩涩网站在线观看视频| 欧美丝袜熟女日韩亚洲| 一区二区三区四区免费福利视频 | 丝袜美图一区二区三区| 人妻久久免费视频中文字幕| 精品视频在线视频精品| 黄色成人激情福利在线影院| 欧美 亚洲 激情 自拍| 日韩av免费福利在线观看| 黄色中文字幕在线观看| 91在线免费观看成人| 亚洲欧美日韩偷窥自拍| 性感美女一区二区美女| 狠狠操 在线视频 轻轻草| 在线视频无码理论片| 视频你懂得在线观看| 亚洲另类熟女国产精品老| 午夜老司机福利一二三区| 性色av成年在线观看| 青娱乐青青草丁香婷婷| 91免费观看国产精品| 特黄特猛aaaaaaaaa片| 天天色天天操综合网| 欧美在线观看一级一区二区| 日韩欧美在线一区二区在线| 午夜福利免费福利视频| 在线观看免费黄片欧美| 亚洲综合另类小说色区色噜噜,| 精品一区二区三区大全| 夭天曰天天躁东京热天天摸| 黄色污污污网站免费观看 | 天天插天天摸天天爱| 亚洲熟妇色在线观看| 亚洲国产精品自拍视频在线观看| 黄色成人激情福利在线影院| 午夜三级影片免费播放| 色综合久久激情综合久久| 欧美成人a v在线| 国产情侣激情在线对白| 超碰在线观看97视频| 超碰在线97人人草| 亚洲av一区视频在线观看| 中文字幕av一区二区三区高| 99精品老司机免费视频| 狂野小农民在线高清| 欧美va久久久噜噜噜久久| 亚洲国产精彩中文乱码av| 青青操成人免费在线视频| 99麻豆精品国产自产在线观看| av网址大全在线播放| 日本熟妇wxw日本人妻| 99精品国产自在现线观看| 欧美丰满熟妇高潮xxxx| 亚洲国产精品国自产拍av在线| av手机在线免费播放| 亚洲国内自拍愉拍影音先锋| 国产传媒网址在线观看| 五月婷婷免费在线观看视频| 熟女人妻av中文字幕| 大秀视频一区二区三区| 亚洲精品**不卡在线播he| 亚洲精久久久久久久久久久久久| 熟女免费在线观看视频| 欧美综合一二区在线| 中文字幕黄色av网址| 96人妻一区=区三区| 天天操天天湿天天干| 欧美激情在线观看一区| 亚洲国产中文字幕在线视频| 欧美日韩国产综合不卡| 国产传媒网址在线观看| 欧美丰满熟妇高潮xxxx| 亚洲av永久久久久久久蜜桃| 亚洲天堂网久久av| 漂亮人妻被强制中出| 免费av在线中文字幕| 五月婷婷综合久久久| www国产精品久久久| 一区二区中文字幕18| 可以免费看的黄页视频| 亚洲欧美一区二区精华液| 亚洲伊人av 综合福利| 在线视频一视频二视频三| 亚洲欧美在线色图动态图| 青青视频青青成人免费| 丝袜美图一区二区三区| 五月婷婷丁香花激情网| 欧美 激情 另类 自拍| 国产九九视频在线观看| 日韩av卡一卡二卡三| 免费直接观看的麻豆黄色| 人人咪咪一区二区三区| 亚洲美女乱1区2区3区| 欧美 激情 另类 自拍| 男女精品久久久久久久久久| 午夜福利免费福利视频| 东游记中文字幕版哪里可以看到| 欧美在线一区日韩国产| 日韩avapp在线| 国产成人a一区二区| 久久久999精品在线| 99riav国产尤物蜜臀精品| 两个人午夜免费看视频| 狠狠干狠狠操五月天| 日本v片 中文字幕| 亚洲精品在线观看高清资源| 999在线精品视频观看| 国产成人啪精品视频免费| 久久久老熟女一区二区| 爆操嫩逼黑丝袜美女小骚逼| 69精品人妻一区二区| 国产极品尤物粉嫩泬在线观看 | 天天色天天爱天天日| xxxx在线免费观看视频| 成人一级黄色片免费看| 欧美精品乱码久久久久久| 在线观看成人激情av| 超碰在线观看97视频| 伊人精品在线大香蕉| 亚洲成av中文字幕| 大香蕉大香蕉在线播放| 亚洲欧洲自拍他拍av| 性感美女一区二区美女| 麻豆一区二区大豆行情| 日韩毛片基地免费看| 青青青青青青青青青青青青青草| 俄罗斯第一次处破女| 青青草精品视频在线免费观看| 自拍第一页免费视频| 天天操天天射天天综合网| 丝袜美腿国产在线观看| 精产国品一二三产区999| 少妇内射的视频一区二区| 国产大神一区二区三区| 日本少妇精品bbwbbw| 欧美va久久久噜噜噜久久| 漂亮人妻被强制中出| 成人教育 在线学习| 亚洲在线一区二区三区免费| 欧美 亚洲 激情 自拍| 婷婷综合尤物精品国产| 国产精品自拍亚洲春色| 午夜男女激情福利视频| 99久久久国产精品美女| 中文字幕av一区二区三区高| 看男破处女人逼黄色片观看| 午夜在线小视频在线观看| 国产一区三区四区五区| av在线播放网站资源| 美女主播大奶子黄瓜插逼| 午夜偷拍福利小视频| 日本中文字幕人妻一区二区| 男人天堂地址在线播放| 亚洲人成小说网站色在线| 欧美激情在线观看新地址| 亚洲女同性同志熟女女同| 欧洲野外激情性视频| 人妻寝取少妇乱中文字幕| 美女诱惑福利在线视频| 精品国产日韩一区三区| 中国福利在线黄色片| caoporn香蕉在线观看| 制服丝袜诱惑综合网| 国内精品久久久久精品爽爽| 可以免费看啪啪啪的网站 | 日本 久久久 香蕉| 天天天天拍天天天天天天| 青青热久免费精品视频21| 久操视频精品在线观看| 92免费视频人妻网| 午夜剧场欧美一区二区| 欧美日韩aaaaa级黄片视频| 日本伦理在线免费视频| 午夜男女激情福利视频| 狠狠躁日日躁夜夜躁视频| 999热这里只有精品视频| 天天干夜夜操日日操| 中文字幕精品av在线观看| 欧美黑人性色黄在线视频| 青草视频在在线成人av| 欧美激情在线观看新地址| 成人午夜影视在线观看| 国产麻豆在线av| 欧美亚洲综合偷拍另类| 国产在线视频国产资源| 91久久香蕉国产熟女| 视频在线观看免费99| 一级黄色片美女吃春满| 男人的坤插进女人的屁股里的视频| 精品欧美一亚洲精品午夜| 成人黄色大片免费网站| 色婷婷久久久久av| 蜜桃aⅴ噜噜一区二区三区网址| 91久久精品视频91| 黄色中文字幕在线观看| av影视在线免费观看| 亚洲三级这里只有精品| 中文有码一区二区三区| 偷拍亚洲另类图片视频| 欧美激情在线观看新地址| 国产伦精品三区精品国偷自产在线| 少妇高潮精品一区二区| 童话村热久久精品精| 狠狠躁日日躁夜夜躁视频| 古典武侠校园春色亚洲| av大片在线观看免费| av在线手机观看一区二区三区| 另类图片亚洲图区第一页| 亚洲va欧美va人人爽午夜| 蜜桃视频18在线观看| 99精品国产免费久久久久久| 91精品1080部在线播放| 麻豆精品午夜福利在线| 偷拍自拍视频图片免费| 男人插女人逼app| 成人麻豆免费视频精品区 | 中国福利在线黄色片| 人人妻人人妻人人妻人人妻人人人| 亚洲少妇av在线播放| 中文在线字幕第一页| 欧洲av性色在线看| 久久视频十八岁亚洲精品久久视频| av男人天堂精品久久| 日韩高清av一区二区三区| 国产精品久久久久精品蜜月| 无套内谢少妇高潮毛片免费看 | av色哟哟国产精品| 欧美xxxx视频在线| 96人妻一区=区三区| 最新日韩成人毛片在线| 午夜精品不卡视频在线观看| 欧美激情性4一级完整版| 97精品国产高清在线| 国产女人露脸高潮对白视频| 亚州 欧美日韩人妻熟女| 98视频在线免费观看| 色视频免费在线观看视频| 在线精品亚洲区一区二区| 国内精品视频久久久久| 亚洲激情视频免费在线| 销魂少妇一区二区视频| 在线观看成人激情av| 可以直接在线观看的一区 | 国产白丝美女在线网站| 婷婷亚洲综合在线五月天| 日本中文字幕人妻一区二区| 一区二区中文字幕18| 男生日女生逼的视频| 麻豆一区二区大豆行情| 亚洲熟妇av一区二区蜜桃第1集| 99国国视频在线播放| 操日本裸体美女骚逼| 午夜男女激情福利视频| 偷窥中国丰满多毛老熟女| 欧美黑人性色黄在线视频| 日韩国产亚洲在线视频| 欧美亚洲综合偷拍另类| 国产精品亚洲综合视频| 蜜桃av在线网址观看| 可以直接在线观看的一区| 免费观看视频一区,二区,三区 | 在线观看懂色精品大神视频| 日韩毛片综合在线观看网站| 精品无人区高清免费看| 亚洲精品成人原创视频| 国产又色又爽又黄又免费的小说| 青娱乐青青草丁香婷婷| 91免费观看国产精品| 亚洲一区二区三区免费| 黄色成人激情福利在线影院| 日本很黄很黄的动态视频| 欧美亚洲天堂不卡视频| 操人妻免费视频观看| 国产在线观看网站资源| 亚洲综合一区二区人妻| 亚洲国产图片小说一区二区| 国产极品尤物粉嫩泬在线观看| 可以在线观看的黄色网页| 黄色中文字幕在线观看| 国产伊人 av 自拍| 18人妻人碰人人做人人爽| 亚洲视频免费观看不卡| 爆操嫩逼黑丝袜美女小骚逼| 夜夜骑加勒比天天操| 亚洲国产日韩欧美高清片vr| 亚洲人人妻一区二区三区| 五月婷婷丁香花激情网| 国产黄a三级三级三级三级三级| 欧美在线观看视频一区五区| 999久久久无码精品免费看片| 瑟瑟的网站在线观看| 国产老熟女高潮在线播放| 农村女人91熟女熟妇| 国产精品啊啊啊不要在线观看| suv精品一区二区6| 98资源站精品视频在线观看| 日本中文字幕人妻一区二区| 欧美黑人天天干夜夜操| 少妇的激情夜夜爽爽爽爽爽| 久久久999精品在线| 久久草大香蕉在线视频| 日韩毛片综合在线观看网站| av一区二区二十四小时| 91九色在线视频网站| 少妇内射的视频一区二区 | 亚洲欧美精品tv久久久久久久久| 精品欧美一亚洲精品午夜| 女人扒开逼逼让男人操| 国产剧情免费在线观看| 亚洲妇熟xxxx妇色黄网站| 999久久久无码精品免费看片| 伊人精品在线大香蕉| 亚洲情品中文字幕人妻久久久边 | 天天摸天天干天天插天天操| 亚洲福利导航在线视频| 国自产拍偷拍福利精品免费观看| 又黑又硬又粗又黄又猛| 亚洲国产精品av久久久| 中文字幕亚洲日韩第一页| 女人被男人阳具抽插的呻吟视频 | 无套内谢少妇高潮毛片免费看| 青青热久免费精品视频21| 亚洲国产日韩欧美高清片vr| 女抽插流出张开淫水视频| 自拍第一页免费视频| 青娱乐青青草丁香婷婷| 日本大鸡巴乱伦肏屄网| 亚洲精品1234区在线看| 国自产拍偷拍福利精品免费观看| 人妻熟女一区二区aⅴ佐佐木明希| 久久久久久久国产精品人妻| 中国福利在线黄色片| 国产乱子伦一区=区三区| 欧美一级黄片视频免费| 国产美女视频在线播放| 美女极品美女福利视频在线| 天天操天天摸天天摸| 日本性少妇xxxx| 91表用白丝脚帮我脚交| 国产亚洲精品电影aa在线观看| 干风骚美女av在线| 五月天中文字幕剧情在线| 教资是不是人人都可以考| 色婷婷亚洲久久97成人| 国产一级二级三级亚洲| 狠狠躁日日躁夜夜躁视频| 亚洲中文字幕有码电影| 一区二区三区国产欧美日韩| 天堂网作爱视频在线播放| 蜜桃av在线网址观看| 国产三级做爰高清在线| 青春草在线视频播放免费观看网站| 熟妇人妻va精品中文字幕九色| 欧美在线观看视频一区五区| 青娱乐青青草丁香婷婷| 亚洲一区二区三区免费| 久操视频精品在线观看| 国产成人一区二区三区久| av网站资源在线观看| 色视频免费在线观看视频| 天天日天天日天天日天天干| 美女av网站在线观看| av网址在线观看日韩| 男的扒开女的下面狂操视频| 亚洲精品成人原创视频| 国产一区二区精品蜜臀av| 美女吃鸡巴黑料破处自慰| 欧美黑人天天干夜夜操| 五月婷婷免费在线观看视频| 日本免费播放一区二区三区| 人妻不卡一区二区三区| 国产日韩欧美精品久久久一区二区| 午夜三级影片免费播放| 适合黄黑皮的显白发色| 亚洲国产精品日日夜夜| 中文字幕日本一本二本三区| 欧美黑人性色黄在线视频| 视频在线播放一区二区| 国产又黄又粗又硬又大又猛的视频| 成人一级黄色片免费看| 新超碰97在线观看| 日本公与妇电影三级| x8x8免费在线观看视频| 午夜老司机福利一二三区| 99精产国品一二三产区网站| 人操美女操美女操美女| 欧美亚洲综合偷拍另类| 久久久999精品在线| 92免费视频人妻网| m3u8在线播放91| av在线手机观看一区二区三区| 人妻熟女免费一区二区萩原| 国产成人午夜精品视频| 九九热在线这里只有精品| 童话村热久久精品精| 精品久久久久aⅴ一区二区| 在线观看懂色精品大神视频| 亚洲免费观看小视频| 中文字幕看日韩精品视频| 婷婷爱在线视频精品| 欧美xxxx视频在线| 天天日天天色天天摸| 天天插天天摸天天爱| 26uuu天堂在线青青在线视频| 免费高清视频在线观看不卡男男| www国产亚洲天堂| 亚洲视频综合在线播放| 亚洲卡一卡二卡三新区| 欧美图色 亚洲图色| 国产伊人 av 自拍| 超级碰碰碰97免费视频97| 亚洲综合另类小说色区色噜噜,| 中文字幕永久在线一区二区| 国产av综合av国产精品| 亚洲国产久久久久久| 欧美 激情 另类 自拍| 日本少妇精品bbwbbw| 92免费视频人妻网| 亚洲综合另类小说色区色噜噜,| 狂野小农民在线高清| 欧美丝袜熟女日韩亚洲| 亚洲精品 国产成人| 91色porny 在线播放| 视频在线观看免费99| 国产av人人夜夜澡人人爽下载| 亚洲主要位于五带中的什么带? | 亚洲 网友 在线 观看| 97超碰在线视频观看| 色综合久久加勒比高清剧情| 天天色天天爱天天舔| 日韩毛片综合在线观看网站| 人操美女操美女操美女| 精品视频在线观看久久| 免费一级黄色片麻豆系列| 日本电影高清一区二区| 亚洲国产精彩中文乱码av| 动漫av纯肉免费在线观看| 久久精品国产亚洲a| 免费直接观看的麻豆黄色| 欧美日韩国产在线观看了| 日韩三级中文字幕熟女| 程嘉美日本全部三级| 好的一级毛片免费毛片直播| 办公室被吃奶好爽在线观看视频| 啪啪小视频免费网站| 性感美女一区二区美女| av一区二区三区蜜臀| 狠狠干狠狠操五月天| aaa222男人天堂| 妍强被迫伦姧惨叫123| 国产在线免播放器不卡| 少妇美女大极品内射| 干风骚美女av在线| 欧美亚洲国产校园春色| 精品少妇人妻av免费久久胖妇| 一级白丝美女久久久久| 婷婷av一区二区三区7| 漂亮的人妻不敢呻吟被中出| 好吊视频一区二 区三区视频| 成人在线视频国产自拍| 日韩av免费福利在线观看| 免费一级黄色片麻豆系列| 伊人青操在线观看视频网站| 91国产精品久久久久麻豆| 日韩伦理一区二区三区有码| 日本老太婆老熟妇av| 欧美一级性生活片人与动物 | 操白嫩人妻少妇真爽视频| 欧美在线播放一二区不卡| 国产原创成人av剧情在线播放| 日本系列变态另类一区二区三区| 99热6在线播放免费| av中文字幕在线播放| 国产精品午夜在线观看| av手机在线免费播放| 免费高清视频在线观看不卡男男| 国产又粗又猛又爽又色视频| 国产三级伦理在线观看| 人妻久久免费视频中文字幕| 日本女护士久久精品| 91表用白丝脚帮我脚交| 男人天堂在线免费观看| 午夜福利久久久国产视频| 91免费观看国产精品| xfplay亚洲资源| 亚洲女同性同志熟女女同| 手机视频在线观看99精品视频| 日日夜夜狠狠干干亚洲| 色噜噜在线综合亚洲欧美| 久久精品国产亚洲AV牛牛影视| 老司机免费福利视频网| 98资源站精品视频在线观看| 激情综合网激情俺她去| 色一伊人区二区亚洲最大| 男生的天堂亚洲男人| 操人妻视频在线免费观看| 亚洲精品久久久久久久久久蜜桃| 99精品国产免费久久久久久| 欧美黄色免费在线网站| 91高清免费观看在线| 亚洲日本欧洲一区二区| 天堂网作爱视频在线播放| 亚洲av男人的天堂久久久| 99精品视频在线观看专区| 日韩精品一区二区三区中文精 | 亚洲国产中文字幕在线视频 | yy111111少妇蜜桃| 18人妻人碰人人做人人爽| 99久久夜色精品国产亚洲软件| 97久久精品熟女超碰| 亚洲精品1234区在线看| 人人妻人人妻人人妻精品| 国产精品久久久久精品蜜月| 欧美图色 亚洲图色| 4455vw在线观看| 最大最全av中文字幕网| 夜夜操夜夜操夜夜爽| 91av国产在线观看| 亚洲欧美另类激情综合区动漫| 青娱乐青青草丁香婷婷| 亚洲精久久久久久久久久久久久| 新婚人妻聚会被中出| 日韩高清av一区二区三区| 一区二区三区国产欧美日韩| 欧美午夜不卡一区二区三区| 欧洲日韩视频一区二区三区| 99精品老司机免费视频| 午夜男女激情福利视频| 欧美在线播放一二区不卡| 久久久激情视频网站| 国产91精品久久久久高潮| 国产精品久久久久精品蜜月| av色哟哟国产精品| 亚洲精品成人a8198| 91国产精品久久久久麻豆| 老司机免费福利视频网| 久久99精品国产99久久6尤| 在线观看免费黄片欧美| 国产专区视频在线观看免费| 97电视剧在线观看免费完整版| 国产麻豆在线av| 天天日天天色天天摸| 69 久久99精品久久久| 成人福利视频一区二区| 88888欧美精品久久久| 99久久夜色精品国产亚洲软件| 亚洲另类熟女国产精品老| 欧美一区视频不卡高清| 亚洲一区二区成人综合| 亚洲图片一区偷拍自拍| 亚洲欧美日韩偷窥自拍| 久久久久久久久毛片精品奶炮| 国产成人女人毛毛片视频| 狠狠躁日日躁夜夜躁视频| 老师让我插进去69AV| 狠狠操 在线视频 轻轻草 | 国产美女视频在线播放| 亚洲欧美 在线视频| 91 chinese 在线播放| 国产视频在线精品视频| 97精品在线观看视频| 亚洲福利导航在线视频| 可以直接在线观看的一区| 女人样男人用大鸡巴操她的逼逼| 欧洲av性色在线看| 在线视频你懂的视频| 亚洲人人妻一区二区三区| 亚洲图片,自拍偷拍| 福利视频国产在线在线观看| av一区二区二十四小时| 少妇美女大极品内射| 国产91精品久久久久高潮| 韩日一级片中文字幕| 午夜精品不卡视频在线观看| av在线操亚洲图片| 91麻豆精品国产乱码久久久久久| 天天插天天色天天透| 欧美 亚洲 激情 自拍| av国产在线观看网站| 欧美 亚洲 激情 自拍| 九九热在线这里只有精品| 特黄特猛aaaaaaaaa片| 国语对白xxxx乱大交| 4455vw在线观看| 在线小视频,你懂的| 国产精品欧美日韩久久久免费观看| 国产高清免费在线视频| 中文字幕国产电影在线观看| 国产精品久久久久精品蜜月| 欧美va久久久噜噜噜久久| 人妻少妇偷人视频一| 欧美综合一区二区三区| 91久久国产丁香精品中文| 在线看片1024你懂得| av一区二区二十四小时| 精品无人区高清免费看|