日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

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

编程问答

js面试题整理

發布時間:2023/12/29 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js面试题整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2020.07.06

    • 1.js有幾種數據類型,其中基本數據類型有哪些?
    • 2.undefined 和 null 區別?
    • 3.數組去重?
    • 4.字面量創建對象和new創建對象有什么區別?手寫一個new ?new時內部發生了什么?
    • 5.什么是原型?什么是原型鏈?如何理解?
    • 6.JavaScript的成員查找機制?
    • 7.字面量和new出來的對象和 Object.create(null)創建出來的對象有什么區別 ?
    • 8.JS 中的常用的繼承方式有哪些?以及各個繼承方式的優缺點 ?
    • 8.this指向問題
    • 9.改變this指向(call、apply、bind )
    • 10.什么是作用域,什么是作用域鏈?
    • 11.什么是執行棧,什么是執行上下文?
    • 12.變量提升?
    • 13.閉包
    • 14.事件循環(Event Loop)
    • 15.宏任務和微任務
    • 16.內存泄露、垃圾回收機制
    • 17.深拷貝和淺拷貝
    • 18.var let const 有什么區別
    • 19.JS如何實現異步編程(5種)?
    • 20.Promise?
    • 21.Generator是怎么樣使用的以及各個階段的變化如何?
    • 22.箭頭函數
    • 23.forEach、for in 、 for of三者的區別
    • 24.模塊化
    • 25.跨域的方式都有哪些?他們的特點是什么 ?
    • 26.DOM事件流
    • 27.防抖和節流
    • 28.柯里化
    • 29.js常見的設計模式
    • 30.判斷數據類型的方法
    • 31.數組扁平化

1.js有幾種數據類型,其中基本數據類型有哪些?

五種基本類型: Undefined、Null、Boolean、Number和String。
一種引用數據類型:object
在引用數據類型 object 中包括function/array/object
ES6新增:Symbol,主要用于創建一個獨一無二的標識。
ES10新增:Bigint,解決js中精度問題

2.undefined 和 null 區別?

null 表示一個對象被定義了, 值為"空值",使用typeof運算得到 “object”;

undefined 表示不存在這個值,當一個聲明了一個變量未初始化時,得到的就是undefined。沒有返回值的函數返回為undefined,沒有實參的形參也是undefined。

null 和 undefined 都表示“值的空缺”,可以認為undefined是表示系統級的、出乎意料的或類似錯誤的值的空缺,而null是表示程序級的、正常的或在意料之中的值的空缺。

3.數組去重?

1、簡單方法

var arr = ['abc','abcd','sss','2','d','t','2','ss','f','22','d']; //定義一個新的數組 var s = []; //遍歷數組 for(var i = 0;i<arr.length;i++){if(s.indexOf(arr[i]) == -1){ //判斷在s數組中是否存在,不存在則push到s數組中s.push(arr[i]);} } console.log(s); //輸出結果:["abc", "abcd", "sss", "2", "d", "t", "ss", "f", "22"]

2、Set方法

let newArr1 = new Set(arr) console.log([...newArr1]);

3、基于對象去重

