久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

JavaScript基礎(chǔ)語法核心筆記:變量、類型、函數(shù)與事件機制

JavaScript基礎(chǔ)語法核心筆記:變量、類型、函數(shù)與事件機制 說實話JavaScript 基礎(chǔ)語法這門課我剛?cè)胄心菚菏钦鏇]當回事覺得不就是寫個var、敲個function嘛能難到哪兒去。結(jié)果真正開始寫項目、接手別人的代碼、被線上 bug 追著跑的時候才發(fā)現(xiàn)當初基礎(chǔ)沒摳透的賬全都在后面加倍還回來了。這份學習筆記算是我對自己這幾年 JavaScript 使用經(jīng)驗的一次系統(tǒng)回爐。我不會把它寫成教科書式的語法清單而是把我在實際開發(fā)里反復踩過的坑、驗證過的寫法、以及真正用得上的細節(jié)全部整理出來。內(nèi)容覆蓋變量聲明、數(shù)據(jù)類型判斷、運算符與隱式轉(zhuǎn)換、函數(shù)、事件機制、報錯調(diào)試這幾個最核心的模塊適合剛學完 HTML 和 CSS、準備進入 JavaScript 世界的初學者也適合寫過一陣子代碼但總覺得基礎(chǔ)不扎實、想回頭查漏補缺的同學。我盡量用大白話講清楚每個知識點背后的“為什么”再配上可以直接跑起來的代碼示例。這份筆記不追求面面俱到但凡是寫出來的都是你日常開發(fā)里高頻遇到的、繞不開的東西。1. 先說說這份學習筆記的定位和整體思路1.1 為什么要回頭整理基礎(chǔ)語法很多初學者會有個誤區(qū)覺得基礎(chǔ)語法就是背幾個關(guān)鍵字、記幾條規(guī)則隨便看一遍就算過了。但 JavaScript 這門語言有個特點它看起來跟 C、Java 長得很像骨子里卻是完全不同的運行邏輯。比如變量提升、隱式類型轉(zhuǎn)換、this的指向規(guī)則、事件冒泡這些概念光看語法是看不出來的必須放到實際執(zhí)行場景里去理解。我寫這份筆記的另一個直接原因是身邊陸續(xù)有同事問我一些“基礎(chǔ)問題”“為什么我用比較兩個值老出問題”“為什么這個this在函數(shù)里就變成 undefined 了”“為什么數(shù)組判斷類型用typeof不管用”。這些問題單獨看都是基礎(chǔ)語法里的細節(jié)但連起來就是一個完整的知識拼圖。與其每次幫人查一遍不如系統(tǒng)性地寫一份可以反復查閱的筆記也算是對自己知識體系的一次沉淀。1.2 基礎(chǔ)語法學習的整體路線JavaScript 基礎(chǔ)語法這塊我的建議是按照“變量與類型 → 運算符與流程控制 → 函數(shù) → 對象與數(shù)組 → 事件與 DOM → 異步”這條主線去推進而不是今天看一個知識點、明天看另一個。原因很簡單后面的每一個環(huán)節(jié)都在依賴前面的概念。你連let和var的作用域都分不清后面寫循環(huán)、寫閉包、寫事件處理函數(shù)的時候一定會一頭霧水。這里我用一個表把我建議的學習順序和對應要解決的問題列出來學習階段核心內(nèi)容需要搞懂的關(guān)鍵問題第一階段變量聲明、數(shù)據(jù)類型、類型判斷var/let/const 有什么區(qū)別、typeof 能判斷什么第二階段運算符、流程控制、循環(huán)隱式轉(zhuǎn)換規(guī)則、與的差異、分支怎么組織第三階段函數(shù)、作用域、閉包函數(shù)表達式與聲明區(qū)別、this指向、參數(shù)處理第四階段數(shù)組與對象操作引用類型特性、常用方法、解構(gòu)賦值第五階段DOM 操作與事件事件綁定、事件流、事件委托第六階段異步與模塊化回調(diào)、Promise、async/await、模塊導入導出這份筆記對應的是前三個階段的重點內(nèi)容后三個階段等我把異步那塊再單獨整理一份筆記出來。別貪多地基打牢了后面真的會快很多。2. 變量、數(shù)據(jù)類型與類型判斷翻車率最高的前三名2.1 var、let、const 到底怎么選三個聲明關(guān)鍵字是 JavaScript 給新手的第一關(guān)。我見過很多教程直接告訴你“能用const就用const其次let別用var”這個結(jié)論是對的但它背后的原理如果沒搞清楚以后還是會踩坑。先說var。它在 ES6 之前是唯一的變量聲明方式有兩個明顯的問題一是函數(shù)作用域沒有塊級作用域的概念二是變量提升聲明會被“提升”到作用域頂部但賦值還在原位。舉個我自己調(diào)試過的例子function testVar() { console.log(name); // undefined不是報錯 var name zhangsan; if (true) { var age 30; // var 沒有塊級作用域 } console.log(age); // 30外部也能訪問到 }這段代碼在別的語言里早就報錯了但在 JavaScript 里能正常跑正是因為var的變量提升和函數(shù)級作用域。console.log(name)打印出 undefined 而不是拋異常這個行為很容易讓人誤以為代碼沒問題實際上邏輯可能已經(jīng)錯了。let和const是 ES6 引入的塊級作用域變量聲明解決了上面兩個問題。let聲明的變量只在當前代碼塊內(nèi)有效而且存在“暫時性死區(qū)”——在聲明之前訪問變量會直接報ReferenceError。const則是常量聲明聲明時必須賦值且不能重新賦值。注意這里是不能“重新賦值”但對對象和數(shù)組這種引用類型const只鎖住變量指向的地址不鎖內(nèi)部屬性const user { name: lisi }; user.name wangwu; // 允許修改屬性沒問題 // user { name: zhaoliu }; // 報錯重新賦值不允許 const arr [1, 2, 3]; arr.push(4); // 允許 // arr [1, 2]; // 報錯我的實際建議是默認用const確定需要重新賦值時才用let。這樣代碼的意圖更清晰別人看你的代碼時看到const就知道這個變量不會重新指向新值減少了閱讀理解成本。2.2 數(shù)據(jù)類型全景基本類型和引用類型要分清JavaScript 有 7 種基本類型和 1 種引用類型?;绢愋桶╯tring、number、boolean、null、undefined、symbol、bigint引用類型主要是object而數(shù)組、函數(shù)、日期、正則這些本質(zhì)上都是object的變體。這個分類不是考試知識點它直接決定了你代碼里的賦值行為?;绢愋桶粗祩鬟f拷貝的是實實在在的值引用類型按引用傳遞變量里存的是內(nèi)存地址??磦€我實際遇到過的問題let a { count: 1 }; let b a; // b 拿到的是 a 的引用不是拷貝 b.count 2; console.log(a.count); // 2a 也被改了 let c hello; let d c; d world; console.log(c); // helloc 沒變基本類型互不影響這個現(xiàn)象我在好幾個新手同事的代碼里都見過。他們本想復制一個對象出來做臨時修改結(jié)果不小心把原對象也改了排查了半天。解決辦法是用展開運算符...做淺拷貝let user { name: tom, info: { age: 20 } }; let copy { ...user }; // 淺拷貝只復制第一層 copy.info.age 25; console.log(user.info.age); // 25嵌套的 info 對象還是同一個引用 // 深拷貝需要用遞歸或者 structuredClone let deepCopy structuredClone(user); deepCopy.info.age 30; console.log(user.info.age); // 25這次互不影響structuredClone是后來才有的原生深拷貝 API兼容性已經(jīng)足夠好遇到需要深拷貝的場景不用再手動寫遞歸了。2.3 typeof 的局限與更可靠的類型判斷typeof是新手最先接觸的類型判斷工具但它有幾個著名的坑我整理一下表達式結(jié)果說明typeof 42number正常typeof strstring正常typeof trueboolean正常typeof undefinedundefined正常typeof nullobject歷史遺留 bug但沒法修typeof []object數(shù)組也是 objecttypeof function(){}function函數(shù)有特殊處理typeof null返回object是 ES 規(guī)范里沒法修改的歷史問題所以判斷一個值是不是真的null時得用value null這種全等比較而不是依賴typeof。判斷數(shù)組也不能用typeof得用Array.isArray()或者Object.prototype.toString.call()。日常開發(fā)里我總結(jié)了一套自己的判斷習慣判斷基本類型用typeof判斷null用全等判斷數(shù)組用Array.isArray()需要精確判斷對象類型時用Object.prototype.toString.call()Object.prototype.toString.call([]); // [object Array] Object.prototype.toString.call({}); // [object Object] Object.prototype.toString.call(new Date()); // [object Date] Object.prototype.toString.call(/regex/); // [object RegExp]還有一個在實戰(zhàn)中非常高頻的需求判斷一個值是否“為空”。我推薦用“真值”結(jié)合顯式判斷比如判斷一個輸入框提交前是否填了內(nèi)容function isEmpty(value) { return value null || value undefined || value ; }這里刻意沒有用!value因為!0、!false、!都是 true直接把數(shù)字 0 和布爾 false 都判成空了容易誤傷。3. 運算符、流程控制與隱式轉(zhuǎn)換邏輯出錯往往不在邏輯3.1 隱式類型轉(zhuǎn)換加號到底是拼接還是加法JavaScript 的運算符是隱式類型轉(zhuǎn)換的重災區(qū)也是新手最容易懷疑人生的地方。規(guī)則其實很明確只要兩側(cè)有一個是字符串那它做的就是字符串拼接如果兩側(cè)都不是字符串才把操作數(shù)轉(zhuǎn)成數(shù)字做加法。console.log(1 2); // 12字符串拼接 console.log(1 2); // 3數(shù)字加法 console.log(1 2); // 12 console.log( 1); // 1 console.log(5 - 1); // 4注意減號沒有拼接語義會轉(zhuǎn)數(shù)字 console.log(5 * 2); // 10這里有個特別容易踩的坑從輸入框拿到的一定是字符串直接做加法會變成拼接。比如用戶輸入價格和數(shù)量你寫price count結(jié)果得到的是12.934這樣的字符串而不是乘法結(jié)果。解決辦法是顯式轉(zhuǎn)換用Number()、parseInt()或者parseFloat()let price Number(12.9); // 12.9 let count Number(3); // 3 let total price * count; // 38.7 let num1 parseInt(12px); // 12能解析出前置數(shù)字 let num2 parseFloat(3.5rem); // 3.5我自己寫代碼的習慣是“顯式優(yōu)于隱式”任何從外部拿到的值在使用前先做類型轉(zhuǎn)換絕不讓 JavaScript 幫我猜。這樣代碼清晰也不會被隱式轉(zhuǎn)換坑到。3.2 與 全等比較是唯一推薦會先做隱式轉(zhuǎn)換再比較不做轉(zhuǎn)換直接比較值和類型。我在項目里的規(guī)矩就一條永遠用永遠別用。因為的規(guī)則太繞了看幾個例子你就知道為什么我這么堅決console.log(1 1); // true轉(zhuǎn)數(shù)字后相等 console.log(0 ); // true空字符串轉(zhuǎn) 0 console.log(0 false); // truefalse 轉(zhuǎn) 0 console.log(null undefined); // true特殊規(guī)則 console.log([] ); // true數(shù)組會先轉(zhuǎn)成字符串這些結(jié)果單看每條都有“規(guī)則可循”但放在一起就是災難。我記得之前排查一個 bug表單提交時判斷用戶是否選擇了選項用了if (selectedValue 0)結(jié)果空字符串也被當成 0 通過了校驗導致提交了一堆空數(shù)據(jù)。從那以后我就在團隊里立了規(guī)矩代碼評審時看到直接打回讓寫出這行代碼的人用改過來。在判斷引用類型時也要注意它比較的是引用地址而不是內(nèi)容let obj1 { id: 1 }; let obj2 { id: 1 }; console.log(obj1 obj2); // false內(nèi)容一樣但地址不同 let obj3 obj1; console.log(obj1 obj3); // true同一個引用3.3 流程控制的組織方式流程控制除了最基礎(chǔ)的if...else之外實際開發(fā)里還要學會根據(jù)場景選擇更合適的寫法。我自己的選擇標準是分支少、邏輯簡單用if...else多個固定值匹配用switch或者對象映射純粹二選一用三元表達式。對象映射這種方式是我在項目里用得越來越多的尤其是處理不同狀態(tài)對應不同行為時比一長串if...else好看得多const statusMap { pending: 待處理, processing: 處理中, finished: 已完成, failed: 失敗 }; function getStatusText(status) { return statusMap[status] || 未知狀態(tài); }這個寫法有幾個好處映射關(guān)系集中在對象里新增狀態(tài)只需要加一行沒有復雜的嵌套分支默認值用||兜底。比寫四個if判斷要清晰太多了。循環(huán)方面普通for循環(huán)適合知道循環(huán)次數(shù)的場景for...of適合遍歷數(shù)組、字符串等可迭代對象for...in是遍歷對象屬性名用的但要注意它會把原型鏈上的可枚舉屬性也遍歷出來所以我通常不推薦直接用它遍歷對象而是用Object.keys()配合forEachconst user { name: tom, age: 25 }; Object.keys(user).forEach(key { console.log(key, user[key]); });4. 函數(shù)JavaScript 的一等公民4.1 函數(shù)聲明、函數(shù)表達式與箭頭函數(shù)函數(shù)在 JavaScript 里是“一等公民”意思是函數(shù)可以像普通值一樣被賦值、傳參、返回。這個特性是 JavaScript 能用回調(diào)、能用函數(shù)式編程的基礎(chǔ)。函數(shù)有三種常見寫法我分別說說它們在實際使用中的區(qū)別。函數(shù)聲明有提升機制可以在聲明之前調(diào)用函數(shù)表達式?jīng)]有提升必須先定義后使用箭頭函數(shù)是 ES6 的簡潔寫法但沒有自己的this、不能用作構(gòu)造函數(shù)??创a感受一下// 函數(shù)聲明可以提前調(diào)用 console.log(add(1, 2)); // 3 function add(a, b) { return a b; } // 函數(shù)表達式提前調(diào)用會報錯 // console.log(subtract(5, 2)); // TypeError const subtract function(a, b) { return a - b; }; // 箭頭函數(shù) const multiply (a, b) a * b;我平時寫代碼的傾向是需要提升或者需要作為構(gòu)造函數(shù)時用函數(shù)聲明一次性使用的回調(diào)函數(shù)用箭頭函數(shù)需要動態(tài)綁定this時才用普通函數(shù)表達式。箭頭函數(shù)還有個好處是返回值隱式返回寫短回調(diào)特別舒服const numbers [1, 2, 3, 4, 5]; const doubled numbers.map(n n * 2); // [2, 4, 6, 8, 10]這里注意箭頭函數(shù)如果只有一條表達式可以省略return和大括號。但如果返回的是對象字面量需要加圓括號包裹const getUser () ({ name: tom, age: 18 }); // 必須加 ()否則會被當成函數(shù)體4.2 參數(shù)處理與 this 指向函數(shù)參數(shù)的默認值處理老寫法是a a || 默認值但這有個問題如果傳入的合法值是空字符串或者 0也會被替換成默認值。ES6 的默認參數(shù)語法更精確只有當參數(shù)為undefined時才啟用默認值function greet(name 游客) { console.log(你好${name}); } greet(); // 你好游客 greet(tom); // 你好tom greet(); // 你好 空字符串不會觸發(fā)默認值不定參數(shù)...args可以把所有剩余的實參收集成一個數(shù)組在處理參數(shù)數(shù)量不確定的函數(shù)時非常有用function sum(...numbers) { return numbers.reduce((acc, cur) acc cur, 0); } console.log(sum(1, 2, 3, 4)); // 10然后是this指向。這個真的是 JavaScript 里最勸退新手的點。我的理解方式是普通函數(shù)的this指向“調(diào)用它的那個對象”箭頭函數(shù)的this指向“定義它時所在作用域的this”。最常見的坑是事件回調(diào)里用普通函數(shù)this指向了事件源元素而不是外層對象導致取不到數(shù)據(jù)。比如const userCard { name: 張三, init() { // 這里的 this 是 userCard document.getElementById(btn).addEventListener(click, function() { // 這里的 this 是 button 元素不是 userCard console.log(this.name); // undefined }); } };解決方案有兩個一是把外層this存成self再在回調(diào)里用二是直接用箭頭函數(shù)因為它會繼承外層作用域的this?,F(xiàn)代寫法毫無懸念選箭頭函數(shù)const userCard { name: 張三, init() { document.getElementById(btn).addEventListener(click, () { console.log(this.name); // 張三 }); } };4.3 回調(diào)函數(shù)和異步的入門理解函數(shù)作為參數(shù)傳遞是 JavaScript 異步編程的基礎(chǔ)。雖然現(xiàn)在都用 Promise 和 async/await 了但回調(diào)仍然無處不在事件處理、數(shù)組方法、定時器、中間件全是回調(diào)。初學者容易對回調(diào)產(chǎn)生兩個困惑一是“為什么函數(shù)可以不立刻執(zhí)行”二是“怎么防止回調(diào)地獄”。關(guān)于第一個我的解釋是把函數(shù)當成一個“委托任務”你不是當場執(zhí)行它而是告訴系統(tǒng)“到某個時機再執(zhí)行我”。定時器是最直觀的例子setTimeout(() { console.log(兩秒后執(zhí)行); }, 2000); console.log(先執(zhí)行); // 輸出先執(zhí)行 → 兩秒后執(zhí)行關(guān)于第二個困惑回調(diào)地獄是層層嵌套回調(diào)導致的代碼橫向膨脹解決思路是不要用}一層層疊而是使用 Promise 鏈式調(diào)用或者 async/await 讓代碼恢復平鋪結(jié)構(gòu)。基礎(chǔ)語法階段先理解回調(diào)的“傳遞行為”異步專項后面單獨展開。5. 事件機制語法怎么落地到頁面上5.1 事件綁定的三種方式JavaScript 在瀏覽器里最核心的工作就是跟用戶交互事件機制就是交互的入口。事件綁定有三種方式但日常開發(fā)里推薦用的只有一種半。第一種是把事件寫在 HTML 屬性里比如onclickhandleClick()這個方式現(xiàn)在基本被淘汰了因為行為跟結(jié)構(gòu)耦合在一起不好維護。第二種是 DOM 屬性賦值方式element.onclick handler這種方式只能綁一個處理函數(shù)后綁的會覆蓋先綁的。第三種是addEventListener方式可以綁多個處理函數(shù)還支持控制是否在捕獲階段執(zhí)行是唯一推薦的標準方式const btn document.getElementById(btn); btn.addEventListener(click, () { console.log(第一次綁定); }); btn.addEventListener(click, () { console.log(第二次綁定); }); // 點擊后兩個回調(diào)都會執(zhí)行addEventListener還有一個很實用的能力是{ once: true }參數(shù)讓事件只觸發(fā)一次對于某些一次性操作比如首次點擊提示特別方便btn.addEventListener(click, showGuide, { once: true });5.2 事件對象、事件冒泡與事件委托事件處理函數(shù)的第一個參數(shù)就是事件對象里面包含了跟這次事件相關(guān)的所有信息目標元素、坐標、按鍵、時間戳等。document.addEventListener(click, (event) { console.log(event.target); // 實際點擊的元素 console.log(event.clientX); // 點擊的 X 坐標 console.log(event.clientY); // 點擊的 Y 坐標 console.log(event.type); // click });事件冒泡是指事件從最內(nèi)層的目標元素開始逐級向上傳播到父元素、再傳到 document。如果不了解冒泡你可能會遇到這種情況點擊列表里某一項結(jié)果整個列表的點擊事件都觸發(fā)了。實際項目里冒泡配合“事件委托”反而是個很好用的模式與其給 100 個列表項分別綁事件不如只給父容器綁一個事件通過event.target判斷實際點的是誰const list document.getElementById(list); list.addEventListener(click, (event) { const item event.target.closest(li); if (item) { console.log(點擊了第, item.dataset.index, 項); } });這里用了closest(li)它的作用是向上查找最近的li元素這樣就算用戶點的是li內(nèi)部的文字或圖標也能準確定位到這一項。事件委托的好處是占用的監(jiān)聽器少、內(nèi)存占用低而且后續(xù)動態(tài)新增的列表項不需要額外綁定就能響應事件。如果你需要阻止冒泡用event.stopPropagation()需要阻止默認行為比如跳轉(zhuǎn)、提交刷新頁面用event.preventDefault()。6. 運行時報錯與調(diào)試別怕報錯怕的是看不懂6.1 高頻報錯類型速查表學習 JavaScript 的過程中報錯是家常便飯。我把這幾年遇到頻率最高的報錯歸納成一張表方便對照排查報錯信息含義常見場景解決思路ReferenceError: xxx is not defined變量未聲明拼錯變量名、用了未定義的值檢查變量聲明和拼寫TypeError: Cannot read property xxx of undefined在 undefined/null 上讀取屬性異步數(shù)據(jù)未返回、接口字段缺失先判空再用value?.xxx可選鏈SyntaxError: Unexpected token語法錯誤少寫括號、花括號不配對、中英文符號混用看報錯位置附近的代碼檢查括號TypeError: xxx is not a function調(diào)用了不存在的方法把對象當函數(shù)調(diào)用、方法名拼錯確認類型和是否存在該方法RangeError: Maximum call stack size exceeded棧溢出無限遞歸、死循環(huán)檢查遞歸終止條件我自己在調(diào)試時特別強調(diào)一個習慣先看報錯的第一行再看它指出的行號位置。很多新手一看報錯就慌直接翻代碼從頭看到尾其實瀏覽器控制臺已經(jīng)告訴你了問題在哪一行順著查就行。6.2 調(diào)試技巧console、斷點與性能分析console.log當然是最常用的調(diào)試方式但它有個效率問題改一次代碼刷新一次頁面非常費時間。我的調(diào)試路線是先在控制臺輸出關(guān)鍵變量確認數(shù)據(jù)對不對如果還定位不了直接在瀏覽器開發(fā)者工具里打斷點逐步執(zhí)行看每一行的變量變化。打斷點的操作很簡單在 Sources源代碼面板里找到對應的 JS 文件點擊行號打上斷點然后刷新頁面代碼執(zhí)行到這一行就會停下來。這時候可以在右側(cè)的 Scope作用域面板里看到所有變量的當前值也可以單步執(zhí)行一行一行走觀察每一步的效果。這個方法對排查循環(huán)問題、復雜函數(shù)內(nèi)部邏輯特別有效比盲目加console.log高效太多。還有一個我常用的技巧給console.log加上描述前綴方便在多條日志中區(qū)分const userId u_1001; const orderList getOrders(); console.log(當前用戶ID:, userId); console.log(訂單列表:, orderList);真到了生產(chǎn)環(huán)境日志可不能隨便打會影響性能。生產(chǎn)代碼里的調(diào)試信息要么不寫要么通過構(gòu)建工具剔除這是我踩過坑后養(yǎng)成的習慣——線上頁面一打開控制臺幾百條日志排查性能問題的時候完全分不清哪條是核心信息。7. 實戰(zhàn)里的高頻細節(jié)看起來小用錯了很難受7.1 保留兩位小數(shù)到底怎么選“JavaScript 保留兩位小數(shù)”這個話題在零散問題里一直很熱門因為我確實踩過坑。toFixed(2)是很多人第一反應但它有個讓人頭疼的問題返回的是字符串而不是數(shù)字。const price 3.14159; console.log(price.toFixed(2)); // 3.14注意是字符串 console.log(typeof price.toFixed(2)); // string如果你直接拿這個結(jié)果去做數(shù)值計算3.14 2會得到3.142又是一個隱式轉(zhuǎn)換的坑。所以要么用Number(price.toFixed(2))轉(zhuǎn)回來要么用更精確的式子const num 3.14159; const rounded Math.round(num * 100) / 100; // 3.14真正的數(shù)字另外toFixed的舍入規(guī)則在某些邊界情況也反直覺比如(1.005).toFixed(2)得到的是1.00而不是1.01原因與浮點數(shù)精度有關(guān)。如果你要做金額計算我建議用Math.round(value * 100) / 100這個基礎(chǔ)做法或者直接引入處理精確小數(shù)的庫無論如何別依賴toFixed來做業(yè)務上的金額舍入判斷。7.2 模板字符串的實用價值ES6 的模板字符串用反引號包裹除了能插值還可以直接寫多行這個特性在拼 HTML 片段時特別好用。我寫動態(tài)渲染的列表時經(jīng)常這樣拼模板const users [{ name: 張三, age: 20 }, { name: 李四, age: 22 }]; const listHtml users.map(user li classuser-item span classuser-name${user.name}/span span classuser-age${user.age}歲/span /li ).join(); document.getElementById(userList).innerHTML listHtml;注意拼接數(shù)組時用了join()不然默認會在每個元素中間加逗號生成一堆帶逗號的 HTML這個細節(jié)我第一次寫的時候也漏了。7.3 字符串綜合處理的常見組合字符串操作用途極廣我整理幾個高頻組合去首尾空格用trim()判斷是否包含子串用includes()按分隔符拆分用split()把數(shù)組拼回字符串用join()批量替換要用正則加replace()let input hello world ; console.log(input.trim()); // hello world console.log(input.includes(world)); // true console.log(a,b,c.split(,)); // [a, b, c] console.log([a, b].join(-)); // a-b console.log(2025-01-01.replace(/-/g, /)); // 2025/01/01這里replace(/-/g, /)里的g是全局匹配標記不加的話只替換第一個匹配到的-很多人在這里吃過虧。8. 學習筆記之外的幾點體會聊到這兒這份筆記的主體內(nèi)容差不多告一段落。最后分享幾個我回爐基礎(chǔ)語法后的個人體會。第一基礎(chǔ)語法的價值不在于背下來多少規(guī)則而在于建立起“遇到問題能判斷它屬于哪一類”的能力。報錯信息是 TypeScript 還是運行時錯誤、是類型問題還是作用域問題、是同步邏輯還是異步時序問題這些分類能力全靠對基礎(chǔ)的熟悉程度。我在實際開發(fā)里排查問題的速度明顯快于同事不是因為我聰明而是因為我見過這些坑、知道它們大概率出現(xiàn)在哪兒。第二寫代碼時永遠不要指望 JavaScript 幫你“猜意圖”。、隱式轉(zhuǎn)換、var提升這些特性任何一次“圖省事”的使用都可能在某次重構(gòu)或者數(shù)據(jù)異常時變成回旋鏢。用顯式轉(zhuǎn)換、用、用let/const這些習慣一開始可能覺得繁瑣但長期算下來省下的排查時間遠大于多敲的那幾個字符。第三如果這份筆記里的代碼示例你能不看答案自己寫一遍再刻意改幾個參數(shù)觀察結(jié)果變化那學習效果會比單純“看懂”好很多。我?guī)н^的每一個上手快的新人共同特點都是愿意親手敲代碼、親手制造 bug、再親手解決 bug。基礎(chǔ)語法沒有捷徑但它也不需要你死記硬背多寫多踩坑自然就熟了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
玖玖资源视频一区二区三区| 欧美人与动性人交a| 激情五月天丁香社区| 四虎AV在线播放| 99精品网站| 青娱乐休闲视频在线观看| 一区二区三区色综合| 亚洲夜夜欢无码一区二区 | 综合久久久久久久久91| 天操天操夜操夜月月年年操操| 色色色999| 亚洲AV成人无码一二三久久| 久久丝袜| 欧美丝袜美女电影一二三四区| 99操视频| 熟女性视频| 亚洲日韩美女中文字幕乱| 欧美色图 色综合图| 97超碰人操| 91扒丝袜综合在线| 久久极品伊人| 色综合色欲色综合色综合色综合| 国产婷婷综合在线观看| 超碰97日韩| 欧美97在线观看| 五月婷婷综合网| 手机在线中文字幕国产| 无遮挡男女激烈动态图| 国产特级毛片AAAAAA高潮流水 | 欧美日韩性爱无码| 伦伦成年午夜免费视频| 在线有码中文字幕| 伊人网综合在线视频| 乱伦熟女论坛| 婷婷色综合欧美日韩| 亚洲欧美综合图片| 狠狠97| 中文字日本乱码| 视频二区美腿丝袜制服人妻欧美| 五月婷网站| 亚洲九九视频| 久久亚洲一区二区色婷婷| 久久综合中文国产| 9999亚洲精品| 大香蕉青青9| 性欧美体内射精| 成人AV素股で擦久久| 天天做天天爱天天爽| 2020国产精品| 国产欧美日韩在线观看麻豆传媒公司| 天天影视色香色欲| 91人妻丝袜无码| 欧美中文字幕男人天堂久久精品 | 欧美亚洲天天| 蜜桃av色偷偷av老熟女| 午夜超爽| 婷婷色网| 91女网站| 天堂伊人久久| 日本大香蕉综合网红本杳社区 | 天天视频综合在线观看视频| 操逼逼福利视频| 91成人精品在线播放| 人妻aa| 亚洲中文字幕三级在线| 午夜激情床戏激情| 亚洲性图91| 欧美天天在线| 九九视频黄色片| 涩综合导航| 午夜男人av| 在线国产一区二区av| 中国人高清www色视频免费| 天天天天天干夜夜夜夜夜操| 日韩高清一二三| 国产精品色| 丝袜美腿91| 视频不卡中文字幕| 国产精品一级片在线看| 精品少妇一区二区三区免费观看| 亚拍在线| 欧美色乱| 九九色色| 国产suv精品一区二六| 天堂性色| 秋霞曰韩R级| 久久麻豆一区二区| 亚洲精品久久久久久久蜜桃臀| 日本高清免费一本视频在线观看| 日韩一级成人毛片免费观看| 少妇诱惑视频| 97超碰欧美手机在线| 日韩精品一区二区高清| 免费看污网站| 免费视频观看60秒| av日韩国产一区二区| 亚欧成人综合影院| 中文字日本乱码| 加勒比性爱成人在线| 在线视频亚洲无码| 亚洲综合五月天| 最新av在线| 亚洲交性| 久操网址| 亚洲欧美日韩电影网站一区| 亚洲欧美日韩中文播放| 色五月网址| 狠狠干2020| 久久亚洲国产成人| 97超碰久| 七月丁香婷婷| 99国产精品人妻人伦| 欧美91网站| 精品美女久久久久| 久久久噜噜噜久久久| 中文字幕激情小说| 91精品国产高清久久久久久,亚洲成人| 国产欧美精品日韩区二区麻豆天美| 色色青青久久| 综合自拍| 青青久久艹| 一级啊性爱在线视频| 婷婷五月天无码| 久久永久无码人妻视频| 999日韩中文精品观看视频。| 欧美96交| 亚洲另类色图片| 久久久久久9| 亚洲四虎熟女精品| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 日本道久久综合色色| 97天天操天天干| 色综合V| 91路www| 小视频国产| 欧美人妻中出| 久久婷婷综合国际产色怕| 亚洲蜜臀视频精品久久| 亚洲国产一区二区三区四区国产| 久久久一区二区三区麻豆| 久久乐| 日韩小电影| 亚洲不卡AV在线| 热思思免费视频| 不卡在线一区,精品一区二区三区中| 欧洲亚洲人妻无码高清久久三区四区| 狠狠色综合网| 天天草天天日| 国产乱码久久久久久| 超碰91在线| 亚洲图片另类| 97超碰欧美手机在线| 999岛国大片| 青草伊人网| 91在线美女| 日日操免费视频| 亚洲熟女乱综合一区二区三区| 国产日产精品久久快鸭的功能介绍| 欧洲精品人妻| 120分钟婬片免费看| 男女日B国产| 久久久久久久综合,国产| 久久一二三四五六七八九区区区 | 麻豆久久一区二区三区| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 亚洲午夜精品久久久中文影院| 一区二区 韩日AV| 超碰97久久| 呦女网站| 爆乳免费黄网站| 在线国产福利网址导航| 成人蜜乳小视频网站| 欧美色图 人妻| 操一区| 强奸乱伦亚洲第一页| 九九九国产| 欧美性色综合网| 色色色色色色色色色色色色色色综合| 婷婷午夜成人色中色| 综合久久97| 98超碰欧美| 99抽插| 一二三四日本视频高清| 少妇干B| 国内偷自视频区视频综合| 欧美高清在线| 精品一区二区麻豆| 亚洲AV高潮| 欧美刺激色黄片免费看| 亚洲美女自拍偷拍视频| 3d成人精品一区二区| 熟妇综合一区二区三区| 四虎影视国产精品| 国产精彩女在线观看视频| 最新AVzaixian| 日本在线激情一区二区三区| 久久人人舔人人爽舔人人av片| 中文字幕99999| 97中文综合| 91nbbbbbb| 草久久久| 精品视频123区小说区| 欧美日日操| 思思热在线视频在线| 夜夜国自区| 加勒比色综合| 日本好吊色视频| 色婷婷久久综合超碰| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 四虎精品永久在线播放| 欧美AB在线| 综合网少妇| 抽插一区二区视频| 天啪| 极品另类| 亚洲色图欧美色图另类图片| 精品在线78| 伊人久大| 日本一区不卡| 久久久久久亚洲Av无码精| 欧美性91| 日本韩国国产精品一区| 日韩免费a级毛片无码a∨| 久热最新在线杭州| 久96热在线观看视频| 成人国产二区三区在线,男女精品。| 玖色av| 东北女人性交| 日韩一级欧美一级国产一级台湾| 成人蜜乳小视频网站| 午夜成人爽爽爽爽A片李冰冰| 96AV精品| www.五月天| 欧美制服另类丝袜| 天天天天天超碰| 亚洲宗合网| 综合大香蕉美。| 色噜噜狠狠色综无码久久| 日本三级精品| 噜噜噜在线视频| 中文久久爆乳| 91麻豆天美国产欧美日| 四虎在线免费视频| 久久久久久久久9| 欧美姓爱综合网| 美女诱惑一区| 久久久九九网站| 亚洲无码色| 欧美大香蕉97| 揉揉日日日日| 乱伦熟女论坛| 久久肏大逼| 九九AV| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV | 看黑人AV不卡| 亚洲第一男人天堂| 色综合一本| 亚洲无码AV九九九| 精品97精品97| 日本Xx性爱| 日韩性爱再线视频| 操死我干死我| 一本一道人妻久久一区二区三区 | 日韩资源网| 天天综合站| 欧差乱伦二三| 新版天堂中文资源8在线| 日韩免费人妻色情网站| 久久99午夜精品一区人妻| 综合五月婷婷亚洲一区| 日本一二区免费| 97视频新免费| 色在线亚洲视频www| 99热色精品| 大香蕉欧美国产日韩高潮| 插插综合网天天影视网| 亚洲男人久久综合天堂| 涩五月婷婷| 国产AV天美传媒一区二区三区| 国产9区| 久久久久九九九九| 爱我干综合| 青青操在线亚洲视频观看欧美在线 | 日本视频一区二区三区| 又大又长又爽| 亚洲黄色| 中日韩久久久| 不卡一区视频| 中国一级αV| 六月婷婷激情| 久久久久女教师免费一区| 日韩乱伦影音先锋| 亚洲欧洲色情高清| 麻豆国产97在线| 五月丁香六月| 天天色综合影视网| 极品色www影院| 蜜桃精品视频一区二区三区| 久久‘黄片视频| 青苹果影院男人的天堂| 色色色色日本| 九X超碰| 一区AV| 男人兔费天堂| 青青青在线高清视频在线一二三四区| 立川理惠无码一区二区| 少妇精品久久久八区九区| 日本三级A片网站com| 超碰97爽| 日本精品一级二级三级| 天堂日本亚洲欧美| 97干97色| 台湾大香蕉99热| 怡红院成人视频| 国产又黄又粗的视频| 欧美激情在线观看视频| 97人人干| 免费看国产曰批40分钟怎么下载| 久久亚州精品成人Av无| 六六久久日韩不卡| 高清孕妇孕交| 欧美色图 人妻| 黄色AAAAAAAAAAA大片| 91在线/欧洲| 亚洲图片色图欧美另类| 一本大道久| 日韩欧美国产高清视频| 啊啊啊好舒服视频| 麻豆一区在线| 手机在线视频国内精品| 麻豆一区二区AV天美| 色色色综合| 91丨国产丨白浆秘 洗澡动漫| 嗯嗯啊啊用力视频免费| 国产av波波国产精品| 丝袜视频一区二区在线播放国产中文| 懂色av色欲av蜜臀av| 蜜桃午夜视频一区二区 | www久久99| 综合欧美色图| 97精品视频免费| 亚洲黄色a级片| 青青草大香蕉视频| 久久9亚洲| 日本视频在线观看污污污| 中文字幕av一区二区三区人妻少妇| 国产一区二区三区视频在线看| 97超碰总站| 婷婷激情五月综合| 国产亚洲日韩在线三区黑人| 五月天久久人妻| 麻豆AV96熟妇人妻| 静品嫩模一区二区| 国产精品久久久久久照片| 国产精品福利视频播放| 欧美96交| 五月婷婷hd| 男女一级A片大黄,一进一出| 亚洲伊人成综合成人网| 欧美另类天堂| 91欧美美女日韩国产婷婷| 欧美一级黄片免费播放| 大香焦A片| 日韩熟女精一区二区三区不卡| 九一精品牛牛一区二区| 97亚洲性爱| 九九探花视频在线观看| 亚洲囯产精品女人久久久| 97亚洲综合在线| 久草毛片电影怡| 97AV爱| 欧美,日韩综合久久| 久久超碰日韩精品| yazhououmeizongya| 色婷婷婷五月天激情四射| 五月天精品| 国产精品久久久久久久久AV大片| 久久精品国产亚洲AV清纯| 色老大| 午夜综合在线| 欧美综合 站| 国产熟女一区二区丰满| 91殴美大片| 色噜噜婷婷| 日韩中文字幕二区| 亚洲一区二区三区欧美日韩| 亚洲图片另类| 强奸乱伦 亚洲一区| 精品美女少妇一区二区| 性欧美| 日本99一区二区| 青青草色情网站视频| 国产乱码久久| 亚洲精品色| 97爱爱爱综合| 色哟哟-国产专区| 国产综合网站在线播放 | 99re在线精品78| 成人一区二区三区四区| 国产精品一区二区后入| 久久大精品乱码视频人妻熟女| 欧州激情视频在线一区二区| 天天干天天日天天射黄色片| 亚洲日韩XXX| 天堂射| 亚州国产成人精品女人久久| 九九九九精品一区| 九九九九一区| AV女优男人的天堂| 性videos欧美熟妇hdx| 亚洲巨爆乳一区二区三区四季网| 俺去啦俺来也久久综合| 亚洲国产成人精品无码专区| 色婷婷综合视频| 男人的天堂2019AV| 中文字幕 av v| 在线视频一区二区传媒| 九九九九九九九| 91美女精品| 试看日韩黄片| 久久久麻豆精品| 天天干一干| 天堂日本亚洲欧美| 久久大精品乱码视频人妻熟女| 狠狠干妹子| 麻豆天天躁天天揉揉AV| 国产精品麻豆成人av| 翔田千里AⅤHD无码| 操逼网站网站| 99热只有这里有精品| 日韩999| 超碰调教97| 岛国人妻少妇av在线观看| 大干人妻| 国产白丝精品在线观看| 乱老女人一区二区视频| 超碰久久性爱| 欧美亚洲手机在线| 国产最新小视频在线播放下载| 乱欲一区二区| 日韩ab网 | 最新日本中文字幕| 天天92av| 日韩丝袜高跟制服在线观看| 有码免费观看| 插入粉嫩少妇视频| 欧美黄页| Blackedraw视频一区二区| 色色色综合| 日夜久久久九九九久| 亚洲人精品午夜不卡| 成人性生活高清视频在线播放| 国产在线播放成人免费| 国产无马av| 久久中出在线| 性生活性生大爱77AV国产| 熟女探花啪啪| 日本午夜久久电影| 美女诱惑在线一区| 九九碰九九爱97超碰| 乱伦图一区| 99.色网| 人妻丰满熟妇av无码区蜜桃| 俺去啦俺来也久久综合| 日本三级中国三级99人妇网站| 久久精品91| 欧美97| 超碰成人免费| av草草在线电影| 成人av福利在线观看| 五月天社区| 色偷偷综合91久久噜噜| 人妻一区视频| 欧美熟女激情| 色波多| 国产丝袜视频| 91中文字幕制服丝袜免费视频| 国产成人亚洲精品无码古代早漏男| 日日夜夜天天| 热热色91| 伊人AAA| 蜜臀久久99精品久久久久电影| 亚洲欧美在线观看免费| 97视频在线免费看| 国产精品久久久久无码Av网曝门| 素人美腿视频网站| 久久精品国产精品一区| 97色冈| 91精片| 日日日日日| 人人澡人人干| 99色视频| 麻豆久久精品亚洲精品88| 青青青操| 欧美成熟性爱精品| 欧美操逼视频二区| 久久综合亚洲色1080p| 国产欧美日韩臀| 国产隔壁老王影院在线| 欧洲精品久久| 日韩欧美俄罗斯A片| 在线观看av区| 亚洲黄a三级三级三级看三级| 嗯啊视频免费在线观看| 物业黑人 AV一区| 国产亚洲美日韩Aⅴ中文字幕无码成人| 日本东京热大香蕉a片| 中文字幕,人妻,日韩| 久久草视频污视频| 欧洲熟妇xxXx欧美老妇裸体| 91热| 日本天天吊| 好爽视频在线观看| 精品十三区| 欧美不卡二区| 欧美亚洲手机在线| 青娱乐大香蕉| 精品人妻美妇91job| 99re这里只有| 美女97超碰| 3P乱轮视频| 中出欧美| 色www精品视频在线观看| 亚欧高清在线| 97碰| 偷拍片久久| 日本3级一区二区免费| 热99这里有精品综合久久| 91美女丝袜诱惑视频| 国内毛片热久久思思热| 亚洲美女高潮喷水视频| 97干色天堂| 天天草天天干天天日| 男人午夜天堂| 夜夜骑日日| 女同亚洲欧美一二三区久久电影| 亚洲欧洲综合成人av一区| 久久久久久无码人妻中文字幕| 91美女中出| 日本精品网站在线中文| 香蕉综合网| 黑人中出21连凳花野真衣| 久久久精品视频免费观看| 九久精品| 久99在线免费观看视频| 亚洲区限制级| 天天操女人| 激情视频网址| 欧美性爱三区二区| 免费观看性欧美一级| 亚州欧美在线| 翔田千里Av在线| 18精品一二区| 色香综合天天影视综合 | 97在线观看免费| 屌妞视频久久久久久久久久久久| julia高潮后不停追击中出| 影音先锋每日最新资源在线观看 | 婷婷久月| 欧美日韩国产中文精品字幕自在自线| 97色网| 亚洲中文丝袜美腿诱惑字幕| 欧美激情久久久久| 射欧美综合| 日本超碰在线国产一区| 九九热精品| 激情综合五月婷婷| 亚洲女毛多水多21P| 免费?级毛片无码?∨蜜芽试看| 校园春色五月天| 中出91视频| 欧美综合自拍亚洲综合图| 超碰人妻中文在线| 超碰在线97国产| 五月丁香婷婷色| 久久久无码国精品无码三区三区| 麻豆这里只有精品| 亚洲日韩精品在线播放| 国产农村一一级特黄毛片| 亚洲色 国产 欧美 日韩| 欧美性生活免费网| 亚洲欧美在线观看免费| 一类无码操逼视频| 天天搞欧美| 日韩超碰97| 日本三级一区二区 在线| 大香蕉久久| 国产欧美日韩精品中文| 夜夜夜久久| 欧美男人的天堂| 97中文综合| 99色热| 肥佬影院91| 日韩久射综合| 丝袜人妻av一区二区| 乱性AV| WWW操逼| 国产网红精品| 日韩少妇一区二区三区| 国产精品国产拍高清AV| 亚洲天堂中文字幕无码男同| 麻豆久久久久久久久丝袜| 亚 欧 美 综合| 久久久久久大| 色制服丝袜夫妻av一区| 久久久久久中文| 99999国产| 欧美少妇高潮| 亚洲国产综合视频| 伊人久久大香线蕉无码| 99九九久久| 啊好大好舒服| 欧美亚洲宗合色性图| 综合97亚洲| 日1区2区3区2020| 999精品乱码| 欧美性爱第一页久久| 91人妻中文| 五月天婷婷激情| 欧亚第一综合网| 亚洲91射| 日韩三A大片在线观看| 日韩中文字幕在线视频观看| 亚洲熟妇自偷自拍另欧美| 久久伊人青青草| 丝袜美腿91| 国产超碰AV在线精品| 欧美一区二区亚洲天堂| www.高清无码诱惑一区.com| 97国产中文| 日本1区2区不卡视频| 翔田千里av一区二区三区| 人人手机欧洲亚洲国产人妻| 成人精品水蜜桃久久久久久久| 97超碰久久| 果冻国产精品麻豆成人av| 亚洲精品欧洲精品| 日日躁夜夜躁狠狠躁超爽| 三级特黄60分钟播放| 日韩熟妇二区| 男人天堂久久精品不卡| 日韩性爱毛片操骚逼| 蜜臀久久99精品久久久久久久久| 久久九操在线观看| 久久精品福利影院| 深夜啪啪啪视频免费| 久久久久久99999国产精品| 台湾一区国产高清在线| 999日韩中文精品观看视频。| 国产精品乱码久久久久久久| 国产精品麻豆免费视频| 大香蕉操久久| 麻豆91熟妇人妻中文字幕茄子| 无码黑人精品一区二区三区三| 高清不卡一二三区视频......| 黑人精品欧美一区二区蜜桃| 人人操人人搞人人草| 国内外色色色色色成人视频| 青青青在线高清视频在线一二三四区| 国产91精品福利在线| 日本不卡二三区| 搡老女人911熟妇老熟女| 激情六月天| 亚洲无码一区成人免费午夜| 国产亚洲国产超碰| 青青久日| 婷婷五月成人| 久热最新在线杭州| caorenqi shipin| 蜜区区视频79| 天天爽天天操| 99re这里只有精品9| 国产女主播视频在线观看| 国产免费操逼| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 精品白丝一区| 国产自偷自拍一区| 国产AV中文| 成人情色一区二区| 久久久久亚洲熟妇熟女| 高潮嗯啊性感美女久久久| 亚洲无码太久| 亚洲精品白丝| 国产激情在线观看| 0755午夜福利视频| 一二三四免费视频| 天天插夜夜操| 玖玖大干人妻| 五月综合色| 好色综合| 麻豆天美制片厂网站视频| 天天弄天天操| 骚货操死你| 青青草自拍视频在线播放| 国产亚洲福利第一页丝袜| 欧美高潮在线| 欧美国产伊人久久久久| 日本一级真人黄色性爱视频| 色五月第四色| 中文自拍欧美影视| 超碰人妻久久| 日本大香蕉| 亚洲天堂一区二区久久| 久久亚洲天堂| 婷婷在线视频| 2017天天插| 嗯……啊…嗯嗯…啊…好舒服| 亚洲九九夜夜| 国产少妇内射| 久久av网| 人人操人人大香蕉| 精品一区二区三区国产| 欧美激色| 91色艳| 久久精品中文字幕观看| 大鸡巴久久| 亚洲综合贴图91| 五月婷婷综合网| 性爱乱伦视频免费| 欧美天堂在线| 超碰一区二区| AV一二区| 亚洲情色第一页| 欧美日韩精品一区二区三区高清| 蜜桃久久一区二区| 国产精品分类在线观看| 狠狠干综合| 热久久国产| 亚洲97在线| 骚货 中文字幕 av| 综合色图区| 亚洲精品日韩国产欧美| 成人 日本A片无码8888| 亚洲h片在线免费观看| 欧美黑人日韩少妇色情| 九九九久久久久| 一区二区三区成人高清视频| 国产在线播放成人免费| 成人无码欧美一级A片狼牙直播| 欧亚在线视频| 欧美色图中文字幕| 襙一襙| 久草加勒比一区在线| 97中文字幕一区| 欧美成人一区二区| 熟女精品一区二区三区| 国产日逼视频| 欧美精品久久96人妻无码| 久久久久密臀视频| 中文字幕一二三| 变态另类专区| 2019午夜福利视频| 久久久18禁| 成人三级片无码| 成人性爱美曰韩| 尤物网址| 久久日韩精品一区二区| 国产91福利小视频在线观看| 久久久久国产精品久久久| 久久精品国产97欧美精品亚洲 | 亚洲91网。| 狠狠躁AV| 精品人妻1237| 日本久操视频| 国产精品久久久亚洲一区| 国产强奸超碰AV| 亚欧性爱在线无码| 婷婷丁香六月| 激情五月综合网| 在线情色电影 91大 | 亚洲欧综合另类无码一区| 岛国视频一二三区| 嫩草一区二区在线观看| 久久精品美女一区| 亚洲欧美国产日本一区二区三区| 亚洲色图亚洲无码强奸乱伦| 秋霞一级视频在线观看免费| 欧美黄色大香蕉一区二区| 人人干人人操人人..com| 大屁股xxxxx| 18禁网站在线播放| 亚洲第一在线视频| 婷婷激情啪啪| 日欧美色| 亚洲999综合| 97日韩欧美亚洲| 三级色影综合网| 天天日天天操天天射河南省| 精品人妻一区二区视频| 竹菊影视国产一区二区| 亚洲激情av| www.97在线| 欧美另类自拍 | 人妻少妇无码 | 区一在线观看| 色超碰综合| 大香蕉人妻久久| 亚洲AV麻豆Aⅴ无码电影一| 亚洲欧洲综合av在线| 99精品成人免费看| 97AV爱| 精品乱码久久久久| 日日摸天天爽夜夜欢| 国产家庭乱伦性爱视频| 欧美黄色片AAAAA| 99re这里只有精品中心播放| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 在免费jIzzjIzz在线视频| 高颜值美女口爆高潮浪叫| 国产精品九九九| 东北丰满熟女国产一区| 97天堂| 操人妻逼91| 老熟女综合| 日韩丰满熟妇| 国产精品一区二区在钱播放| 97天天在线| 搡老女人老91妇女老熟女| 试看日韩黄片| 亚洲激情AV| 久久一本大香蕉| 99无码| 91精品久久综合熟女| 天天日天天舔东京热| 校园春色AV天堂| a v网站在线播放| 五月丁香六月激情| 91男人综合| 性爱乱伦视频免费| 日韩在线76| 青草伊人久久| 人人操人人插人人摸人人干| 香蕉一区二区三区在线视频| 0755午夜福利视频| 郑州宾馆老熟女露脸啪啪| 色婷婷aV一区二区三区麻豆综合| 后入综合久久| 欧美一区二区三区蜜桃| 天天天天天天天天综合| 久久久9999| 亚洲九九夜夜| 国产成人啪一区二区| 国产中文字幕在线点播| 激情婷婷丁香| 国产美女自拍视频| 91黑人无码激情在线| 另类 综合 日韩 欧美 亚洲| av影片在线观看不卡| 色优久久| 久久久久极品| 色嗨嗨在线| 久久99精品国产| 久久久国产av美女私房| 日韩AV中文字幕电影| 午夜αv| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 刺激性视频黄页| 97超碰人妻| 97久久精品亚洲| 狠狠91| 欧美九九爱| 极品国产内射| 人妻精品4K4K4K4K4| 亚洲欧美日韩免费观看| 99热这里是精品| 人妻久久| 国内91熟女人妻丝袜天天精品视频在线 | 午夜美女福利视频| 青青青国产| 97国产超碰| 激情自拍 校园春色| 2019天天干| 亚洲国产一区二区三区在线| 国产亚洲综合欧美一区| 日韩电影中文字幕| 嗯嗯嗯啊啊啊在线免费观看| 天天综合~91| 欧美专区第一页| 亚洲日韩在线a不卡99精品| 欧美 青青草| 欧美综合娱乐久久| 91精品少妇搡搡搡| 天天综合91在线| 综合伊人网12色| 国产白丝在线| 91三级理论片播放器| 91国产丝袜白虎| 欧美性爱日韩性爱| 91女日逼| 综合激情97| 黄在线| 91制服丝袜| 99色悠悠| 一区二区三区 日韩欧美| 婷婷丁香人妻 | 人人色人人操在线| 亚洲AV无码乱码| 成人夜夜爽| 精品人妻1区| 天天日骚逼熟女| 97精品国产97久久久久久| 天天操天天干一区二区| 丰满人妻一区二区三区四区| 天天综合有色网| 九九性爱网| 探花精品 一区二区| 男人的亚洲天堂| 又黑又大又粗| 亚洲乱码精品一区二区| 午夜AV污污污| 婷婷久草一区二区三区| www.久久最新地址| 亚洲男人电影天堂| 天天综合网亚洲综合网| 午夜福利久久久噜久噜久久综合| 国产操偷| 婷婷超| 久9综合在线| 91爱看| 婷婷综合五月天| 精品人妻一区| 久久亚洲AV无码白度| 撸撸成人在线视频| 国产精品九9| 成人黑料社久久| 午夜精品久久久久久久久久蜜桃| 青女偷拍网| 国产怡红院| 六月婷婷五月丁香| 国产男人又猛又粗又爽| 精品亚洲一区在线观看| 玖玖无码超碰| 欧美亚洲20p| 岛国AV一区二区电影| 精品人妻美妇91job| 国产三级资源在线观看| 精品久| 最新9久久久9免费视频| 热热热热日日漂亮永久永久国产日| 久操婷婷| 欧美性爱另类综合| 久久人人舔人人爽舔人人av片| 欧美色图色综合| 男女啊啊啊啊啊| 97伦综合| 亚洲区限制级 99| 97超碰久久色| 狠色婷婷久久一区二区三区_| 78p欧美| 嗯嗯啊在线视频| 丁香色婷婷| 亚洲色系另类精品国产| 九九精品无码专区免费| 精品人妻一区二区三区四区石在线| 日韩欧美女求操每天更新| 精品人妻视频一区二区在线播放| 精品无码久久久| 自拍丝袜美腿人妻| 亚洲情色一区综合| 男人的天堂.com| 澳门人妻久久| 黑丝日韩av丝袜av| 人人搡人人肉久久精品| 99国产精品久久久久久久成人热| 有码免费观看| 一道本久久棕合爱| 欧美性,色九九| 精品国产自在在线99| 欧美亚综合色图| 狠狠搞 亚洲91| baiduhicn.com。| 精品国产乱码久久久兰草影视| 精品无码久久久久| 激情五月天校园春色网| 熟妇视频一区二区三区在线观看| 天天α片| 男人的天堂日韩| 久肏视频字幕| 九九九九九精品| 一级日本牲交大片好爽在线看| 亚川综合视频| 26uuu国产成人综合| 去干网最新版| 综合干干干av久久久综合网 | 1204人成网站色www| 91热| 91色综合| 亚洲精品中文字幕一区在线视频| 日本福利二区视频| 另类图片五月| 亚洲欧洲日产国产综合网| 亚洲区限制级| 国产三级中文字幕粉嫩| 欧美色偷偷| 久久69精品久久久久久久| 国产女同在线观看视频| 全免费a敌肛交毛片免费| 一区二区娱乐网站| av情色影音| 91老熟女91老女人| 成全动漫视频观看免费下载| 欧美日韩性爱无码| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 人妻少妇精品一区二区三区| 日日夜夜干| 97欧美色资源| 久久精品无码专区| 国产强奸无码乱伦| 在线可观看的黄色网址| 97国产精品一区二区传媒公司| 精品午夜福利导航| 欧美天天性| 亚洲色电影在线| 久草国产在线视频| 欧美日韩情色一区二区| 色综合20p| 天天日夜干| 亚洲欧美国产其他二区| 亚洲欧美爆| 97久久超碰亚洲| 中国大陆国产高清AⅤ毛片| 极品丝袜无码| 成人怡红院| 免费黄色视频网址| 深爱伊人影院| 911粉嫩人妻| 91男人天堂网| www.99中文字幕| 欧洲与亚洲欧美精品中文字幕| 亚洲乱码精品一区二区| 另类图片五月天| 女优大全 - 91n| www.狠狠干.coom| 好涩综合| 91偷拍欧美亚洲| 黑人精品一区二区在线播放| 久久超碰亚洲人| 欧美不卡二区| 日日夜夜模| 欧美精品1区2区3区| 欧美第五页| 亚洲AV无码久久久国产精品| julia国产在线| 成人日韩中文字幕| 少妇3P性爱自拍| 噜噜噜亚洲精| 骚女高跟AV在线| 久久精品色欧美aⅴ一区二区| 怡红院成人视频| 97视频在| 九九香蕉网| 欧美在线永久天堂| 福利天天都操| 天天干天天日天天射黄色| 人妻一二三区| 欧美97在线观看| 国产97色在线| 秋霞一级鲁丝片A片| 久久精品高清无码一区| 丝袜美腿诱惑亚洲欧美视频在线观看 | 日本三级一区二区 在线| 久久精9| 色婷婷丁香五月| 国产黄片精品在线| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 久久久精品国产亚洲伊人| 1024人妻熟女一区二区三区| 一级乱伦网站| 99热这里都是精品| 激情婷婷丁香网| 色踪合AV| 亚洲欧美另类少妇精品| 日韩乱中文| 无码最新| av一区二区三区四区| 日日摸日日弄日日拍| 欧亚日韩综合精品国产| 超碰1997| 99re这里只有精品3| 久久国产三区| 亚洲天堂另类美腿| 精品人妻1237| 日本999精品视频| 蜜臀99999| 大香蕉宅男伊人| 欧美天堂第二区| 亚洲人妻久久久| 欧亚韩国999| 热久日综合| 九九九九九九免费视频| 丰满欧美放荡少妇在线| 偷拍亚洲情色| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 青青草玖玖爱| 中精品一区二区三区| AV中文字幕三四五| 偷拍导航视频网站| 久久产精品一区二区三区电影| 18精品一二区| 97日韩欧美| 亚洲影院无码在线| 日韩性爱视频免费在线 | 在线岛国新天堂8| 9999免费精彩视频| 久久超碰97中文字幕| 九九国产| 黄骗免费网站| 国模少妇一区二区三区| 日本一二区免费| 亚洲综人网| 久久五月天婷婷丁香中文字幕| 九色婷婷| 中 文字幕一区二区三四 五 区日 日 骚| 麻豆天美在线喷水AV| 黑人美精品 A片| 日韩一级片| 黑人综合色| 一起草日韩| 金典av| 美女91在线| 五月丁香久久| 超碰偷拍| 国产三级电影免费观看| 免費人妻夜夜爽天天爽爽一区| 91久久国产精品| 人人操人人操草草| 日本成人免费一区二区三区| 天天欧美色| 91精品婷婷国产综合久久| 亚洲在线91| 人人乐大香蕉| 久久精品—区二区三区内射| 青青草天天亲夜夜操网| 日韩精品99久久久久久中文字幕| 久操免费电影| 破苞ⅩXXX性无码动漫无码| 色哟哟av网址| 久久xxxx| 91丝袜在线播放| 99操视频| 国产 日韩 欧美一区| 东京热一区二区三区四区五区六区| 97色亚洲| 操一区| 丁香五月自拍| 超碰97综合网| 国产 日韩 欧美 人妻 熟女 中文| 中文字幕一区二区三区50路| 97色欧州| 国产又大又硬又长又粗| 欧美日韩久久精品爱爱| 青青草精玖玖69精品| 亚洲欧美综合区自拍另类| 久久动漫精品视频这里只有精品| 久久亚洲av成人无码国产| 牛牛AV人人夜夜澡人人爽| 日本东京热大香蕉a片| 激情专区综合| 思思热久久成人| 色婷婷国产精品一区在线观看|