国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

26道費(fèi)腦子的 JavaScript 面試題整理,看看你能答對(duì)幾道

共 10467字,需瀏覽 21分鐘

 ·

2021-08-05 20:59

來(lái)源 | https://www.cnblogs.com/wanglinmantan/p/15086909.html

今天為大家精選了26道稍微有點(diǎn)燒腦的JavaScript題,主要考察的是類(lèi)型判斷、作用域、this指向、原型、事件循環(huán)等知識(shí)點(diǎn),每道題都配有筆者詳細(xì)傻瓜式的解析,偏向于初學(xué)者,大佬請(qǐng)隨意。

第1題

let a = 1function b(a) {  a = 2  console.log(a)}b(a)console.log(a)

答案:

2、1

解析:

首先基本類(lèi)型數(shù)據(jù)是按值傳遞的,所以執(zhí)行b函數(shù)時(shí),b的參數(shù)a接收的值為1,參數(shù)a相當(dāng)于函數(shù)內(nèi)部的變量,當(dāng)本作用域有和上層作用域同名的變量時(shí),無(wú)法訪(fǎng)問(wèn)到上層變量,所以函數(shù)內(nèi)無(wú)論怎么修改a,都不影響上層,所以函數(shù)內(nèi)部打印的a是2,外面打印的仍是1。

第2題

function a (b = c, c = 1) {  console.log(b, c)}a()

答案:

報(bào)錯(cuò)

解析:

給函數(shù)多個(gè)參數(shù)設(shè)置默認(rèn)值實(shí)際上跟按順序定義變量一樣,所以會(huì)存在暫時(shí)性死區(qū)的問(wèn)題,即前面定義的變量不能引用后面還未定義的變量,而后面的可以訪(fǎng)問(wèn)前面的。

第3題

let a = b = 10;(function(){   let a = b = 20 })()console.log(a)console.log(b)

答案:

10、20

解析:

連等操作是從右向左執(zhí)行的,相當(dāng)于b = 10、let a = b,很明顯b沒(méi)有聲明就直接賦值了,所以會(huì)隱式創(chuàng)建為一個(gè)全局變量,函數(shù)內(nèi)的也是一樣,并沒(méi)有聲明b,直接就對(duì)b賦值了,因?yàn)樽饔糜蜴?,?huì)一層一層向上查找,找了到全局的b,所以全局的b就被修改為20了,而函數(shù)內(nèi)的a因?yàn)橹匦侣暶髁?,所以只是局部變量,不影響全局的a,所以a還是10。

第4題

var a = {n:1}var b = aa.x = a = {n:2}console.log(a.x)console.log(b.x)
答案:

undefined、{n: 2}


解析:恕筆者不才,這道題筆者做一次錯(cuò)一次。


反正按照網(wǎng)上大部分的解釋是因?yàn)?運(yùn)算符優(yōu)先級(jí)最高,所以會(huì)先執(zhí)行a.x,此時(shí)a、b共同指向的{n: 1}變成了{(lán)n: 1, x: undefined},然后按照連等操作從右到左執(zhí)行代碼,a = {n: 2},顯然,a現(xiàn)在指向了一個(gè)新對(duì)象,然后a.x = a,因?yàn)閍.x最開(kāi)始就執(zhí)行過(guò)了,所以這里其實(shí)等價(jià)于:({n: 1, x: undefined}).x = b.x = a = {n: 2}。

第5題

var arr = [0, 1, 2]arr[10] = 10console.log(arr.filter(function (x) {  return x === undefined}))
答案:

[]

解析:

這題比較簡(jiǎn)單,arr[10]=10,那么索引3到9位置上都是undefined,arr[3]等打印出來(lái)也確實(shí)是undefined,但是,這里其實(shí)涉及到ECMAScript版本不同對(duì)應(yīng)方法行為不同的問(wèn)題,ES6之前的遍歷方法都會(huì)跳過(guò)數(shù)組未賦值過(guò)的位置,也就是空位,但是ES6新增的for of方法就不會(huì)跳過(guò)。

第6題

var name = 'World';(function ({  if (typeof name === 'undefined') {    var name = "Jack"    console.info('Goodbye ' + name)  } else {    console.info('Hello ' + name)  }})()
答案:

Goodbye Jack

解析:

這道題考察的是變量提升的問(wèn)題,var聲明變量時(shí)會(huì)把變量自動(dòng)提升到當(dāng)前作用域頂部,所以函數(shù)內(nèi)的name雖然是在if分支里聲明的,但是也會(huì)提升到外層,因?yàn)楹腿值淖兞縩ame重名,所以訪(fǎng)問(wèn)不到外層的name,最后因?yàn)橐崖暶魑促x值的變量的值都為undefined,導(dǎo)致if的第一個(gè)分支滿(mǎn)足條件。

第7題

console.log(1 + NaN)console.log("1" + 3)console.log(1 + undefined)console.log(1 + null)console.log(1 + {})console.log(1 + [])console.log([] + {})
答案:

NaN、13、NaN、1、1[object Object]、1、[object Object]

解析:

這道題考察的顯然是+號(hào)的行為:

1.如果有一個(gè)操作數(shù)是字符串,那么把另一個(gè)操作數(shù)轉(zhuǎn)成字符串執(zhí)行連接

2.如果有一個(gè)操作數(shù)是對(duì)象,那么調(diào)用對(duì)象的valueOf方法轉(zhuǎn)成原始值,如果沒(méi)有該方法或調(diào)用后仍是非原始值,則調(diào)用toString方法

3.其他情況下,兩個(gè)操作數(shù)都會(huì)被轉(zhuǎn)成數(shù)字執(zhí)行加法操作

第8題

var a={},    b={key:'b'},    c={key:'c'}a[b]=123a[c]=456console.log(a[b])
答案:

456

解析:

對(duì)象有兩種方法設(shè)置和引用屬性,obj.name和obj['name'],方括號(hào)里可以字符串、數(shù)字和變量設(shè)置是表達(dá)式等,但是最終計(jì)算出來(lái)得是一個(gè)字符串,對(duì)于上面的b和c,它們兩個(gè)都是對(duì)象,所以會(huì)調(diào)用toString()方法轉(zhuǎn)成字符串,對(duì)象轉(zhuǎn)成字符串和數(shù)組不一樣,和內(nèi)容無(wú)關(guān),結(jié)果都是[object Obejct],所以a[b]=a[c]=a['[object Object]']。

第9題

var out = 25var inner = {  out: 20,  func: function () {    var out = 30    return this.out  }};console.log((inner.func, inner.func)())console.log(inner.func())console.log((inner.func)())console.log((inner.func = inner.func)())
答案:

25、20、20、25

解析:

這道題考察的是this指向問(wèn)題:

1.逗號(hào)操作符會(huì)返回表達(dá)式中的最后一個(gè)值,這里為inner.func對(duì)應(yīng)的函數(shù),注意是函數(shù)本身,然后執(zhí)行該函數(shù),該函數(shù)并不是通過(guò)對(duì)象的方法調(diào)用,而是在全局環(huán)境下調(diào)用,所以this指向window,打印出來(lái)的當(dāng)然是window下的out

2.這個(gè)顯然是以對(duì)象的方法調(diào)用,那么this指向該對(duì)象

3.加了個(gè)括號(hào),看起來(lái)有點(diǎn)迷惑人,但實(shí)際上(inner.func)和inner.func是完全相等的,所以還是作為對(duì)象的方法調(diào)用

4.賦值表達(dá)式和逗號(hào)表達(dá)式相似,都是返回的值本身,所以也相對(duì)于在全局環(huán)境下調(diào)用函數(shù)

第10題

let {a,b,c} = { c:3, b:2, a:1 }console.log(a, b, c)
答案:

1、2、3

解析:

這題考察的是變量解構(gòu)賦值的問(wèn)題,數(shù)組解構(gòu)賦值是按位置對(duì)應(yīng)的,而對(duì)象只要變量與屬性同名,順序隨意。

第11題

console.log(Object.assign([1, 2, 3], [4, 5]))
答案:

[4, 5, 3]

解析:

是不是從來(lái)沒(méi)有用assign方法合并過(guò)數(shù)組?assign方法可以用于處理數(shù)組,不過(guò)會(huì)把數(shù)組視為對(duì)象,比如這里會(huì)把目標(biāo)數(shù)組視為是屬性為0、1、2的對(duì)象,所以源數(shù)組的0、1屬性的值覆蓋了目標(biāo)對(duì)象的值。

第12題

var x=1switch(x++){  case 0: ++x  case 1: ++x  case 2: ++x}console.log(x)
答案:

4

解析:

這題考查的是自增運(yùn)算符的前綴版和后綴版,以及switch的語(yǔ)法,后綴版的自增運(yùn)算符會(huì)在語(yǔ)句被求值后才發(fā)生。

所以x會(huì)仍以1的值去匹配case分支,那么顯然匹配到為1的分支,此時(shí),x++生效,x變成2,再執(zhí)行++x,變成3,因?yàn)闆](méi)有break語(yǔ)句。

所以會(huì)進(jìn)入當(dāng)前case后面的分支,所以再次++x,最終變成4。

第13題

console.log(typeof undefined == typeof NULL)console.log(typeof function () {} == typeof class {})
答案:

true、true

解析:

1.首先不要把NULL看成是null,js的關(guān)鍵字是區(qū)分大小寫(xiě)的,所以這就是一個(gè)普通的變量,而且沒(méi)有聲明,typeof對(duì)沒(méi)有聲明的變量使用是不會(huì)報(bào)錯(cuò)的,返回'undefined',typeof對(duì)undefined使用也是'undefined',所以?xún)烧呦嗟?/span>

第14題

var count = 0console.log(typeof count === "number")console.log(!!typeof count === "number")
答案:

true、false

解析:

1.沒(méi)啥好說(shuō)的,typeof對(duì)數(shù)字類(lèi)型返回'number'。

2.這題考查的是運(yùn)算符優(yōu)先級(jí)的問(wèn)題,邏輯非!的優(yōu)先級(jí)比全等===高,所以先執(zhí)行!!typeof count,結(jié)果為true,然后執(zhí)行true === 'number',結(jié)果當(dāng)然為false

第15題

"use strict"a = 1var a = 2console.log(window.a)console.log(a)
答案:

2、2

解析:

var聲明會(huì)把變量提升到當(dāng)前作用域頂部,所以a=1并不會(huì)報(bào)錯(cuò),另外在全局作用域下使用var聲明變量,該變量會(huì)變成window的一個(gè)屬性,以上兩點(diǎn)都和是否在嚴(yán)格模式下無(wú)關(guān)。

第16題

var i = 1function b() {  console.log(i)}function a() {  var i = 2  b()}a()
答案:

1

解析:

這道題考察的是作用域的問(wèn)題,作用域其實(shí)就是一套變量的查找規(guī)則,每個(gè)函數(shù)在執(zhí)行時(shí)都會(huì)創(chuàng)建一個(gè)執(zhí)行上下文,其中會(huì)關(guān)聯(lián)一個(gè)變量對(duì)象,也就是它的作用域,上面保存著該函數(shù)能訪(fǎng)問(wèn)的所有變量,另外上下文中的代碼在執(zhí)行時(shí)還會(huì)創(chuàng)建一個(gè)作用域鏈,如果某個(gè)標(biāo)識(shí)符在當(dāng)前作用域中沒(méi)有找到,會(huì)沿著外層作用域繼續(xù)查找,直到最頂端的全局作用域,因?yàn)閖s是詞法作用域,在寫(xiě)代碼階段就作用域就已經(jīng)確定了,換句話(huà)說(shuō),是在函數(shù)定義的時(shí)候確定的,而不是執(zhí)行的時(shí)候,所以a函數(shù)是在全局作用域中定義的,雖然在b函數(shù)內(nèi)調(diào)用,但是它只能訪(fǎng)問(wèn)到全局的作用域而不能訪(fǎng)問(wèn)到b函數(shù)的作用域。

第17題

var obj = {  name: 'abc',  fn: () => {    console.log(this.name)  }};obj.name = 'bcd'obj.fn()
答案:

undefined

解析:

這道題考察的是this的指向問(wèn)題,箭頭函數(shù)執(zhí)行的時(shí)候上下文是不會(huì)綁定this的,所以它里面的this取決于外層的this,這里函數(shù)執(zhí)行的時(shí)候外層是全局作用域,所以this指向window,window對(duì)象下沒(méi)有name屬性,所以是undefined。

第18題

const obj = {  a: {    a: 1  }};const obj1 = {  a: {    b: 1  }};console.log(Object.assign(obj, obj1))
答案:

{a: {b: 1}}

解析:

這道題很簡(jiǎn)單,因?yàn)閍ssign方法執(zhí)行的是淺拷貝,所以源對(duì)象的a屬性會(huì)直接覆蓋目標(biāo)對(duì)象的a屬性。

第19題

console.log(a)var a = 1var getNum = function() {  a = 2}function getNum() {  a = 3}console.log(a)getNum()console.log(a)
答案:

undefined、1、2

解析:

首先因?yàn)関ar聲明的變量提升作用,所以a變量被提升到頂部,未賦值,所以第一個(gè)打印出來(lái)的是undefined。