let arr3 = [1, 2, 1, 1, 1, 2, 3, 3, 3, 2]let obj = {}for (let i = 0; i < arr3.length; i++) {let item = arr3[i]if (obj[item]) {//把數組最后一個元素取出并刪除arr3[i] = arr3[arr3.length - 1]arr3.length--;i--;continue;}obj[item] = item}console.log(arr3);console.log(obj);

2021.07.08

4.字面量創建對象和new創建對象有什么區別?手寫一個new ?new時內部發生了什么?

區別

字面量:

  • 面量創建對象更簡單,方便閱讀
  • 不需要作用域解析,速度更快

new:

  • 在內存中創建一個新對象
  • 使新對象的__proto__指向原函數的原型對象
  • 改變this指向(指向新的obj)并執行該函數,執行結果保存起來作為result
  • 判斷執行函數的結果是不是null或Undefined,如果是則返回之前的新對象,如果不是則返回result

手寫new

function myNew(fn,...arg){//在內存中創建一個新對象let obj = {};//使新對象的__proto__指向原函數的原型對象obj.__proto__ = fn.prototype;//改變this指向(指向新的obj)并執行該函數,執行結果保存起來作為resultlet result = fn.call(obj,args)//判斷執行函數的結果是不是null或Undefined,如果是則返回之前的新對象,如果不是則返回resultreturn result instanceof Object ? result : obj }

5.什么是原型?什么是原型鏈?如何理解?

原型
一個對象,我們也稱為prototype為原型對象,作用是共享方法。
原型分為隱式原型和顯式原型,每個對象都有一個隱式原型,它指向自己的構造函數的顯式原型。
構造函數通過原型分配的函數是所有對象共享的,javascript規定,每個構造函數都有一個prototype屬性,指向另一個對象。這個prototype就是一個對象,我們可以把不變的方法直接定義在prototype對象身上,這樣所有的對象實例都可以共享這些方法。

原型鏈

  • 多個__proto__組成的集合成為原型鏈
  • 實例對象的__proto__指向構造函數的原型對象
  • 構造函數的原型對象的__proto__指向Object的原型對象
  • Object的原型對象的__proto__指向null

6.JavaScript的成員查找機制?

1.當訪問一個對象的屬性(包括方法)時,首先查找這個對象自身有沒有該屬性。

2.如果沒有就查找它的原型(也就是__proto__指向的構造函數的原型對象)

3.如果還沒有就查找原型對象的原型(即Object的原型對象)

4.依此類推一直找到Object為止(Object的原型對象__proto__=>查找機制的終點為null).

5.__proto__對象原型的意義就在于為對象成員查找機制提供一個方向,或者說一條路線。

7.字面量和new出來的對象和 Object.create(null)創建出來的對象有什么區別 ?

  • 字面量和new創建出來的對象會繼承Object的方法和屬性,他們的隱式原型會指向Object的顯式原型
  • Object.create(null)創建出來的對象原型為null,作為原型鏈的頂端,自然也沒有繼承Object的方法和屬性
  • new關鍵字創建的對象會保留原構造函數的屬性,而用Object.create()創建的對象不會。
  • 8.JS 中的常用的繼承方式有哪些?以及各個繼承方式的優缺點 ?

    原型鏈繼承、構造函數繼承、組合繼承、
    原型式繼承、寄生式繼承、寄生組合繼承、ES6的extend

    原型鏈繼承

    • 優點:利用原型讓一個引用類型繼承另一個引用類型的屬性和方法
    • 缺點:1、無法傳參 2、包含引用類型的原型屬性會被所有實例屬性共享,容易造成屬性的修改混亂

    構造函數繼承

    在子類型的構造函數中調用超類型構造函數

    • 優點:可以在子類型構造函數中父類構造函數添加參數
    • 缺點:無法繼承protype上的屬性,無法復用。
    function SuperType(){this.colors = ["red", "blue", "green"]; }function SubType(){//繼承了 SuperTypeSuperType.call(this); }var instance1 = new SubType(); instance1.colors.push("black"); console.log(instance1.colors); //"red,blue,green,black"var instance2 = new SubType(); console.log(instance2.colors); //"red,blue,green"

    組合繼承

    組合繼承指的是將原型鏈和借用構造函數的技術組合到一塊,從而發揮二者之長的一種繼承模式。

    方法:在子函數中運行父函數,但是要利用call把this改變一下,再在子函數的prototype里面new Father() ,使Father的原型中的方法也得到繼承,最后改變Son的原型中的constructor

    • 優點:組合繼承避免了原型鏈和借用構造函數的缺陷,融合了它們的優點。可以繼承父類的屬性,可以傳參,父類的實例方法定義在父類的原型對象上,可以復用,不共享父類引用屬性。
    • 缺點:調用了兩次父類的構造函數,(第一次是在創建子類原型的時候,第二次是在子類構造函數內部)。導致子的原型對象中增添了不必要的父類的實例對象中的所有屬性。
    function SuperType(name){this.name = namethis.colors = ["red", "blue", "green"]; }SuperType.prototype.sayName = function(){console.log(this.name); }function SubType(name, age){//繼承屬性SuperType.call(this,name);"二次調用"this.age = age; }//繼承方法 SubType.prototype = new SuperType();// "一次調用" SubType.prototype.constructor = SubType; SubType.prototype.sayAge = function(){console.log(this.age); }var instance1 = new SubType("james",9); instance1.colors.push("black"); console.log(instance1.colors); //"red,blue,green,black" instance1.sayName(); // "james" instance1.sayAge(); // 9var instance2 = new SubType("kobe",10); console.log(instance2.colors); //"red,blue,green" instance2.sayName(); // "kobe" instance2.sayAge(); // 10

    原型式繼承

    簡單來說這個函數的作用就是,傳入一個對象,返回一個原型對象為該對象的新對象。

    function object(o){function F(){};F.prototype = o;return new F(); }
    • 優點:可以實現基于一個對象的簡單繼承,不必創建構造函數
    • 缺點:與原型鏈中提到的缺點相同,一個是傳參的問題,一個是屬性共享的問題,無法復用(新實例屬性都是后面添加的)。

    寄生式繼承

    創建一個僅用于封裝繼承過程的函數,該函數在內部以某種方式增強對象,最后返回這個對象。

    • 優點:在主要考慮對象而不是自定義類型和構造函數的情況下,實現簡單的繼承。
    • 缺點:使用該繼承方式,在為對象添加函數的時候,沒有辦法做到函數的復用(沒用到原型)。
    function createAnother(original){var clone = object(original); //通過調用函數創建一個新對象clone.sayHi = function(){ // 某種方式增強這個對象console.log("hi");}return clone; // 返回這個對象 }var person = {name: "james" }var anotherPerson = createAnother(person);anotherPerson.sayHi(); // "hi"

    寄生式組合繼承

    解決組合繼承的缺點,在繼承原型時,我們繼承的不是父類的實例對象,而是原型對象是父類原型對象的一個實例對象。

    優點:效率高,避免了在 SubType.prototype 上創建不必要的屬性。與此同時還能保持原型鏈不變,開發人員普遍認為寄生組合式繼承是引用類型最理想的繼承范式。

    function inheritPrototype(subType, superType){var prototype = object(superType.prototype); // 創建原型對象是超類原型對象的一個實例對象prototype.constructor = subType; // 彌補因為重寫原型而失去的默認的 constructor 屬性。subType.prototype = prototype; // 實現原型繼承 }

    extend繼承
    ES6的extend(寄生組合繼承的語法糖)

    // 子類只要繼承父類,可以不寫constructor,一旦寫了,則在constructor 中的第一句話必須是 superclass Son3 extends Father { // Son.prototype.__proto__ = Father.prototypeconstructor(y) {super(200) // super(200) => Father.call(this,200)this.y = y}}

    8.this指向問題

    this 指向最后一次調用這個方法的對象

    為什說this指向,誰調用就指向誰,是不嚴謹的說法?

  • 如果 一個函數中有this,但是它沒有被上一級對象調用。那么this就指向的是window。但是在嚴格模式下不同。
  • 如果 一個函數中有this,當它被上一級對象所調用,那么this指向就指向你的上一級對象。
  • 如果 一個函數中有this,這個函數中有多個對象,盡管這個函數是被最外層的對象所調用,this指向的也是它的上一級對象。
  • 9.改變this指向(call、apply、bind )

    相同點:

    都可以改變函數內部的this指向。

    不同點:

  • call和apply會調用函數,并且改變函數內部指向。
  • call和apply傳遞參數類型不一樣,call傳遞參數形式aru1,aru2形式…apply必須傳遞數組
  • bind 不會調用函數,也可以改變函數內部this指向
  • 主要應用場景:

  • call經常做繼承
  • apply 經常和數組有關,比如實現數組中的最大值,最小值等
  • bind 不調用函數,但是還是想改變this指向,比如改變定時器內部的this指向。
  • //手寫call Function.prototype.myCall = function (context) {// 先判斷調用myCall是不是一個函數// 這里的this就是調用myCall的if (typeof this !== 'function') {throw new TypeError("Not a Function")}// 不傳參數默認為windowcontext = context || window// 保存thiscontext.fn = this// 保存參數let args = Array.from(arguments).slice(1) //Array.from 把偽數組對象轉為數組// 調用函數let result = context.fn(...args)delete context.fnreturn result}//手寫apply Function.prototype.myApply = function (context) {// 判斷this是不是函數if (typeof this !== "function") {throw new TypeError("Not a Function")}let result// 默認是windowcontext = context || window// 保存thiscontext.fn = this// 是否傳參if (arguments[1]) {result = context.fn(...arguments[1])} else {result = context.fn()}delete context.fnretun result}//手寫bind Function.prototype.myBind = function(context){// 判斷是否是一個函數if(typeof this !== "function") {throw new TypeError("Not a Function")}// 保存調用bind的函數const _this = this // 保存參數const args = Array.prototype.slice.call(arguments,1)// 返回一個函數return function F () {// 判斷是不是new出來的if(this instanceof F) {// 如果是new出來的// 返回一個空對象,且使創建出來的實例的__proto__指向_this的prototype,且完成函數柯里化return new _this(...args,...arguments)}else{// 如果不是new出來的改變this指向,且完成函數柯里化return _this.apply(context,args.concat(...arguments))}} }

    10.什么是作用域,什么是作用域鏈?

    • 規定變量和函數的可使用范圍稱為作用域
    • 查找變量或者函數時,需要從局部作用域到全局作用域依次查找,這些作用域的集合稱作用域鏈。

    11.什么是執行棧,什么是執行上下文?

    執行棧

    • 首先棧特點:先進后出
    • 當進入一個執行環境,就會創建出它的執行上下文,然后進行壓棧,當程序執行完成時,它的執行上下文就會被銷毀,進行彈棧。
    • 棧底永遠是全局環境的執行上下文,棧頂永遠是正在執行函數的執行上下文
    • 只有瀏覽器關閉的時候全局執行上下文才會彈出

    執行上下文(執行環境)

    • 全局執行上下文
      創建一個全局的window對象,并規定this指向window,執行js的時候就壓入棧底,關閉瀏覽器的時候才彈出

    • 函數執行上下文
      每次函數調用時,都會新創建一個函數執行上下文

    • eval執行上下文
      eval的功能是把對應的字符串解析成JS代碼并運行

    12.變量提升?

    我們JS引擎在運行JS的時候,分為兩步,第一步是預解析,一步是代碼執行,預解析分為變量預解析(變量提升)與函數預解析(函數提升)。函數提升優先級高于變量提升

    • 變量提升就是把所有的變量聲明提升到當前作用域的最前邊,變量賦值不會提升。
    • 函數提升是函數的聲明會被提升到當前作用域的最前上邊,但是不會調用函數。

    13.閉包

    什么是閉包?
    閉包是指有權訪問另一個函數作用域中變量的函數,
    簡單理解就是,一個作用域可以訪問到另一個函數內部的局部變量。

    • 作用:延伸變量的作用范圍,其主要目的是保證一個函數內部的變量既可以得到重用,又不被污染(不會被隨意篡改)
    • 缺點:會造成內存泄漏(有一塊內存空間被長期占用,而不被釋放)
    • 應用:防抖和節流、封裝私有變量、for循環中的保留i的操作、函數柯里化

    14.事件循環(Event Loop)

    當JS解析執行時,會被引擎分為兩類任務,同步任務(synchronous) 和 異步任務(asynchronous)。

    • 對于同步任務來說,會被推到執行棧按順序去執行這些任務。
    • 對于異步任務來說,當其可以被執行時,會被放到一個任務隊列(task queue)里等待JS引擎去執行。

    當執行棧中的所有同步任務完成后,JS引擎才會去任務隊列里查看是否有任務存在,并將任務放到執行棧中去執行,執行完了又會去任務隊列里查看是否有已經可以執行的任務。這種循環檢查的機制,就叫做事件循環(Event Loop)。

    15.宏任務和微任務

    對于任務隊列,其實是有更細的分類。其被分為 微任務(microtask)隊列 == & == 宏任務(macrotask)隊列

    微任務: Promise的then、Mutation Observer、process.nextTick()等,會被放在微任務(microtask)隊列。
    宏任務: setTimeout、setInterval、ajax等,會被放在宏任務(macrotask)隊列。

    Event Loop的執行順序是:

    • 首先執行執行棧里的任務。(new Promise 構造函數是同步執行的)
    • 執行棧清空后,檢查微任務(microtask)隊列,將可執行的微任務全部執行。
    • 取宏任務(macrotask)隊列中的第一項執行。
    • 回到第二步,循環執行

    16.內存泄露、垃圾回收機制

    什么是內存泄漏?
    內存泄露是指不再用的內存沒有被及時釋放出來,導致該段內存無法被使用就是內存泄漏

    為什么會導致的內存泄漏?
    內存泄漏指我們無法在通過js訪問某個對象,而垃圾回收機制卻認為該對象還在被引用,因此垃圾回收機制不會釋放該對象,導致該塊內存永遠無法釋放,積少成多,系統會越來越卡以至于崩潰

    哪些操作會造成內存泄漏?

    • 未使用 var 聲明的全局變量
    • 作用域未釋放(閉包)
    • 定時器未清除
    • 事件監聽為空白

    如何優化內存泄漏?

    • 全局變量先聲明在使用
    • 避免過多使用閉包。
    • 注意清除定時器和事件監聽器。

    垃圾回收機制都有哪些策略?

    • 標記清除法:垃圾回收器會在運行的時候給內存中的所有變量加上標記,然后去掉執行環境中的變量以及被執行環境中變量所引用的變量(閉包),在這些完成之后仍存在標記的就是要刪除的變量了
    • 引用計數法:跟蹤記錄每個值被引用的次數。當聲明一個變量并給該變量賦值一個引用類型的值時候,該值的計數+1,當該值賦值給另一個變量的時候,該計數+1,當該值被其他值取代的時候,該計數-1,當計數變為0的時候,說明無法訪問該值了,垃圾回收機制清除該對象

    17.深拷貝和淺拷貝

    淺拷貝是拷貝一層,深層次的對象級別的就拷貝引用;
    深拷貝是拷貝多層,每一級別的數據都會拷貝出來。
    具體來說,淺拷貝的時候如果數據是基本數據類型,那么就如同直接賦值那種,會拷貝其本身,如果除了基本數據類型之外還有一層對象,那么對于淺拷貝而言就只能拷貝其引用,對象的改變會反應到拷貝對象上;但是深拷貝就會拷貝多層,即使是嵌套了對象,也會都拷貝出來。
    淺拷貝實現:

    let obj2 = {} for (let i in obj){if(!obj.hasOwnProperty(i)) break; // 這里使用continue也可以obj2[i] = obj[i] }

    深拷貝實現:
    1.JSON.stringify,JSON.parse;但是遇到正則會變為空對象,函數為空,日期會變為字符串

    18.var let const 有什么區別


    2021.7.16

    19.JS如何實現異步編程(5種)?

    • 回調函數(callback)
      優點:解決了同步的問題(只要有一個任務耗時很長,后面的任務都必須排隊等著,會拖延整個程序的執行。)
      缺點:回調地獄,每個任務只能指定一個回調函數,不能 return.

    • 事件監聽。這種思路是說異步任務的執行不取決于代碼的順序,而取決于某個事件是否發生。比如一個我們注冊一個按鈕的點擊事件或者注冊一個自定義事件,然后通過點擊或者trigger的方式觸發這個事件。

    • Promise

    • Generator

    • 生成器 async/await,是ES7提供的一種解決方案。

    20.Promise?

    ES6引入的異步編程的新解決方案,語法是一個構造函數 ,用來封裝異步操作并可以獲取其成功或失敗的結果. Promise對象有三種狀態:初始化pending 成功fulfilled 失敗rejected
    需要注意:一旦從進行狀態變成為其他狀態就永遠不能更改狀態了。

    特點

    • 將異步操作以同步操作的流程表達出來,避免了層層嵌套的回調函數。流程更加清晰,代碼更加優雅。

    • Promise對象提供統一的接口,使得控制異步操作更加容易。

    缺點

    • 無法取消Promise,一旦新建它就會立即執行,無法中途取消。
    • 如果不設置回調函數,Promise內部拋出的錯誤,不會反應到外部。
    • 當處于pending狀態時,無法得知目前進展到哪一個階段(剛剛開始還是即將完成)。

    21.Generator是怎么樣使用的以及各個階段的變化如何?

  • 首先生成器是一個函數,異步操作需要暫停的地方,都用 yield 語句注明。
  • 調用生成器后不會立即執行,而是通過返回的迭代器來控制這個生成器的一步一步執行的
  • 通過調用迭代器的next方法來請求一個一個的值,返回的對象有兩個屬性,一個是value,也就是值;另一個是done,是個布爾類型,done為true說明生成器函數執行完畢,沒有可返回的值了
  • done為true后繼續調用迭代器的next方法,返回值的value為undefined
  • 狀態變化

  • 每當執行到yield屬性的時候,都會返回一個對象
  • 這時候生成器處于一個非阻塞的掛起狀態
  • 調用迭代器的next方法的時候,生成器又從掛起狀態改為執行狀態,繼續上一次的執行位置執行
  • 直到遇到下一次yield依次循環
  • 直到代碼沒有yield了,就會返回一個結果對象done為true,value為undefined
  • 22.箭頭函數

    箭頭函數()=>{}:
    1.如果形參只有一個,則小括號可以省略;
    2.函數體如果只有一條語句,則花括號可以省略,函數的返回值為該條語句的執行結果。

    與普通函數的區別

  • 普通函數有函數提升,而箭頭函數沒有
  • 箭頭函數沒有屬于自己的this,this等同于上一層非箭頭函數的this值或全局對象(window或undefined)(嚴格模式this是undefined)
  • 箭頭函數不能作為構造函數,也就是說,不可以使用new命令(沒有this),否則會拋出一個錯誤。
  • 沒有yield 屬性,不能用作生成器 Generator 函數
  • 箭頭函數不能new

    1.沒有自己的this,不能調用call和apply
    2.沒有prototype,new關鍵字內部需要把新對象的_proto_指向函數的prototype

    箭頭函數的作用:

  • 語法簡潔
  • 可以隱式返回(無return)
  • 不綁定this,在聲明的時候就確定了,this的指向并不會隨方法的調用而改變
  • 23.forEach、for in 、 for of三者的區別

    forEach遍歷數組,但不能使用break、continue和return語句

    for…in是用來循環帶有字符串key的對象的方法。實際是為循環”enumerable“(可枚舉)對象而設計的。
    Js基本數據類型自帶的原型屬性不可枚舉,通過Object.defineProperty0方法指定enumeralbe為false的屬性不可枚舉。

    let obj = {a: '1', b: '2', c: '3', d: '4'} for (let o in obj) {console.log(o) //遍歷的實際上是對象的屬性名稱 a,b,c,dconsole.log(obj[o]) //這個才是屬性對應的值1,2,3,4 }

    for in循環出的是key,for of循環出的是value

    for…of數組對象都可以遍歷,它是ES6中新增加的語法

    一個數據結構只有部署了 Symbol.iterator 屬性, 才具有 iterator接口可以使用 for of循環。

    哪些數據結構部署了 Symbol.iteratoer屬性了呢?
    數組 Array
    Map
    Set
    String
    arguments對象
    Nodelist對象, 就是獲取的dom列表集合

    for of 遍歷對象需要通過和Object.keys()

    let obj = {a: '1', b: '2', c: '3', d: '4'} for (let o of Object.values(obj)) {console.log(o) // 1,2,3,4 }

    24.模塊化

    什么是模塊?

    • 將一個復雜的程序依據一定的規則(規范)封裝成幾個塊(文件), 并進行組合在一起
    • 塊的內部數據與實現是私有的, 只是向外部暴露一些接口(方法)與外部其它模塊通信

    模塊化的好處

    • 避免命名沖突(減少命名空間污染)
    • 更好的分離, 按需加載
    • 更高復用性
    • 高可維護性

    實現模塊化的方式

    • CommonJS模塊
    • AMD
    • CMD
    • ES6 模塊

    CommonJS規范主要用于服務端編程,加載模塊是同步的,這并不適合在瀏覽器環境,因為同步意味著阻塞加載,瀏覽器資源是異步加載的,因此有了AMD CMD解決方案。

    AMD規范在瀏覽器環境中異步加載模塊,而且可以并行加載多個模塊。不過,AMD規范開發成本高,代碼的閱讀和書寫比較困難,模塊定義方式的語義不順暢。

    CMD規范與AMD規范很相似,都用于瀏覽器編程,依賴就近,延遲執行,可以很容易在Node.js中運行。不過,依賴SPM 打包,模塊的加載邏輯偏重

    ES6 模塊在語言標準的層面上,實現了模塊功能,而且實現得相當簡單,完全可以取代 CommonJS 和 AMD 規范,成為瀏覽器和服務器通用的模塊解決方案。

    CommonJS模塊 與 ES6模塊

    CommonJS模塊:它通過 require 來引入模塊,通過 module.exports 定義模塊的輸出接口。這種模塊加載方案是服務器端的解決方案,它是以同步的方式來引入模塊的,因為在服務端文件都存儲在本地磁盤,所以讀取非常快,所以以同步的方式加載沒有問題。但如果是在瀏覽器端,由于模塊的加載是使用網絡請求,因此使用異步加載的方式更加合適。

    ES6模塊:使用 import 和 export 的形式來導入導出模塊。

    區別:

    • CommonJS 模塊輸出的是值的拷貝,模塊內部的變化就影響不到這個值。ES6 模塊是動態引用,并且不會緩存值,模塊里面的變量綁定其所在的模塊。
    • CommonJS 模塊是運行時加載,ES6 模塊是編譯時輸出接口。**CommonJS 模塊就是對象,即在輸入時是先加載整個模塊,生成一個對象,然后再從這個對象上面讀取方法,這種加載稱為“運行時加載”。而 ES6 模塊不是對象,它的對外接口只是一種靜態定義,在代碼靜態解析階段就會生成。

    25.跨域的方式都有哪些?他們的特點是什么 ?

    出于瀏覽器的同源策略限制。同源策略(Sameoriginpolicy)是一種約定,它是瀏覽器最核心也最基本的安全功能,如果缺少了同源策略,則瀏覽器的正常功能可能都會受到影響。可以說Web是構建在同源策略基礎之上的,瀏覽器只是針對同源策略的一種實現。同源策略會阻止一個域的javascript腳本和另外一個域的內容進行交互。所謂同源(即指在同一個域)就是兩個頁面具有相同的協議(protocol),主機(host)和端口號(port)

  • JSONP
    JSONP 是服務器與客戶端跨源通信的常用方法。最大特點就是簡單適用,兼容性好(兼容低版本IE),缺點是只支持get請求,不支持post請求。
    核心思想:網頁通過添加一個script元素,向服務器請求 JSON 數據,服務器收到請求后,將數據放在一個指定名字的回調函數的參數位置傳回來。
  • 設置document.domain解決無法讀取非同源網頁的 Cookie問題
    因為瀏覽器是通過document.domain屬性來檢查兩個頁面是否同源,因此只要兩個頁面通過設置相同的document.domain,兩個頁面就可以共享Cookie(此方案僅限主域相同,子域不同的跨域應用場景。)
  • CORS
    CORS 是跨域資源分享(Cross-Origin Resource Sharing)的縮寫。它是 W3C 標準,屬于跨源 AJAX 請求的根本解決方法。
    1、 普通跨域請求:只需服務器端設置Access-Control-Allow-Origin
    2、帶cookie跨域請求:前后端都需要進行設置,前端設置根據xhr.withCredentials字段判斷是否帶有cookie,后端Java還可以使用springMVC的@CrossOrigin
  • nginx代理跨域
    ginx模擬一個虛擬服務器,因為服務器與服務器之間是不存在跨域的。
    發送數據時 ,客戶端->nginx->服務端;返回數據時,服務端->nginx->客戶端。
  • 26.DOM事件流


    DOM 標準采用捕獲+冒泡。兩種事件流都會觸發 DOM 的所有對象,從 window 對象開始,也在 window 對象結束。

    DOM 標準規定事件流包括三個階段:

    • 事件捕獲階段
    • 處于目標階段
    • 事件冒泡階段

    27.防抖和節流

    防抖:n秒后在執行該事件,若在n秒內被重復觸發,則重新計時
    節流: n秒內只運行一次,若在n秒內重復觸發,只有一次生效

    <button id="debounce">點我防抖!</button>$('#debounce').on('click', debounce());function debounce() {let timer;// 閉包return function () {clearTimeout(timer);timer = setTimeout(() => {// 需要防抖的操作...console.log("防抖成功!");}, 500);} }------------------------------------------------------------------ <button id="throttle">點我節流!</button>function throttle(fn, delay) {let flag = true,timer = nullreturn function(...args) {let context = thisif(!flag) returnflag = falseclearTimeout(timer)timer = setTimeout(function() {fn.apply(context,args)flag = true},delay)} }

    28.柯里化

    柯里化(Currying),又稱部分求值(Partial Evaluation),可以理解為提前接收部分參數,延遲執行,不立即輸出結果,而是返回一個接受剩余參數的函數。因為這樣的特性,也被稱為部分計算函數。柯里化,是一個逐步接收參數的過程。

    柯里化有3個常見作用:

    • 參數復用
    • 提前返回
    • 延遲計算/運行
    function add() {//將傳入的不定參數變為數組 var args = Array.prototype.slice.call(arguments)var adder = function () {args.push(...arguments)return adder}//toString隱式轉換 adder.toString = function () {return args.reduce((prev, curr) => {return prev + curr}, 0)}return adder}let a = add(1, 2, 3)let b = add(1)(2)(3)console.log(a)console.log(b)console.log(add(1, 2)(3));console.log(Function.toString)

    29.js常見的設計模式

    • 單例模式
    • 工廠模式
    • 構造函數模式
    • 發布訂閱者模式
    • 迭代器模式
    • 代理模式

    30.判斷數據類型的方法

    typeof:無法判斷null,是obj類型,而且只能判斷出是引用類型

    instanceof

    constructor:null和undefined是無效的對象,因此是不會有constructor存在的,這兩種類型的數據需要通過typeof來判斷。

    Object.prototype.toString :Object.prototype.toString.call(undefined) ;

    31.數組扁平化

    遞歸

    let arr = [1, [2, [3, 4]]];function flattern(arr) {let result = [];for(let i = 0; i < arr.length; i++) {if(Array.isArray(arr[i])) {flattern(arr[i])} else {result.push(arr[i])}}return result;} console.log(flattern(arr));

    toString

    let arr = [1, [2, [3, 4]]]; function flatten(arr) {return arr.toString().split(',').map(function(item){return +item //+可以快速獲得Number類型}) } console.log(flatten(arr))

    reduce

    let arr = [1, [2, [3, 4]]];function flatten(arr) {return arr.reduce(function(prev, next){return prev.concat(Array.isArray(next) ? flatten(next) : next)}, []) }console.log(flatten(arr))

    es6 展開運算符

    let arr = [1, [2, [3, 4]]];function flatten(arr) {while (arr.some(item => Array.isArray(item))) {arr = [].concat(...arr);} //ES6新方法return arr; }console.log(flatten(arr))

    總結

    以上是生活随笔為你收集整理的js面试题整理的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    91丨九色丨高潮丰满 | 国产精品第一页在线 | 精品国产1区二区 | 国产一性一爱一乱一交 | 亚洲精品小视频 | 日韩免费视频在线观看 | 黄网站app在线观看免费视频 | 久久免费99 | 亚洲黄色成人 | 日韩欧美视频 | 亚洲人成影院在线 | 超碰在线人人草 | 国产婷婷 | 国产精品专区h在线观看 | 黄色a大片| 午夜色站| 99在线精品视频在线观看 | 国产日韩欧美在线一区 | 手机av在线网站 | 久久永久免费 | 国产亚洲精品久久久久秋 | 久草免费在线视频观看 | 中文字幕 婷婷 | 91色国产在线 | 91成人在线网站 | 午夜视频一区二区三区 | 国产亚洲精品久 | 久久91久久久久麻豆精品 | av在线一级| 永久精品视频 | 又黄又爽又色无遮挡免费 | 亚洲视频免费在线 | 成人一区影院 | 欧美视屏一区二区 | 欧美另类巨大 | 一区二区三区四区精品视频 | 国产一级大片免费看 | 一区二区中文字幕在线观看 | 激情偷乱人伦小说视频在线观看 | 看片黄网站 | 久久久久久蜜av免费网站 | 视色网站| 色婷婷在线观看视频 | 2022国产精品视频 | 91大片网站 | www.色午夜,com | 久草青青在线观看 | 青青河边草免费直播 | 91看片在线播放 | 国产中文字幕一区二区 | 六月丁香婷婷久久 | 日韩精品在线观看av | 国内久久精品视频 | 友田真希x88av | 不卡视频一区二区三区 | 波多野结衣久久资源 | 久久久久久久久久久久亚洲 | 永久免费视频国产 | 深爱激情五月婷婷 | 最新国产在线视频 | 免费看国产精品 | 人人dvd | 最近2019好看的中文字幕免费 | 国产精品免费在线播放 | 亚洲狠狠 | 91看片成人 | 国产精品乱看 | www.色婷婷 | 91理论片午午伦夜理片久久 | 午夜精品一区二区三区在线观看 | 香蕉视频国产在线观看 | 日本一区二区三区免费看 | 日韩精品免费在线视频 | 在线视频 你懂得 | 亚洲一区二区三区精品在线观看 | 国产综合福利在线 | 国产69精品久久99不卡的观看体验 | 欧美日韩成人 | 毛片网免费 | 成人 亚洲 欧美 | www.xxxx变态.com| 青春草国产视频 | 丁香婷婷社区 | 精品在线小视频 | 国产成人免费网站 | 国产专区一 | 欧美 另类 交 | 色吧av色av| 日韩欧美综合在线视频 | avsex| 91精品免费在线观看 | 久久免费视频一区 | 国产精品美女 | 中文字幕资源网 国产 | 中文在线亚洲 | 天天色影院| 成人在线免费视频观看 | 狠狠色丁香久久综合网 | 亚洲涩综合 | 天天草网站 | 四虎成人av| 欧美日韩高清在线 | 国产麻豆果冻传媒在线观看 | 日韩电影在线观看一区二区三区 | www欧美日韩 | 伊人狠狠操 | 久久黄色免费观看 | 黄色小网站在线观看 | 欧美精品在线一区 | 国产精品久久久999 国产91九色视频 | av久久在线 | 日韩激情免费视频 | 国产精品一区二区三区观看 | 福利视频网站 | 久久综合操 | 亚洲五月激情 | 久久久亚洲麻豆日韩精品一区三区 | 人人爽人人爽人人片av | 久草视频在线资源 | 亚洲精品国偷拍自产在线观看 | 中文在线免费看视频 | 天天摸夜夜操 | 日本精品二区 | 久久精品一区二区三区国产主播 | 美女福利视频一区二区 | www.夜夜操 | 黄色在线观看污 | 99色在线观看视频 | 色a在线观看| 天堂视频中文在线 | 国产精品麻豆视频 | 人人爽人人片 | 视频在线观看入口黄最新永久免费国产 | 国产91粉嫩白浆在线观看 | 成人av在线电影 | 久久伊人八月婷婷综合激情 | 91精品国产成 | 91精品人成在线观看 | 免费观看一级视频 | 日韩欧美视频 | 久久伊99综合婷婷久久伊 | 久久免费视频观看 | 国产一区二区网址 | 麻豆一级视频 | 91桃色免费观看 | 婷婷综合影院 | 亚洲在线视频免费观看 | 日韩r级电影在线观看 | 欧美日韩免费看 | 日韩免费b | 日韩精品中文字幕有码 | 国内视频 | 青草视频在线 | 中文字幕国产视频 | a在线视频v视频 | 久久精品视频在线 | 欧美网站黄色 | 808电影免费观看三年 | 97热在线观看 | 欧美黑人性猛交 | 久草影视在线 | 成全在线视频免费观看 | 国产经典三级 | 开心激情综合网 | 欧美精品v国产精品v日韩精品 | 成人在线观看av | 欧洲成人免费 | 免费亚洲视频在线观看 | 91福利在线导航 | 国产一级片久久 | 日韩成人中文字幕 | 91大神精品视频在线观看 | 欧美日韩综合在线观看 | 97免费在线观看视频 | 久久99最新地址 | 四虎永久免费 | 国产成人精品999在线观看 | 中文字幕在线看视频国产 | 精品免费视频 | 免费成人av网站 | 成人小电影在线看 | 国产做a爱一级久久 | 99久久这里有精品 | 狠狠狠狠狠操 | 久久草在线精品 | 日韩av在线小说 | 国产精品欧美一区二区 | 久久精品国产一区二区电影 | 国产99久久精品一区二区永久免费 | 丁香婷婷基地 | 日韩视频三区 | 国产探花| 欧美在线1区 | 亚洲日本三级 | 久久999久久 | 色综合激情网 | 免费观看v片在线观看 | 99成人免费视频 | 国产精品久久久久久久久久久久 | 精品国产欧美一区二区三区不卡 | 成人免费一级片 | 500部大龄熟乱视频使用方法 | 99久久国产免费免费 | 五月天中文字幕mv在线 | av免费在线观| www国产亚洲精品久久网站 | 国产理论影院 | 国产精品免费在线播放 | 中文在线| 在线视频电影 | 粉嫩av一区二区三区四区 | 免费在线91 | 久久精品日产第一区二区三区乱码 | 国产一级视频在线免费观看 | 久久午夜影视 | av天天在线观看 | 丁香六月婷婷开心 | av在线永久免费观看 | 精品婷婷 | 在线v | 麻豆系列在线观看 | 国产精品入口麻豆 | 四虎成人精品永久免费av | 九九免费精品视频 | 国偷自产中文字幕亚洲手机在线 | 91视频大全 | 久久国语 | 精品九九九九 | 伊人首页 | 久久精品视频网站 | 超碰在线94 | 国产精品美女免费视频 | 欧美日本不卡高清 | 天天爽夜夜爽精品视频婷婷 | 欧美激情综合五月色丁香 | 亚洲专区在线 | 99精品国产高清在线观看 | 免费毛片aaaaaa | 欧美天天综合网 | 97品白浆高清久久久久久 | www.色午夜,com | 亚洲性xxxx| 香蕉影视在线观看 | 日韩精品一区二区在线观看 | 免费在线观看视频a | 国产中文视| 91一区二区三区在线观看 | 久久精品亚洲精品国产欧美 | 麻豆精品在线视频 | 天天摸天天弄 | 在线观看视频黄 | 黄av免费在线观看 | 亚洲国产资源 | 99在线看| 国产一区二区精品在线 | 日韩电影精品一区 | 国产不卡高清 | 手机在线观看国产精品 | 日韩av不卡播放 | 麻豆久久一区二区 | 99久免费精品视频在线观看 | 日韩综合第一页 | 黄色a三级 | 久久精品久久久久 | av免费网站在线观看 | 在线观看一 | 久久精品www人人爽人人 | 91麻豆免费版 | 一区二区视 | 亚洲资源视频 | 欧美极品xxxxx| 国产高清视频 | 97香蕉久久国产在线观看 | 久久成人国产 | 久二影院 | 国产乱码精品一区二区三区介绍 | 在线观看久久久久久 | 最新在线你懂的 | 久久久亚洲国产精品麻豆综合天堂 | 国产精品一区二区白浆 | 又大又硬又黄又爽视频在线观看 | 久久综合精品国产一区二区三区 | 亚洲国产欧洲综合997久久, | 日韩高清在线一区二区三区 | 国产69久久 | 亚洲午夜av久久乱码 | 久久午夜电影院 | 国产精品一二三 | 六月色婷婷 | 精品福利在线视频 | 日韩免费三区 | 91视频免费播放 | 日韩免费在线视频 | 色综合天天干 | 91av社区| 91精品一 | 五月天色站| 亚洲五月激情 | 中文字幕在线观看一区二区 | 国产精品12| 亚洲va男人天堂 | 欧美精品国产精品 | 国产资源在线观看 | 欧美一级特黄高清视频 | a级国产乱理论片在线观看 特级毛片在线观看 | 日日天天av| 久久99免费观看 | 久久久精品欧美一区二区免费 | 99成人精品 | 激情在线网站 | 日韩高清一二三区 | 久久久久久福利 | 久久香蕉国产 | 天堂va欧美va亚洲va老司机 | 黄色美女免费网站 | 久久九九视频 | 欧美色婷婷 | 国产高清视频在线免费观看 | 国产成人黄色网址 | 国产一二三四在线观看视频 | 国产精品美女久久久久久久 | 夜夜嗨av色一区二区不卡 | 国产69久久精品成人看 | 久久国产精品99久久久久久丝袜 | 久草在线久草在线2 | 狠狠狠色丁香综合久久天下网 | 国产一区二区视频在线 | 国产黄色一级片 | 最近免费中文字幕 | 亚洲精品自拍 | 91夫妻视频 | www.亚洲精品在线 | 婷婷视频 | a天堂一码二码专区 | 视频在线精品 | 久久亚洲专区 | 91日韩在线专区 | 久久午夜电影网 | 天天色天天操综合网 | 成人羞羞免费 | 人人玩人人添人人 | 婷婷亚洲综合五月天小说 | 久久久久久久久电影 | 久久久高清免费视频 | 国产天天爽 | 公开超碰在线 | 亚洲第五色综合网 | 久久99九九99精品 | 色a综合 | 国产一区网址 | 国产一区二区在线免费播放 | 国产黄色观看 | 精品国产区在线 | 亚洲精品麻豆 | 日韩大片在线免费观看 | a在线免费观看视频 | 久久影视网 | 日韩在线不卡视频 | 天天操天天射天天操 | 日日噜噜噜噜夜夜爽亚洲精品 | 91在线精品播放 | 91精品国产自产91精品 | 大荫蒂欧美视频另类xxxx | 亚洲激情校园春色 | 一区二区三区四区在线免费观看 | 婷婷久久国产 | 久久久精品国产免费观看同学 | 视频一区亚洲 | 正在播放五月婷婷狠狠干 | 人人爽人人爽人人片 | 国产免费久久av | 人人爽人人片 | 夜夜操狠狠干 | 欧美男男激情videos | 国产小视频国产精品 | 日韩av视屏在线观看 | 国产精品区二区三区日本 | 亚洲精品黄色片 | 超碰国产在线播放 | 免费在线中文字幕 | 国产精品久久久久久一区二区 | 91福利在线导航 | 亚洲免费激情 | 欧美成人区 | 国产精品男女 | 丁香婷婷成人 | 亚洲动漫在线观看 | 特黄特色特刺激视频免费播放 | 亚洲 欧洲 国产 精品 | av888av.com| 国产高清在线免费 | 国产污视频在线观看 | 五月丁婷婷 | 久久午夜精品视频 | 国产成人一区二区三区久久精品 | 中文字幕刺激在线 | 日精品在线观看 | 国产精品xxxx18a99| 国产精品五月天 | 免费看黄在线看 | 日韩a级免费视频 | 天天天天天天干 | 久久久久久久久免费视频 | 久久国内免费视频 | 久久精品视频在线观看免费 | 国产精品一区二区 91 | 欧洲亚洲女同hd | 免费久久网| 成人黄色电影在线 | 久久电影网站中文字幕 | 国产亚洲精品成人av久久影院 | 亚洲男模gay裸体gay | 中文字幕日韩伦理 | 狠狠色噜噜狠狠狠狠2021天天 | 一本色道久久精品 | .国产精品成人自产拍在线观看6 | 国产精品永久 | 久草免费在线视频观看 | 人人草在线观看 | 天天躁日日躁狠狠躁av中文 | 日韩丝袜在线 | 亚洲欧美综合精品久久成人 | 日韩三级在线观看 | 国产精品一区二区三区四区在线观看 | 亚洲精选国产 | 日本精品视频在线播放 | 午夜一级免费电影 | 五月婷婷久 | 人人插人人 | 最近日韩中文字幕中文 | 国产精品久久久久久久电影 | 91精品国产成 | 日日操天天操狠狠操 | 999久久久免费精品国产 | 一区二区三区国 | 丁香婷婷综合激情 | 97国产在线观看 | 国产福利91精品一区二区三区 | 久精品视频 | 精品久久久久久综合 | 一级做a视频 | 天天干天天操天天 | 99热九九这里只有精品10 | 色婷婷成人| 久久久99精品免费观看 | 久久热亚洲 | 国产亚洲资源 | 天堂网在线视频 | 美女网站视频免费都是黄 | 国产精品一区二区三区久久 | 久久激情视频 久久 | av片中文字幕 | 免费看在线看www777 | 香蕉视频久久 | 日韩欧美综合精品 | av网站免费在线 | 成人黄色中文字幕 | 亚洲综合成人专区片 | 国产a级免费 | 91精品国产99久久久久久久 | 天天色官网 | 日韩网站在线看片你懂的 | a久久久久久 | 婷婷精品在线视频 | 亚洲免费av在线播放 | 欧美精品一区二区性色 | 在线岛国av| 欧美91视频 | 91成人短视频在线观看 | 91tv国产成人福利 | 日本在线观看中文字幕 | 超碰在线中文字幕 | www.狠狠色.com | 99精品视频在线观看播放 | 中文字幕文字幕一区二区 | www.久久久.cum | 中文字幕在线观看免费 | 国产成人精品久久亚洲高清不卡 | 国产丝袜一区二区三区 | 国产精品中文字幕av | a天堂最新版中文在线地址 久久99久久精品国产 | 欧美一区二区三区特黄 | 在线观看91 | 91 在线视频播放 | 亚洲六月丁香色婷婷综合久久 | 久久经典国产 | 久久99视频精品 | 在线免费观看的av | 免费观看黄色12片一级视频 | 99视频+国产日韩欧美 | 精品久久久久久亚洲综合网站 | 亚洲一级黄色片 | 色人久久 | 99免费精品| 亚洲精品日韩一区二区电影 | 久久久久99精品成人片三人毛片 | 成人精品999| 久久精品国产一区二区电影 | 91精品日韩 | 午夜一级免费电影 | 成人在线观看av | 成人毛片一区 | 少妇bbb搡bbbb搡bbbb′ | 丁香六月天 | 免费av高清 | 六月色丁| 日韩av一卡二卡三卡 | 天天伊人网 | 欧美成人日韩 | 免费在线国产 | 992tv成人免费看片 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 亚洲成av人片 | 91精品国产91热久久久做人人 | 免费国产黄线在线观看视频 | 久久 精品一区 | 欧美最新大片在线看 | 久久久久免费精品视频 | 国产区在线看 | 中文字幕2021 | 黄色av网站在线观看免费 | 亚洲精品一区二区在线观看 | 日韩网站在线看片你懂的 | 国产视频精选 | 中文字幕日本在线 | 久久精品99北条麻妃 | 国产视频日韩视频欧美视频 | 国产麻豆精品免费视频 | 日韩欧美综合在线视频 | 福利精品在线 | 黄色免费高清视频 | 久久 一区 | 免费中文字幕 | 欧美性超爽 | 久久久精品 一区二区三区 国产99视频在线观看 | 又黄又爽又刺激视频 | 天天色天天上天天操 | 九草视频在线 | 久久观看免费视频 | 免费在线观看av电影 | 97在线观看免费观看高清 | 久要激情网 | 久草视频2| 国产成人精品一区二区三区免费 | 久久综合免费视频 | 一区二区三区电影在线播 | 国产又粗又猛又色又黄网站 | www日韩在线观看 | 日韩午夜剧场 | 天天操天天干天天摸 | 99热超碰| 96国产在线 | 人人添人人澡人人澡人人人爽 | 五月婷婷天堂 | 黄色软件在线观看免费 | 天天射一射 | 永久免费视频国产 | 亚洲精品一区二区久 | 国产成人精品电影久久久 | 青春草国产视频 | a久久免费视频 | 中文字幕第一页在线播放 | 国产精品久久久久一区二区国产 | 超碰97免费观看 | 日韩欧美视频免费观看 | 亚洲最新av网站 | 久久国语露脸国产精品电影 | 国产一二三在线视频 | 色资源中文字幕 | 国产资源站 | 99欧美精品 | 99久久精品国产毛片 | 国产97色| 国产五月婷| av在线在线| 精品久久精品 | 日韩在线观看精品 | 五月宗合网 | 色小说在线 | 国产一区二区三区视频在线 | 国产手机视频在线 | 久久刺激视频 | 99免费视频| 91免费高清在线观看 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 97视频在线观看视频免费视频 | 欧美二区在线播放 | 色悠悠久久综合 | 日韩电影在线观看一区 | 久久久免费精品国产一区二区 | 亚洲美女视频在线观看 | 五月激情丁香图片 | 久久99久久久久久 | 91看片黄色| 天天综合色天天综合 | 色噜噜日韩精品欧美一区二区 | 日本精品中文字幕在线观看 | 青春草免费在线视频 | 91精品国自产拍天天拍 | 99视频在线精品 | 叶爱av在线 | 在线综合色 | 免费看片色 | 免费在线视频一区二区 | 成年人免费观看在线视频 | 国产二区电影 | 超碰国产在线观看 | 欧美 日韩 性 | 成人在线观看网址 | 91观看视频 | www.久热 | 国产亚洲精品中文字幕 | 日韩系列在线 | 91成人精品一区在线播放69 | 精品久久久久久久 | 婷婷开心久久网 | 亚洲尺码电影av久久 | 韩国一区二区av | 欧美日一级片 | 免费欧美高清视频 | 国产精品毛片一区二区 | 国产精品乱码一区二区视频 | 国产精品久久久久永久免费看 | av福利在线看 | 在线看国产精品 | 亚洲六月丁香色婷婷综合久久 | 99国产精品一区 | 午夜av在线播放 | 四虎国产永久在线精品 | 丁香激情综合久久伊人久久 | 国产xxxx性hd极品 | 东方av在线免费观看 | 日韩黄色一区 | 久草视频首页 | 天天天操天天天干 | 亚洲午夜久久久综合37日本 | 久久视频这里有久久精品视频11 | 久久av网| 国产精品私人影院 | 天天操综合网 | 日韩高清免费无专码区 | 91天天操 | 日日夜夜91 | av网站播放 | 欧美一级乱黄 | 国产精品一区二区免费 | 天天操天天色天天射 | 91视频国产高清 | ww亚洲ww亚在线观看 | 色多多视频在线观看 | 特级西西444www大精品视频免费看 | 国产一区私人高清影院 | 午夜视频在线观看一区二区三区 | 国产日韩精品久久 | 国产精品免费久久久久久 | 天天操天天色天天射 | 久久精品影片 | 91桃色在线观看视频 | 久久国产免费 | 91麻豆国产 | 91精品免费 | 精品一区 精品二区 | 天天干天天操天天干 | 日本中文一级片 | 不卡的av片 | 国产伦理久久精品久久久久_ | 国产二区精品 | 天天久久夜夜 | 国产一级片久久 | 91在线蜜桃臀 | 亚洲精品美女免费 | 国内精品久久久久影院日本资源 | 中国精品少妇 | 国产精品综合在线观看 | 国产精品免费视频一区二区 | 在线视频久| 一本一本久久a久久精品综合妖精 | 天天综合网在线 | 69精品久久| 久操中文字幕在线观看 | 在线观看免费版高清版 | 一本到在线| 三级黄在线 | 国产成人一级 | 成年人视频在线免费 | 久久99精品国产一区二区三区 | 国产精品亚洲片夜色在线 | 91av社区| 日韩电影在线一区二区 | 国产91精品看黄网站 | 色在线高清 | 中文字幕在线观看一区 | 麻豆 91 在线| 日韩电影在线视频 | 麻豆视频在线免费观看 | 成人av电影在线播放 | 人人射人人插 | 亚洲精品乱码久久久久久9色 | 国产一区二区三区免费视频 | 国产黄色观看 | 久久免费av电影 | 青草草在线视频 | 欧美日韩精品在线观看视频 | 人人爽夜夜爽 | 天天色播| 午夜精品视频免费在线观看 | 亚洲精品国| 最新中文字幕在线播放 | 一区二区三区在线免费播放 | 香蕉网站在线观看 | 久久av网址 | 国产 一区二区三区 在线 | 91精品伦理 | 91色吧| 精品女同一区二区三区在线观看 | 日韩a欧美 | 狠狠的操狠狠的干 | 黄色一级在线免费观看 | 久久永久免费视频 | 骄小bbw搡bbbb揉bbbb | 91麻豆精品国产91久久久久久久久 | 久久艹国产 | 天天操夜夜曰 | 久久久午夜精品理论片中文字幕 | 成人手机在线视频 | 中文字幕视频播放 | 99在线观看免费视频精品观看 | 免费福利视频导航 | 少妇资源站 | 黄色网在线免费观看 | 国产精品女教师 | 国产高清在线免费视频 | 亚洲精品在线免费看 | 精品一区二区在线免费观看 | 伊人婷婷激情 | 9999国产| 激情伊人五月天久久综合 | 久久久久久国产精品久久 | 国产亚洲在线视频 | 一区二区视频免费在线观看 | 日韩欧美一区二区三区在线观看 | 日韩av影视 | 国产精品自产拍在线观看 | 亚洲欧美国产日韩在线观看 | 国产爽视频 | 国内精品久久久久久久久久 | 亚洲视频综合 | 精品自拍网 | 在线观看日本高清mv视频 | 国产高清精品在线 | av中文字幕在线免费观看 | 国产精品美女久久久久久久 | 久久少妇免费视频 | 免费成人在线观看 | 人人干在线 | 亚洲一级电影在线观看 | 欧美日韩一区二区三区在线观看视频 | 亚洲区精品视频 | 婷婷丁香狠狠爱 | 99国产成+人+综合+亚洲 欧美 | 国产精品一区二区62 | 欧美网址在线观看 | 天天色天天射综合网 | 婷婷精品国产一区二区三区日韩 | 日韩av中文在线观看 | 日韩av电影中文字幕 | 丁香国产视频 | 在线看小早川怜子av | 91中文在线 | 黄a在线 | 日本中文字幕电影在线免费观看 | 人人澡人摸人人添学生av | 大片网站久久 | 日本三级全黄少妇三2023 | 91大神免费在线观看 | 国产成人精品午夜在线播放 | 亚洲一区二区精品 | 国产成人av一区二区三区在线观看 | 综合网天天| 黄a在线 | www.国产毛片 | 国产一区成人在线 | 91精品福利在线 | 亚洲精品在线观 | 九九热视频在线免费观看 | 午夜精品视频福利 | 黄污污网站 | 黄色影院在线播放 | 看黄色91 | 久久久久国产a免费观看rela | 97精品视频在线 | 色婷婷国产 | 99在线视频免费观看 | 日韩欧美精品在线观看 | 久久视频这里有久久精品视频11 | 成人毛片100免费观看 | 久久久精品 一区二区三区 国产99视频在线观看 | 96视频免费在线观看 | 天天操天天是 | 91在线你懂的 | 国产999精品久久久久久绿帽 | 成年人在线视频观看 | 国产精品视频免费在线观看 | 精品国产精品一区二区夜夜嗨 | 国产日韩精品在线观看 | 国产精品一区二区免费在线观看 | 91精品啪啪| 六月婷色| 日韩电影一区二区在线观看 | 日韩精品视频在线观看网址 | 在线免费观看av网站 | 天堂黄色片 | 天天综合网 天天 | 亚洲乱码精品久久久久 | 97在线观看视频 | 国产精品久久久久影视 | 毛片网站免费在线观看 | 亚洲精品白浆高清久久久久久 | 在线看日韩av | 久久久久人人 | 99色网站| 狠狠色狠狠色综合系列 | 91看片麻豆 | 91精品啪在线观看国产81旧版 | aa一级片| 最近高清中文字幕在线国语5 | 日日婷婷夜日日天干 | 久久国产精品网站 | 国产精品日韩在线播放 | 97成人在线视频 | 亚洲成人免费在线观看 | 午夜精品一区二区三区免费 | 五月婷婷在线视频观看 | 日韩av免费在线电影 | 又黄又刺激视频 | 精品国产美女 | 国产区精品在线观看 | 免费激情在线电影 | 国产999精品视频 | 精品国内自产拍在线观看视频 | 久久免费视频国产 | 天天看天天干 | 三级动态视频在线观看 | 亚洲永久精品视频 | 97成人免费 | 亚洲一区网| 亚洲精品激情 | 日日日操操 | 免费成人黄色片 | 在线综合 亚洲 欧美在线视频 | 免费看十八岁美女 | 成人黄在线观看 | 欧美日韩高清在线 | 久久久综合 | 日韩中文字幕在线观看 | 国内综合精品午夜久久资源 | 7777xxxx | 午夜黄色一级片 | 免费看片网址 | 国产午夜精品一区 | 免费看黄色91 | 亚洲色图美腿丝袜 | 激情小说久久 | 久久综合久久久 | 日韩一区二区三区在线观看 | 91毛片在线观看 | 日韩在线观看一区 | 成人小电影在线看 | 伊人天天 | 国产精品电影在线 | 国内成人av | 欧美影院久久 | 99在线观看精品 | 成人免费在线电影 | 国产黄在线播放 | 午夜成人影视 | 国产中文欧美日韩在线 | 午夜精品久久久久久久久久 | 97视频在线免费观看 | 中文字幕日本在线 | 91久久爱热色涩涩 | 精品国产一区二区三区av性色 | 激情综合网五月婷婷 | 免费视频一二三区 | 在线免费观看黄色小说 | 久久国产精品久久精品国产演员表 | 97网站| 小草av在线播放 | 亚洲精品国久久99热 | 五月天丁香综合 | 在线免费av电影 | av电影中文字幕在线观看 | 精品视频123区在线观看 | 精品久久久久亚洲 | 精品国产aⅴ一区二区三区 在线直播av | 91精品秘密在线观看 | 91pony九色丨交换 | 久久99影院 | 欧美日bb | 五月婷婷网站 | 日韩免费二区 | 国产精品一区二区av麻豆 | 天天操天天操天天操天天 | 欧美日产在线观看 | 婷婷丁香在线视频 | 久久免费一 | 黄色av一级 | 99精品一级欧美片免费播放 | 国产精品一区二区免费在线观看 | 国产麻豆视频免费观看 | 成人免费视频网站在线观看 | 黄色av免费在线 | 99精品久久久 | 蜜桃视频日本 | 麻豆观看| 精品免费观看 | 精品国产观看 | 一区二区三区国 | 一区二区三区在线观看中文字幕 | 狠狠操综合网 | 丁香五婷 | 91成人精品国产刺激国语对白 | 成人在线黄色电影 | 亚洲精品乱码久久久久久蜜桃不爽 | 亚洲国产资源 | 亚洲精品成人在线 | 揉bbb玩bbb少妇bbb | 免费在线观看日韩欧美 | 欧美激情第十页 | 免费毛片aaaaaa | 怡红院av久久久久久久 | 欧美一区中文字幕 | 狠狠狠干 | 麻豆精品视频在线观看免费 | 午夜18视频在线观看 | 天天干夜夜擦 | 亚洲激情视频在线观看 | 久久久久国产精品免费 | 激情网婷婷 | 午夜免费福利视频 | 欧美另类tv| 99国内精品 | japanesexxxhd奶水 91在线精品一区二区 | 玖玖玖在线| 久久久久久久久亚洲精品 | 久久成人人人人精品欧 | 亚洲精品福利在线观看 | 最新国产一区二区三区 | 国产成人一二三 | 亚洲全部视频 | 伊人激情综合 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 成人午夜电影在线观看 | 在线观看成人小视频 | 免费a v网站 | 狠狠的操狠狠的干 | 国产美女免费观看 | 精品国产乱码久久久久久1区二区 | 久久美女免费视频 | 亚洲视频中文 | 国产小视频你懂的 | 久久久久久久久久久免费视频 | 国产女人40精品一区毛片视频 | 91手机电视 | 91视频在线| 色婷婷激情 | 国产成人综合在线观看 | 91高清在线看| 狠狠干电影 | av电影在线免费 | 亚洲视频456 | 日韩毛片精品 | 亚洲精品久久久久中文字幕m男 | 免费看片成年人 | 国产一性一爱一乱一交 | 欧美9999| 欧美性色19p | 五月婷婷综| 天天干天天碰 | 欧洲激情综合 | 手机av观看 | 久久亚洲区 | www久久国产 | 日韩欧美一区二区三区在线观看 | 国产成人免费av电影 | 国偷自产视频一区二区久 | 国产传媒中文字幕 | 日韩欧美视频 | 97国产大学生情侣白嫩酒店 | 久久久91精品国产一区二区精品 | 天天五月天色 | 美女视频黄在线观看 | 丝袜一区在线 | 国产伦精品一区二区三区在线 | 国产色就色| 免费黄a大片| 在线影视 一区 二区 三区 | 公开超碰在线 |