接下來(lái)是函數(shù)聲明和函數(shù)表達(dá)式的區(qū)別,函數(shù)聲明會(huì)有提升作用,在代碼執(zhí)行前就把函數(shù)提升到頂部,在執(zhí)行上下文上中生成函數(shù)定義,所以第二個(gè)getNum會(huì)被最先提升到頂部。

然后是var聲明getNum的提升,但是因?yàn)間etNum函數(shù)已經(jīng)被聲明了,所以就不需要再聲明一個(gè)同名變量,接下來(lái)開(kāi)始執(zhí)行代碼,執(zhí)行到var getNum = fun...時(shí),雖然聲明被提前了,但是賦值操作還是留在這里。

所以getNum被賦值為了一個(gè)函數(shù),下面的函數(shù)聲明直接跳過(guò),最后,getNum函數(shù)執(zhí)行前a打印出來(lái)還是1,執(zhí)行后,a被修改成了2,所以最后打印出來(lái)的2。

第20題

var scope = 'global scope'function a(){  function b(){     console.log(scope)  }  return b  var scope = 'local scope'}a()()
答案:

undefined

解析:

這題考查的還是變量提升和作用域的問(wèn)題,雖然var聲明是在return語(yǔ)句后面,但還是會(huì)提升到a函數(shù)作用域的頂部。

然后又因?yàn)樽饔糜蚴窃诤瘮?shù)定義的時(shí)候確定的,與調(diào)用位置無(wú)關(guān),所以b的上層作用域是a函數(shù),scope在b自身的作用域里沒(méi)有找到,向上查找找到了自動(dòng)提升的并且未賦值的scope變量,所以打印出undefined。

第21題

function fn (){   console.log(this) }var arr = [fn]arr[0]()

答案:

打印出arr數(shù)組本身

解析:

函數(shù)作為某個(gè)對(duì)象的方法調(diào)用,this指向該對(duì)象,數(shù)組顯然也是對(duì)象,只不過(guò)我們都習(xí)慣了對(duì)象引用屬性的方法:obj.fn,但是實(shí)際上obj['fn']引用也是可以的。

第22題

var a = 1function a(){}console.log(a)
var bfunction b(){}console.log(b)
function b(){}var bconsole.log(b)
答案:

1、b函數(shù)本身、b函數(shù)本身

解析:

這三小題都涉及到函數(shù)聲明和var聲明,這兩者都會(huì)發(fā)生提升,但是函數(shù)會(huì)優(yōu)先提升,所以如果變量和函數(shù)同名的話(huà),變量的提升就忽略了。

1.提升完后,執(zhí)行到賦值代碼,a被賦值成了1,函數(shù)因?yàn)橐呀?jīng)聲明提升了,所以跳過(guò),最后打印a就是1。

2.和第一題類(lèi)似,只是b沒(méi)有賦值操作,那么執(zhí)行到這兩行相當(dāng)于都沒(méi)有操作,b當(dāng)然是函數(shù)。

3.和第二題類(lèi)似,只是先后順序換了一下,但是并不影響兩者的提升順序,仍是函數(shù)優(yōu)先,同名的var聲明提升忽略,所以打印出b還是函數(shù)。

第23題

function Foo() {  getName = function () { console.log(1) }  return this}Foo.getName = function () { console.log(2) }Foo.prototype.getName = function () { console.log(3) }var getName = function () { console.log(4) }function getName() { console.log(5) }
//請(qǐng)寫(xiě)出以下輸出結(jié)果:Foo.getName()getName()Foo().getName()getName()new Foo.getName()new Foo().getName()new new Foo().getName()
答案:

2、4、1、1、2、3、3

解析:

這是一道綜合性題目,首先getName函數(shù)聲明會(huì)先提升,然后getName函數(shù)表達(dá)式提升,但是因?yàn)楹瘮?shù)聲明提升在線(xiàn),所以忽略函數(shù)表達(dá)式的提升,然后開(kāi)始執(zhí)行代碼,執(zhí)行到var getName= ...時(shí),修改了getName的值,賦值成了打印4的新函數(shù)。

1.執(zhí)行Foo函數(shù)的靜態(tài)方法,打印出2。

2.執(zhí)行g(shù)etName,當(dāng)前getName是打印出4的那個(gè)函數(shù)。

3.執(zhí)行Foo函數(shù),修改了全局變量getName,賦值成了打印1的函數(shù),然后返回this,因?yàn)槭窃谌汁h(huán)境下執(zhí)行,所以this指向window,因?yàn)間etName已經(jīng)被修改了,所以打印出1。

4.因?yàn)間etName沒(méi)有被重新賦值,所以再執(zhí)行仍然打印出1。

5.new操作符是用來(lái)調(diào)用函數(shù)的,所以new Foo.getName()相當(dāng)于new (Foo.getName)(),所以new的是Foo的靜態(tài)方法getName,打印出2。

6.因?yàn)辄c(diǎn)運(yùn)算符(.)的優(yōu)先級(jí)和new是一樣高的,所以從左往右執(zhí)行,相當(dāng)于(new Foo()).getName(),對(duì)Foo使用new調(diào)用會(huì)返回一個(gè)新創(chuàng)建的對(duì)象,然后執(zhí)行該對(duì)象的getName方法,該對(duì)象本身并沒(méi)有該方法,所以會(huì)從Foo的原型對(duì)象上查找,找到了,所以打印出3。

7.和上題一樣,點(diǎn)運(yùn)算符(.)的優(yōu)先級(jí)和new一樣高,另外new是用來(lái)調(diào)用函數(shù)的,所以new new Foo().getName()相當(dāng)于new ((new Foo()).getName)(),括號(hào)里面的就是上一題。所以最后找到的是Foo原型上的方法,無(wú)論是直接調(diào)用,還是通過(guò)new調(diào)用,都會(huì)執(zhí)行該方法,所以打印出3。

第24題

const person = {  address: {    country:"china",    city:"hangzhou"  },  say: function () {    console.log(`it's ${this.name}, from ${this.address.country}`)  },  setCountry:function (country) {    this.address.country=country  }}
const p1 = Object.create(person)const p2 = Object.create(person)
p1.name = "Matthew"p1.setCountry("American")
p2.name = "Bob"p2.setCountry("England")
p1.say()p2.say()
答案:

it's Matthew, from England

it's Bob, from England

解析:

Object.create方法會(huì)創(chuàng)建一個(gè)對(duì)象,并且將該對(duì)象的__proto__屬性指向傳入的對(duì)象,所以p1和p2兩個(gè)對(duì)象的原型對(duì)象指向了同一個(gè)對(duì)象,接著給p1添加了一個(gè)name屬性,然后調(diào)用了p1的setCountry方法,p1本身是沒(méi)有這個(gè)方法的。

所以會(huì)沿著原型鏈進(jìn)行查找,在它的原型上,也就是person對(duì)象上找到了這個(gè)方法,執(zhí)行這個(gè)方法會(huì)給address對(duì)象的country屬性設(shè)置傳入的值,p1本身也是沒(méi)有address屬性的,但是和name屬性不一樣,address屬性在原型對(duì)象上找到了,并且因?yàn)槭莻€(gè)引用值。

所以會(huì)成功修改它的country屬性,接著對(duì)p2的操作也是一樣,然后因?yàn)樵椭写嬖谝弥禃?huì)在所有實(shí)例中共享。

所以p1和p2它們引用的address也是同一個(gè)對(duì)象,一個(gè)實(shí)例修改了,會(huì)反映到所有實(shí)例上,所以p2的修改會(huì)覆蓋p1的修改,最終country的值為England。

第25題

setTimeout(function() {  console.log(1)}, 0)new Promise(function(resolve) {  console.log(2)  for( var i=0 ; i<10000 ; i++ ) {    i == 9999 && resolve()  }  console.log(3)}).then(function() {  console.log(4)})console.log(5)
答案:

2、3、5、4、1

解析:

這道題顯然考察的是事件循環(huán)的知識(shí)點(diǎn)。

js是一門(mén)單線(xiàn)程的語(yǔ)言,但是為了執(zhí)行一些異步任務(wù)時(shí)不阻塞代碼,以及避免等待期間的資源浪費(fèi),js存在事件循環(huán)的機(jī)制,單線(xiàn)程指的是執(zhí)行js的線(xiàn)程,稱(chēng)作主線(xiàn)程。

其他還有一些比如網(wǎng)絡(luò)請(qǐng)求的線(xiàn)程、定時(shí)器的線(xiàn)程,主線(xiàn)程在運(yùn)行時(shí)會(huì)產(chǎn)生執(zhí)行棧,棧中的代碼如果調(diào)用了異步api的話(huà)則會(huì)把事件添加到事件隊(duì)列里,只要該異步任務(wù)有了結(jié)果便會(huì)把對(duì)應(yīng)的回調(diào)放到【任務(wù)隊(duì)列】里,當(dāng)執(zhí)行棧中的代碼執(zhí)行完畢后會(huì)去讀取任務(wù)隊(duì)列里的任務(wù),放到主線(xiàn)程執(zhí)行,當(dāng)執(zhí)行??樟擞謺?huì)去檢查,如此往復(fù),也就是所謂的事件循環(huán)。

異步任務(wù)又分為【宏任務(wù)】(比如setTimeout、setInterval)和【微任務(wù)】(比如promise),它們分別會(huì)進(jìn)入不同的隊(duì)列,執(zhí)行棧為空完后會(huì)優(yōu)先檢查微任務(wù)隊(duì)列,如果有微任務(wù)的話(huà)會(huì)一次性執(zhí)行完所有的微任務(wù),然后去宏任務(wù)隊(duì)列里檢查,如果有則取出一個(gè)任務(wù)到主線(xiàn)程執(zhí)行,執(zhí)行完后又會(huì)去檢查微任務(wù)隊(duì)列,如此循環(huán)。

回到這題,首先整體代碼作為一個(gè)宏任務(wù)開(kāi)始執(zhí)行,遇到setTimeout,相應(yīng)回調(diào)會(huì)進(jìn)入宏任務(wù)隊(duì)列,然后是promise,promise的回調(diào)是同步代碼,所以會(huì)打印出2,for循環(huán)結(jié)束后調(diào)用了resolve。

所以then的回調(diào)會(huì)被放入微任務(wù)隊(duì)列,然后打印出3,最后打印出5,到這里當(dāng)前的執(zhí)行棧就空了,那么先檢查微任務(wù)隊(duì)列,發(fā)現(xiàn)有一個(gè)任務(wù),那么取出來(lái)放到主線(xiàn)程執(zhí)行,打印出4,最后檢查宏任務(wù)隊(duì)列,把定時(shí)器的回調(diào)放入主線(xiàn)程執(zhí)行,打印出1。

第26題

console.log('1');
setTimeout(function() { console.log('2'); process.nextTick(function() { console.log('3'); }); new Promise(function(resolve) { console.log('4'); resolve(); }).then(function() { console.log('5'); });});
process.nextTick(function() { console.log('6');});
new Promise(function(resolve) { console.log('7'); resolve();}).then(function() { console.log('8');});
setTimeout(function() { console.log('9'); process.nextTick(function() { console.log('10'); }) new Promise(function(resolve) { console.log('11'); resolve(); }).then(function() { console.log('12') });})
答案:

1、7、6、8、2、4、9、11、3、10、5、12

解析:

這道題和上一題差不多,但是出現(xiàn)了process.nextTick,所以顯然是在node環(huán)境下,node也存在事件循環(huán)的概念,但是和瀏覽器的有點(diǎn)不一樣,nodejs中的宏任務(wù)被分成了幾種不同的階段,兩個(gè)定時(shí)器屬于timers階段,setImmediate屬于check階段,socket的關(guān)閉事件屬于close callbacks階段,其他所有的宏任務(wù)都屬于poll階段。

除此之外,只要執(zhí)行到前面說(shuō)的某個(gè)階段,那么會(huì)執(zhí)行完該階段所有的任務(wù),這一點(diǎn)和瀏覽器不一樣,瀏覽器是每次取一個(gè)宏任務(wù)出來(lái)執(zhí)行,執(zhí)行完后就跑去檢查微任務(wù)隊(duì)列了。

但是nodejs是來(lái)都來(lái)了,一次全部執(zhí)行完該階段的任務(wù)好了,那么process.nextTick和微任務(wù)在什么階段執(zhí)行呢,在前面說(shuō)的每個(gè)階段的后面都會(huì)執(zhí)行,但是process.nextTick會(huì)優(yōu)先于微任務(wù)。

一圖勝千言:

理解了以后再來(lái)分析這道題就很簡(jiǎn)單了,首先執(zhí)行整體代碼,先打印出1,setTimeout回調(diào)扔進(jìn)timers隊(duì)列,nextTick的扔進(jìn)nextTick的隊(duì)列,promise的回調(diào)是同步代碼,執(zhí)行后打印出7,then回調(diào)扔進(jìn)微任務(wù)隊(duì)列。

然后又是一個(gè)setTimeout回調(diào)扔進(jìn)timers隊(duì)列,到這里當(dāng)前節(jié)點(diǎn)就結(jié)束了,檢查nextTick和微任務(wù)隊(duì)列,nextTick隊(duì)列有任務(wù),執(zhí)行后打印出6,微任務(wù)隊(duì)列也有,打印出8。

接下來(lái)按順序檢查各個(gè)階段,check隊(duì)列、close callbacks隊(duì)列都沒(méi)有任務(wù),到了timers階段,發(fā)現(xiàn)有兩個(gè)任務(wù),先執(zhí)行第一個(gè),打印出2。

然后nextTick的扔進(jìn)nextTick的隊(duì)列,執(zhí)行promise打印出4,then回調(diào)扔進(jìn)微任務(wù)隊(duì)列,再執(zhí)行第二個(gè)setTimeout的回調(diào),打印出9。

然后和剛才一樣,nextTick的扔進(jìn)nextTick的隊(duì)列,執(zhí)行promise打印出11,then回調(diào)扔進(jìn)微任務(wù)隊(duì)列,到這里timers階段也結(jié)束了,執(zhí)行nextTick隊(duì)列的任務(wù),發(fā)現(xiàn)又兩個(gè)任務(wù),依次執(zhí)行,打印出3和10。

然后檢查微任務(wù)隊(duì)列,也是兩個(gè)任務(wù),依次執(zhí)行,打印出5和12,到這里是有隊(duì)列都清空了。

學(xué)習(xí)更多技能

請(qǐng)點(diǎn)擊下方公眾號(hào)

瀏覽 35
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評(píng)論
圖片
表情
推薦
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 激情啪啪网站| 中文字幕AV在线免费观看| a免费在线观看| 中文字幕偷拍| 91麻豆电影| 亚洲AV中文无码| 激情视频网站| 亚洲精品久久久久久久蜜桃| 精品国产一区二区三区久久久蜜月| 91精产国品一二| 无码电影免费观看| 黄色片网站在线观看| igao在线观看| 尤物yw| 最新无码在线| 精品国产免费观看久久久_久久天天| 91人妻人人澡人人爽人人| 欧美成人免费A级在线观看| 996精品视频| ThePorn日本无码| 在线草| 午夜福利电影网| 国产免费成人视频| 国产精品在线免费| 欧美97| 无码日韩av| 99久久99久久精品免费看小说。 | 亚洲无码二区| 国产精品久久久久久最猛| 夫妻-ThePorn| 婷婷爱五月天| 日本最新免费二区| 人妻爽爽| 亚洲精品大片| 人妻操逼视频| 激情丁香五月天| 男女视频网站在线观看| 精品国产黄色| 丁香激情视频| 大香蕉久久久久久| 一本久道综合| 久久丁香五月| 亚洲无码人妻一区| 网站毛片| 天天色色| 欧美韩日一区二区| 欧美老女人操逼群| 欧美成人视频18| 日韩视频久久| 精品乱子伦一区二区三区,亚洲国产成| 久久精品国产亚洲AV成人婷婷| 特黄视频| 18害羞勿进网站国产| 免费观看成人| 星空AV| 国产成人小视频| 超碰中文字幕| 小黄片免费在线观看| 中文字幕无码人妻在线视频| 国产又爽又黄免费网站在| 一级无码免费| 91白丝喷水自慰网站| 98无码人妻精品一区二区三区| 无码免费一区二区三区| AV无码在线观看| 激情视频网| 色999| 欧美囗交荫蒂AAAA| 午夜成人AV| 精品少妇一区| 久久一区二区三区四区五区 | 黄色精品视频| 日韩欧美久久| 爽好紧别夹喷水网站| 中文字幕日韩人妻在线| 欧美亚洲在线| 国内自拍一区| 三级亚洲| 三级片一区二区| 免费看黄色一级片| 91精品人妻少妇无码影院 | 无码操逼视频| 四虎av在线| 亚洲午夜在线| 狠狠干伊人| 91视频你懂的| 亚卅无码| 影音先锋在线成人| 成人高清无码在线| 国产乱人伦无码视频| 国产精品久久久久久99| 无码熟妇人妻无码AV在线天堂| 成年片免费观看网站免费观看,亚洲+欧... | 国产免费久久久| 日韩精品无码一区二区三区| 免费看黄色的网站| 大香蕉偷拍视频| 久9久9久9久9久9久9| 亚洲激情国产| 久久久久久亚洲AV黄床| 国产一级做a爱免费视频| 少妇三级| 日本欧美成人片AAAA| 9l视频自拍蝌蚪9l视频成人| 男人操女人网站| 日韩精品毛片一区二区视频免费| 欧美黄片区| 毛片黄色片| 青草青青视频| 精品无码一区二区三区四区五区| 蜜桃视频成人版网站| 亚洲午夜福利一区二区三区| 国产精品成人3p一区二区三区| 国产精品久久久久的角色| 日韩成人无码片| 专肏老妇人大逼| 天天插综合| 91久久久久久久久久久| 夜夜躁狠狠躁| 天天做天天爱夜夜爽| 国产天堂av| 亚洲一本大道| 秋霞丝鲁片一区二区三区手机在绒免 | 久久精彩| 亚洲AV无码成人精品久久久| 午夜人妻无码| 亚洲精品久久久久久久蜜桃| 97爱爱网| 久久久波多野结衣| 人人看AV| 无码成人精品| 国产Aⅴ| 日本成人三级片| 午夜成人小电影| 亚洲免费中文字幕| 亚洲成人在线网站| 人人色人人爱| 丝袜诱惑AV| 国产性爱在线视频| 国产成人毛片| 97亚洲视频| 国产手机AV在线| 成人中文字幕在线| 一区无码高清| 91熟女视频| 安徽妇搡BBBB搡BBBB袄爱直播 | 日韩性爱AV| 青娱乐一级无码| 伊人网视频在线观看| 囯产精品久久久久久久久免费无码 | 成人免费A片在线观看直播96| 精品一区二区三区三区| 91成人无码看片在线观看网址| 大香蕉伊人青青草| 日韩无码播放| 亚洲欧美成人网站| 日本一区二区三区视频在线观看 | 91无码一区二区三区在线| 欧美午夜三级| 九久热| 久久人搡人人玩人妻精AV香蕉| 色婷婷在线观看视频| 国产无码做爱视频| 亚洲在线免费观看| 老熟女一区二区三区| 小草一区| 超碰老熟女| 黄页网站免费观看| 三级片亚洲| 亚洲码AV波多野| 在线观看黄色片| 国产成人精品av| 国产亚洲精品久久久波多野结衣| 夜夜撸视频| 亚洲欧美v| 97国产精品视频人人做人人爱| 热无码av| 免费无码视频在线观看| 色99视频| 国产白丝视频| 一级A片久久久免费直播间| www.bbbb| 福利毛片| 中文字幕免费MV第一季歌词 | 久久99免费视频| 围产精品久久久久久久| 国产黄色在线看| 嫩草视频在线观看免费网站| 色情片免费看| 久久撸视频| 成人毛片在线播放免费| www.国产精品| 中文字幕av第一页| 丁香六月婷婷综合缴| av资源在线| 色婷婷六月| 欧美色图另类图片| 天天操天天日天天射| 精品人人人人| 2015中文字幕黄色视频| 中国一级黄片| 欧美69成人| 伊人在线视频观看| 日韩黄色电影网址| 久久黄色视频网站| 欧美日韩逼| sm视频网站| 亚洲高清电影| 九九精品在线观看| 影音先锋亚洲资源| 色妞一區| 高清免费在线中文Av| 三级无码在线观看| 黃色级A片一級片| 日韩成人无码一区二区| 中文字幕高清免费看| 久热中文在线观看精品视频| 美日韩在线| av网站免费看| 日韩黄色在线观看| 91大神在线资源观看无广告| 在线免费观看av网站| 2014av天堂网| 天堂成人在线| 蜜臀久久99精品久久久巴士| 最好看2019中文在线播放电影| BBw日本熟妇BBwHD| AV大全在线观看| 无码中文av| 日本50路熟女| 国产丰满大乳无码免费播放 | 成人一级黄色电影| 2026国产精品视频| 色色热| 亚洲vs无码秘蜜桃少妇小说| 日韩性爱网址| 国产精品无码在线播放| 亚洲69视频| 日韩无码高清视频| 无码欧美人XXXXX日本无码| 99热综合在线| 美女黄色视频网站| 日本一级按摩片免费观看| 五月婷网| 人人免费操| 午夜操逼视频| 国产主播精品| 欧美日在线观看| 国产在线视频一区二区| 国产77777| 国产成人tv| 996re| 一本色道久久综合亚洲精品小说| 伊人在线观看视频| 波多野结衣视频在线观看| 蝌蚪窝免费视频| 亚洲AV激情无码专区在线播放| 91丝袜一区二区| 欧美色图色就是色| 日韩欧美第一页| 狠狠操综合网| 国产一级a毛片| 免费黄色视频网站在线观看| 猛男大粗猛爽H男人味| 狠狠综合| 91人妻人人澡人人爽人人DVD | 青青色在线视频| 天天操b| 日韩av三级在线观看| 亚洲日逼网站| AV一区二区三区四区| 日韩激情视频| 波多野结衣无码网站| 超小超嫩国产合集六部| 欧美成人精品欧美一级乱黄| 色五月亚洲| 91精品在线免费观看| 成人免费毛片AAAAAA片| 正在播放无码| 国产九九在线视频| 国产久久这里只有精品视频| 五月婷婷啪| 亚洲成人性爱视频| 丁香久久| 亚洲成人77777| 亚洲日韩欧美一区二区天天天| 亚洲精品自拍| 亚洲精品视频在线观看免费| 亚洲黄色免费电影| 99国产精品| 亚洲熟妇在线观看| 91老熟女视频| 国产黄色视频在线观看| 日韩在线91| 亚洲精品国产av| 日本成人中文字幕在线观看| 日韩啊啊啊| 亚洲天堂2017| 正在播放无码| 中文字幕亚洲欧美| 91婷婷| 182AV| 粉嫩av懂色av蜜臀av分享| 懂色av粉嫩AV蜜臀AV| 天堂在线网| 9I免费看片黄| 在线观看黄片网站| 亚洲av自拍| a片在线免费观看| 丁香婷婷社区| 成人做爰黄AA片免费看三区| 日本不卡一区二区三区四区| 在线a免费| 偷拍一区| 欧美一区在线视频| 五月婷中文字幕| 九九草在线视频| 色操网| 国产内射在线观看| 91在线电影| 俺去俺来也www色官网cms| 日韩精品一区二区三区四在线播放| 中文字幕在线观看有码| 日本AⅤ在线| 天天日综合网| 欧美黄片免费在线观看| 亚洲高清无码电影| 国产精品美女毛片j酒店| 麻豆mdapp03.tⅴ| 伊人综合色| 日韩欧美手机在线| 毛片A级成人片| 人人操超碰在线观看| 成年人网站在线免费观看| 免费+无码+精品| 黄页网址在线观看| 亚洲一区中文字幕成人在线| 天天干天天日| 色情视频在线观看| 在线成人自拍| 懂色av,蜜臀AV粉嫩av| 国产在线观看黄| 日韩高清在线播放| 成人免费毛片片v| 日韩少妇无码视频| 91豆花视频18| 亚洲AV秘无码不卡在线观看| 色老汉视频| 蜜芽成人在线视频| 国产亚洲激情| 巨乳一区二区三区| 99伊人网| 三级国产网站| 欧美搡BBBB搡BBB| 欧美黄色大香蕉| 99reav| 桃色av| 天天爽夜夜爽夜夜爽精品| 精品一区在线| 中文字幕永久在线视频| 亚洲无码中文字幕在线播放| 啪啪视频m3u8| 91久久久久久| 91高清国产| 俺来也俺去了| 秋霞网一区二区| 免费欧美性爱视频| 久久久久人| 99热青青草| 做爱视频毛片人乱| 国产小电影在线| 中文字幕日韩无码片| 午夜福利三级| 欧美视频综合网| 久草国产精品| 思思热思思操免费视频| 国产综合网站| 国产精品熟女| 五月丁香性爱| 香蕉大综合| a4yy午夜福利| 3D动漫精选啪啪一期二期三期| 一区视频在线| 懂色一区二区二区在线播放视频| 2018人人操| 无码精品一区二区三区在线观看 | 亚洲色婷| 免费亚洲无码| 久久久久久无码精品亚洲日韩麻豆 | 久热亚洲| 欧美三级网站| 人人妻人人要| 欧美性猛交一区二区三区精品| 囯产精品一区二区三区线一牛影视1| 久久99影院| 神马午夜秋霞不卡| 北条麻妃精品青青久久价格| 456亚洲影院| 杨幂操逼视频| 国产传媒在线| 最近最火中文字幕mv歌词| 蜜臀久久99精品久久久电影| 五月天黄色片| 亚洲成人无码视频| 日韩无码精品一区二区三区| 天堂麻豆天美| 亚洲秘无码一区二区三区蜜桃中文| 日韩小电影在线观看| 色五婷婷| 操逼手机视频| 熟妇人妻中文字幕无码老熟妇| 在线色| www.sesese| 日韩黄色在线视频| 无码免费中文字幕| 国产综合久久久7777777| 91艹艹| 国产精品无码永久免费不卡| 亚洲ww国产a大作| 成人aaa| 精品99999| 拍拍AV| 午夜无码精品一区二区三区99午 | 免费看操逼逼| 999高清无码| 麻豆性爱视频| 在线黄网站| 成人A片免费| 一区二区三区日本| 国产欧美一区在线看| 蜜桃精品视频在线观看| 日韩黄色电影在线| 香蕉久久a毛片| sm国产在线调教视频| 日韩A| 精品无码一区二区三区的天堂| 欧美熟女性爱视频| 亚洲精品无码电影| 国产免费AV在线观看| 大香蕉伊人久久| 精品一区二区三区视频| 亚洲北条麻妃一级A片| 3D动漫啪啪精品一区二区中文字幕| 欧美高清一区二区| 水蜜桃在线视频| 久久精品苍井空免费一区二| 麻豆疯狂做受XXXX高潮视频| 日韩免费视频一区二区| 91久久精品日日躁夜夜躁欧美| 激情99| 欧美一级精品| 天堂中文8资源在线8| 人人妻人人澡人人爽人人| www免费视频在线观看播放| 久久精品视频久久| 青青草亚洲| 久久九九电影| 中文字幕三级片在线观看| 99无码| 麻豆秘在线观看国产| 亚洲无码二区| 嫩草视频在线观看| 国产白浆一区二区三区| 日本无码一区二区三三| 激情综合久久| 午夜无码精品| 国产一级免费视频| 豆花av在线| 一区二区av在线| 国产69精品久久久久久久久久久久 | 亚洲最新中文字幕| 在线观看亚洲中文字幕| 成人性生活A级毛片网站| 91成人在线免费视频| 天天艹av| 欧美丝袜脚交xxxxBH| 麻豆AV在线观看| 亚洲婷婷综合网| 日韩美女免费性爱视频| 欧美日韩高清无码| japanese在线观看| 情趣视频网站| 狼友视频在线播放| 不卡日韩| 亚洲天堂福利| 亚洲天堂免费视频| 无码人妻精品一区二区三区蜜桃91 | 深夜av| 色色免费黄色视频| 成人乱无码AV在线观看| www俺来也com| 日韩视频三区| 俺来也俺也啪www色| 成人AV片导航| 粉嫩99国产精品久久久久久人妻| 日韩激情视频| 日韩欧美一| 怡春院在线视频| 中文字幕乱码亚洲无线码按摩| 人人澡人人澡人人澡| 中文字幕第9页| 亚洲欧洲视频在线观看| 无码-ThePorn| 高清无码做爱视频| 骚逼免费观看| 天天天做夜夜夜夜爽无码| 丰满欧美熟妇免费视频| 亚洲码无| 欧美中文网| 亚洲猛男操逼欧美国产视频| 亚洲精品无码久久| 久久国语| 在线一区视频| 激情一一区二区三区| 偷拍第一页| 毛片久久久| 国产91在线拍揄自揄拍无码九色| 中文字幕激情精品| 国产精品午夜福利| 国产精品视频99| 精品国产精品三级精品AV网址| 色欲国产精品欧美在线密| 亚洲精品97久久中文字幕| 小明看台湾成人永久免费视频网站| 大香蕉啪啪啪啪| 国产熟女乱伦| 操碰人人| 老司机一区二区三区| 成人毛片一区二区三区无码| 一本一道vs波多野结衣| 久久伊人网站| 欧美成人免费电影| 日本视频免费| 国产一级黄色A片| 国产无码一区二区三区| 99热99精品| 福利逼站| 国产精品国产三级国产| 精品人妻中文字幕视频| 久艹在线| 国产午夜在线视频| 亚洲第一大网站| 欧美色图1| 亚洲草逼视频| 国产亚洲色婷婷| 99精品视频免费| 精品久久免费视频| 97超碰网| 2014亚洲天堂| 天天爽天天干| 香蕉三级片| 我和岳m愉情XXXⅩ视频| 九九99精品视频| 久操免费在线| 久热中文| 操少妇| 91AV成人| 日本黄色视频在线免费观看 | 国产精品久久久久久久久久二区三区| 中日韩欧美一级A片免费| 亚洲中文字幕影院| 久久婷五月天| 日韩人妻系列| 在线aⅴ| 国产一级婬女AAAA片季秀英| 99免费在线观看| 91久久综合| 亚洲社区在线观看| 亚洲无码AV免费观看| 日韩激情无码视频精选| 精品三级片| 青娱乐亚洲自拍| 老婆中文字幕乱码中文乱码| 91人妻人人爽人人澡| 黑人无码AV| 88av在线观看| 大香蕉一区二区| 成人小视频在线观看| 91在线无码精品秘入口三人| 丁香五月亚洲| 人妻无码中文字幕蜜桃| 中文字幕亚洲观看| 色五月婷婷AV| 人妻第一页| 四川少扫搡BBw搡BBBB| 国产在线视频一区二区| 欧美日韩中文在线| 熟女少妇一区二区| 亚洲日本中文字幕在线观看| 亚洲去干网| 五月天黄色视频| 欧美77777| 亚洲AV无码成人精品区| 久久国产99| 大香蕉在线看| 成人视频A片| 亚洲色一| 伊人网在线免费视频| 青榴视频免费观看| 天天综合久久| 中文字幕日韩在线观看| 日本性爱无码| 波多野结衣无码一区二区| 一级在线播放| 在线视频A| 99视频在线免费播放| 欧美日韩中文在线视频| 亚洲天堂一级片| 久色网| 日韩AV毛片| 日本不卡中文字幕| 嫩BBB槡BBBB槡BBBB撒尿| 性无码一区二区三区在线观看| 操操操av| 国产成人一区二区无码| 综合网在线| 99色综合网| 成人黄色大香蕉| A黄色绿像| 五月丁香在线视频| 广东BBW搡BBBB搡| 超碰人人操人人| 免费在线A| 国产7777| 超碰免费观看| 免费Av网站| 国产白丝视频| 欧美高潮| 成人性爱视频免费观看| 久久av一区二区三区观看| 人妖和人妖互交性XXXX视频 | 国产免费一区二区三区网站免费| 黄色成人在线观看| 操中国老女人| 大鸡吧在线观看| 华女与黑人91A∨| 日韩无码首页| 免费a片视频| 99无码国产成人精品| 久久AV秘一区二区三区水生| 国产综合网站| 人人草人人摸人人看| 不卡的一区二区| 日本一本在线| 欧美亚洲日韩一区二区| 超碰人| 国产资源AV| 久久AV电影| 日韩无码2024| 亚洲日本中文字幕在线观看| 日韩无码一区二区三| 国产高清精品无码| 国产精品一级二级三级| 久久久亚洲AV| 丰满人妻一区二区免费看| 欧美三级长视频| 欧美日韩中国操逼打炮| 国产97热人人| 中文无码在线| 国内无码| 亚洲免费无码| 婷婷五月天激情俺来也| h片在线观看| 国产高清秘成人久久| 伊人免费视频| 性爱一区| 欧美日韩狠狠操在线观看视频 | 亚洲小视频在线播放| 狼人综合在线| 国产丝袜在线视频| 久久国产精品一区二区三区| 色妞视频| 性爱av天堂| 国产精品一级a毛一级a| 午夜福利影视| 青娱乐av在线| 最新日韩无码| 国产无遮挡A片又黄又爽小直播 | 日韩亚洲欧美在线| 亚洲日韩欧美在线观看| 亚洲va欧洲va国产va不卡| 亚洲成人无码av| 久久免费视频播放| 无码白浆| 亚洲日韩一级片| 91精品国产偷窥一区二区| 国产一级片免费观看| 中文字幕熟女人妻| 中文字幕不卡在线观看| 在线天堂视频| 青娱乐自拍视频| 人人干人人爱| 91天天综合| 亚洲中文字幕在线播放| 乳揉みま痴汉电车羽月希免费观看 | 西西444WWW无码大胆在线观看 | 翔田千里无码播放| 一区二区三区四区五区| 成人福利视频在线观看| 亚洲精品久久久久久久久蜜桃| 亚洲无码精品一区| 国产尤物视频| 岛国免费AV| 男男做受A片AAAA| 一本色道久久综合亚洲二区三区| 四虎精品影院| 亚洲欧洲在线视频| 91成人片| 特级丰满少妇免费观看| 日本高清视频网站| 中文字幕无码精品| 蜜桃无码视频小说网站| 国产乱色精品成人免费视频| www.豆花社区成人| av牛牛| 中文字幕无码网站| 一本色道久久综合无码| a级毛片在线观看| 国产在线拍偷自揄拍无码一区二区 | 精品人无码一区二区三区下载| 操逼操逼操逼| 久久99视频| 2025毛片| 中文乱码在线观看| 色优久久| 国产精品人妻无码久久久郑州天气网| 国产AV无码精品| 无码欧美成人| 日韩无码电| 亚洲精品乱码久久久久久蜜桃91| 麻豆av无码| 国产一区二区精品| 中文字幕在线观看1| 免费一级欧美片在线观看| 亚洲精品视频在线观看免费| 亚洲av小说| 欧美日韩亚洲一区二区| 无码123区| 国产四区| 亚洲玖玖爱| 国产无码专区| 99青青草| 豆花视频一区| 操逼网址大全| 久久一道| 婷婷社区五月天| 一级a一级a爱片免费视频| 中文字幕h| 免费射精一二三区| 日屄免费视频| 中文字幕乱在线| 在线男人天堂| 超碰成人97| 亚洲你懂的| 91免费视频在线| 午夜无码视频| 日韩成人视屏| 老太色HD色老太HD.| 九月丁香婷婷| 在线观看黄A片免费网站| 国产娇小13videos糟蹋| 91久久婷婷| 在线观看a片| av三级片在线播放| 日本wwwwww| 中文字幕免费MV第一季歌词| 99视频精品全部免费看| 中文字幕免费高清在线观看| 精品国产91乱码一区二区三区| 肏亚洲美女| 日韩AV一区二区在线观看| 成人毛片一区二区三区无码| 东北操逼视频| 桃色五月天| 猫咪AV成人永久网站| 亚洲无码成人电影| 91吊逼| 怡红院一区二区| 91视频在| 婷婷综合五月| 国产女人在线| 亚洲天堂av在线观看| 成年人AV| 精品久久免费视频| 色热热| 国产十八岁在线观看| 青草社区在线观看| 欧美一级做| 久久中文字幕人妻| 最近中文字幕免费mv第一季歌词大全| 久久久久久精| 国产精品色| 爱爱电影无码| 永久AV免费网站| 欧美疯狂做受XXXXX高潮| 99久久婷婷国产综合精品草原| 一区二区三区四区五区六区高清无吗视频 | 中文字幕亚洲在线| 国产成人三级在线| 99在线精品视频观看| 91精品无码视频| 成人精品久久久| 国产精品无毛五区六区| 国产在线观看一区| 日韩久久高清| 日本黄色视| 欧美亚洲视频| 香蕉大综合| 在线视频福利导航| 99久久婷婷国产精品2020| 日韩综合精品中文字幕66| 粉嫩AV蜜乳AV蜜臀AV蜂腰AV | 在线观看视频日韩| 一本之道高清数码大全| 天堂俺去俺来也www久久婷婷| 丁香五月AV| 欧洲黑人成人A版免费视频| 特黄特色一级特黄大片| 嫩草久久99www亚洲红桃| 蜜桃BBwBBWBBwBBw| a在线观看| 无码高清18| 无码入口| 日韩av一区二区三区| 国产三级自拍| 午夜av电影| 99久久久精品| 天堂中文网| 天天插在线视频| 美女91小视频| 蜜桃av无码一区二区三区| 欧美亚洲一区| 人妻熟女视频| 亚洲精品伦理| 天天干天天色天天日| 中文字幕一区二区无码成人| 最好看2019中文在线播放电影| 激情午夜av| 中文字幕人妻丰满熟妇| 亚洲秘无码一区二区三区欧美| 日本天堂网在线观看| 影音先锋国产AV| 国产精品美女毛片真酒店| 亚洲AV秘一区二区色盗战流出 | 国产A片一区| 午夜AV在线免费观看| 黄片小视频| 插插插插网| 国内无码自拍| 国产乱妇乱子伦视频免费观看让女人| 大香蕉国产在线| 亚洲中文字幕免费观看视频| 国产成人午夜精品无码区久久麻豆| 国产av中文字幕| 五月无码视频| 自拍偷拍视频网| 无码狠狠躁久久久久久久91| 懂色Av| 日本中文字幕视频| 午夜天堂网| 尤物视频在线播放| 欧美日韩在线观看一区二区三区| 日本一级大片| 人人妻人人草| 北岛玲视频在线| 性爱黄色视频| 国产精品TV| 嫩BBB槡BBBB槡BBB小号| 日韩免费a| 中文字幕一区二区三区四虎在线 | 亚洲三级黄片| AV中文在线观看| 成人黄色大片| 少妇人妻在线| 无码偷拍| 91精品人妻| 国产精品久免费的黄网站| 国产AV大片| 亚洲欧美成人| 97伊人大香蕉| 欧美亚洲日韩国产| 天天搞天天曰在线观看| 18禁网站免费观看| ThePorn日本无码| 激情男人网| 黄色电影av| 婷婷六月激情| 午夜老司机福利| 韩国人妻无码| 7799精品视频| 无码日韩电影| 亚洲射图| 欧美浮力| 国产激情综合在线| 天堂а√在线中文在线新版| 亚洲小电影| 国产一区久久| 中日韩无码| 日韩在线观看AV| 国产探花在线观看|