欧美videos另类精品-欧美videos另类极品-欧美vide-欧美va在线视频-欧美va在线观看-欧美va在线播放免费观看

首頁

高性能Javascript讀書總結

前端達人

1. 加載和執行

盡量將所有的<script>標簽放在</body>標簽之前,確保腳本執行前頁面已經完成了渲染,避免腳本的下載阻塞其他資源(例如圖片)的下載。

合并腳本,減少頁面中的<script>標簽

使用<script>標簽的defer和async屬性(兩者的區別見這里)

通過Javascript動態創建<script>標簽插入文檔來下載,其不會影響頁面其他進程

2.數據存取

由于作用域鏈的機制,訪問局部變量比訪問跨作用域變量更快,因此在函數中若要多次訪問跨作用域變量,則可以用局部變量保存。

避免使用with語句,其會延長作用域鏈

嵌套的對象成員會導致引擎搜索所有對象成員,避免使用嵌套,例如window.location.href

對象的屬性和方法在原型鏈的位置越深,訪問的速度也越慢

3.Dom編程

進行大段HTML更新時,推薦使用innerHTML,而不是DOM方法

HTML集合是一個與文檔中元素綁定的類數組對象,其長度隨著文檔中元素的增減而動態變化,因此避免在每次循環中直接讀取HTML集合的length,容易導致死循環

使用節點的children屬性,而不是childNodes屬性,前者訪問速度更快,且不包含空白文本和注釋節點。

瀏覽器的渲染過程包括構建DOM樹和渲染樹,當DOM元素的幾何屬性變化時,需要重新構造渲染樹,這一過程稱為“重排”,完成重排后,瀏覽器會重新繪制受影響的部分到屏幕中,這一過程稱為“重繪”。因此應該盡量合并多次對DOM的修改,或者先將元素脫離文檔流(display:none、文檔片段),應用修改后,再插入文檔中。

每次瀏覽器的重排時都會產生消耗,大多數瀏覽器會通過隊列化修改并批量執行來優化重排過程,可當訪問元素offsetTop、scrollTop、clientTop、getComputedStyle等一系列布局屬性時,會強制瀏覽器立即進行重排返回正確的值。因此不要在dom布局信息改變時,訪問這些布局屬性。

當修改同個元素多個Css屬性時,可以使用CssText屬性進行一次性修改樣式,減少瀏覽器重排和重繪的次數

當元素發生動畫時,可以使用絕對定位使其脫離文檔流,動畫結束后,再恢復定位。避免動畫過程中瀏覽器反復重排文檔流中的元素。

多使用事件委托,減少監聽事件

4.算法和流程控制

for循環和while循環性能差不多,除了for-in循環最慢(其要遍歷原型鏈)

循環中要減少對象成員及數組項的查詢次數,可以通過倒序循環提高性能

循環次數大于1000時,可運用Duff Devices減少迭代次數

switch比if-else快,但如果具有很多離散值時,可使用數組或對象來構建查找表

遞歸可能會造成調用棧溢出,可將其改為循環迭代

如果可以,對一些函數的計算結果進行緩存

5.字符串和正則表達式

進行大量字符串的連接時,+和+=效率比數組的join方法要高

當創建了一個正則表達式對象時,瀏覽器會驗證你的表達式,然后將其轉化為一個原生代碼程序,用戶執行匹配工作。當你將其賦值給變量時,可以避免重復執行該步驟。

當正則進入使用狀態時,首先要確定目標字符串的起始搜索位置(字符串的起始位置或正則表達式的lastIndex屬性),之后正則表達式會逐個檢查文本和正則模式,當一個特定的字元匹配失敗時,正則表達式會試著回溯到之前嘗試匹配的位置,然后嘗試其他路徑。如果正則表達式所有的可能路徑都沒有匹配到,其會將起始搜索位置下移一位,重新開始檢查。如果字符串的每個字符都經歷過檢查,沒有匹配成功,則宣布徹底失敗。

當正則表達式不那么具體時,例如.和[\s\S]等,很可能會出現回溯失控的情況,在js中可以應用預查模擬原子組(?=(pattern))\1來避免不必要的回溯。除此之外,嵌套的量詞,例如/(A+A+)+B/在匹配"AAAAAAAA"時可能會造成驚人的回溯,應盡量避免使用嵌套的量詞或使用預查模擬原子組消除回溯問題。

將復雜的正則表達式拆分為多個簡單的片段、正則以簡單、必需的字元開始、減少分支數量|,有助于提高匹配的效率。

6.快速響應的用戶界面

  • 單個JavaScript運算操作時間不應該超出100ms,否則可能會阻塞用戶操作
  • 如果要執行長時間的運算,可以通過定時器將計算過程分割成多個步驟,使UI可以得到更新,例如
setTimeout(function(){
    process(todo.shift());

    if (todo.length > 0) {
        setTimeout(arguments.callee, 25);
    } else {
        callback();
    }
})




較長時間的計算過程也可以按照代碼運行的時間進行分割,每次控制運行的時間,例如

setTimeout(function(){
    let start = +new Date();
    do {
        process(todo.shift());
    } while(todo.length > 0 && (+new Date() - start) < 50)

    if (todo.length > 0) {
        setTimeout(arguments.callee, 25);
    } else {
        callback();
    }
})


  • 高頻率重復的定時器數量盡量要少,建議使用一個獨立的重復定時器
  • 使用WebWork進行計算

7. AJAX

  • 設置HTTP頭部信息進行緩存,例如
Expires: Mon,28 Jul 2018 23:30:30 GMT


  • 對于一些函數的計算結果進行本地緩存

8. 編程實踐

  • 避免使用evalFunction進行雙重求值
  • 使用Object/Array字面量定義,不要使用構造函數
  • 使用延遲加載消除函數中重復的工作
  • 使用位操作,例如與1進行按位與計算,得到奇偶交替


if (i & 1) {
    className = 'odd';
} else {
    className = 'even';
}   


  • 多使用JS內置的原生方法,例如Math對象等

9.構建和部署

  • 合并、壓縮多個js文件
  • 設置HTTP緩存
  • 使用內容分發網絡CDN

10.性能分析工具

————————————————
版權聲明:本文為CSDN博主「PAT-python-zjw」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/zjw_python/java/article/details/105293878

v-if 和 v-show的區別

前端達人

簡單來說,v-if 的初始化較快,但切換代價高;v-show 初始化慢,但切換成本低

1.共同點

都是動態顯示DOM元素

2.區別

(1)手段:
v-if是動態的向DOM樹內添加或者刪除DOM元素;
v-show是通過設置DOM元素的display樣式屬性控制顯隱;
(2)編譯過程:
v-if切換有一個局部編譯/卸載的過程,切換過程中合適地銷毀和重建內部的事件監聽和子組件;
v-show只是簡單的基于css切換;
(3)編譯條件:
v-if是惰性的,如果初始條件為假,則什么也不做;只有在條件第一次變為真時才開始局部編譯(編譯被緩存?編譯被緩存后,然后再切換的時候進行局部卸載);
v-show是在任何條件下(首次條件是否為真)都被編譯,然后被緩存,而且DOM元素保留;
(4)性能消耗:
v-if有更高的切換消耗;
v-show有更高的初始渲染消耗;
(5)使用場景:
v-if適合運營條件不大可能改變;
v-show適合頻繁切換。



前端架構演進及主流UI

前端達人

文章目錄



    前端三要素

    HTML(結構):超文本標記語言(Hyper Text Markup Language),決定網頁的結構和內容
    CSS(表現):層疊樣式表(Cascading Style Sheets),設定網頁的表現樣式
    JavaScript(行為):是一種弱類型腳本語言,其源代碼不需經過編譯,而是由瀏覽器解釋運行, 用于控制網頁的行為
    HTML 稱為超文本標記語言,是一種標識性的語言。它通過一系列標簽組合,組成一個個不同結構的頁面!關于html標簽的學習可以去菜鳥教程學習,此處不再贅述!

    CSS層疊樣式表 也是一門標記語言,并不是編程語言,因此不可以自定義變量,不可以引用等,換句話說
    就是不具備任何語法支持,它主要缺陷如下:

    語法不夠強大,比如無法嵌套書寫,導致模塊化開發中需要書寫很多重復的選擇器;
    沒有變量和合理的樣式復用機制,使得邏輯上相關的屬性值必須以字面量的形式重復輸出,導致難 以維護;
    這就導致了我們在工作中無端增加了許多工作量。為了解決這個問題,前端開發人員會使用一種稱之為 【CSS 預處理器】 的工具,提供 CSS 缺失的樣式層復用機制、減少冗余代碼,提高樣式代碼的可維護 性。大大提高了前端在樣式上的開發效率。

    什么是CSS 預處理器呢?

    CSS 預處理器定義了一種新的語言,其基本思想是,用一種專門的編程語言,為 CSS 增加了一些編程的 特性,將 CSS 作為目標生成文件,然后開發者就只要使用這種語言進行 CSS 的編碼工作。轉化成通俗易 懂的話來說就是“用一種專門的編程語言,進行 Web 頁面樣式設計,再通過編譯器轉化為正常的 CSS 文 件,以供項目使用”。

    常用的 CSS 預處理器有哪些?

    SASS:基于 Ruby,通過服務端處理,功能強大。解析效率高。需要學習 Ruby 語言,上手難度高于 LESS。
    LESS:基于 NodeJS,通過客戶端處理,使用簡單。功能比 SASS 簡單,解析效率也低于 SASS,但在實際開發中足夠了,所以我們后臺人員如果需要的話,建議使用 LESS。
    JavaScript 一門弱類型腳本語言,其源代碼在發往客戶端運行之前不需經過編譯,而是將文本格式的字 符代碼發送給瀏覽器由瀏覽器解釋運行。

    Native 原生 JS 開發
    原生 JS 開發,也就是讓我們按照 【ECMAScript】 標準的開發方式,簡稱是 ES,特點是所有瀏覽器都支持。

    ES 標準已發布如下版本:

    ES3
    ES4(內部,未正式發布)
    ES5(全瀏覽器支持)
    ES6(常用,當前主流版本:webpack打包成為ES5支持!)
    ES7
    ES8
    ES9(草案階段)
    從 ES6 開始每年發布一個版本,以年份作為名稱,區別就是逐步增加新特性。

    TypeScript 微軟的標準
    TypeScript 是一種由微軟開發的自由和開源的編程語言。它是 JavaScript 的一個超集,而且本質上向這 個語言添加了可選的靜態類型和基于類的面向對象編程。由安德斯·海爾斯伯格(C#、Delphi、 TypeScript 之父;.NET 創立者)主導。

    JavaScript 框架

    1.jQuery庫

    大家最熟知的 JavaScript庫,優點是簡化了 DOM 操作,缺點是 DOM 操作太頻繁,影響前端性能;在 前端眼里使用它僅僅是為了兼容 IE6、7、8;

    2.Angular庫

    Google 收購的前端框架,由一群 Java 程序員開發,其特點是將后臺的 MVC 模式搬到了前端并增加了模 塊化開發的理念,與微軟合作,采用 TypeScript 語法開發;對后臺程序員友好,對前端程序員不太友 好;最大的缺點是版本迭代不合理(如:1代 -> 2代,除了名字,基本就是兩個東西;已推出了 Angular6)

    3.React

    Facebook 出品,一款高性能的 JS 前端框架;特點是提出了新概念 【虛擬 DOM】 用于減少真實 DOM 操作,在內存中模擬 DOM 操作,有效的提升了前端渲染效率;缺點是使用復雜,因為需要額外學習一 門 【JSX】 語言;

    4.Vue

    一款漸進式 JavaScript 框架,所謂漸進式就是逐步實現新特性的意思,如實現模塊化開發、路由、狀態 管理等新特性。

    其特點是綜合了 Angular(模塊化) 和 React(虛擬 DOM) 的優點;

    5.Axios

    前端通信框架;因為 Vue 的邊界很明確,就是為了處理 DOM,所以并不具備通信能力,此時就需要額 外使用一個通信框架與服務器交互;當然也可以直接選擇使用 jQuery 提供的 A JAX 通信功能;

    JavaScript 構建工具

    Babel:JS 編譯工具,主要用于瀏覽器不支持的 ES 新特性,比如用于編譯 TypeScript
    WebPack:模塊打包器,主要作用是打包、壓縮、合并及按序加載

    NodeJs


    Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運行環境,說白了就是運行在服務端的JavaScript;

    前端人員為了方便開發也需要掌握一定的后端技術,但我們 Java 后臺人員知道后臺知識體系極其龐大復 雜,所以為了方便前端人員開發后臺應用,就出現了 NodeJS 這樣的技術。NodeJS 的作者已經聲稱放棄 NodeJS(說是架構做的不好再加上笨重的node_modules,可能讓作者不爽了吧),開始開發全新架構的 什么是Deno?跟Node.js有何區別?

    既然是后臺技術,那肯定也需要框架和項目管理工具,NodeJS 框架及項目管理工具如下:

    Express: NodeJS 框架
    Koa: Express 簡化版
    NPM: 項目綜合管理工具,類似于 Maven
    YARN: NPM 的替代方案,類似于 Maven 和 Gradle 的關系

    常用UI框架


    Ant-Design:阿里巴巴出品,基于 React 的 UI 框架
    ElementUI、MintUi、iview、ic、:餓了么出品,基于 Vue 的 UI 框架
    Bootstrap:Twitter 推出的一個用于前端開發的開源工具包
    AmazeUI:又叫“妹子 UI”,一款 HTML5 跨屏前端框架
    Layui:輕量級框架(Layer)
    Ant-Design

    ant.design是基于react開發的一個解放ui和前端的工具,它提供了一致的設計方便我們快速開發和減少不必要的設計與代碼,很多實用react框架的開發者都已經在使用ant.design了,且其在github上的star數也早已上萬,足見其火熱程度。

    ant.design的目的也在于提高用戶、開發者等多方的體驗與幸福感。

    ant.design設計很精妙,vue的iview就是模仿ant.design來實現的

    官網地址:https://ant.design/index-cn
    github地址:https://github.com/ant-design/ant-design/
    ElementUi

    ElementUi是餓了么前端開源維護的VueUI組件庫,組件齊全基本涵蓋后臺所需的所有組件,文檔講解詳細,例子也很豐富。主要用于開發PC端的頁面,是一個質量比較高的VueUI組件庫!

    官網地址:http://element-cn.eleme.io/#/zh-CN
    github地址:https://github.com/ElementUI/element-starter
    vue-element-admin:https://github.com/PanJiaChen/vue-element-admin
    MintUi

    MintUi是由餓了么前端團隊推出的一個基于 Vue.js的移動端組件庫,組件比較單一,功能簡單易上手!

    官網地址:https://mint-ui.github.io/#!/zh-cn
    github地址:https://github.com/ElemeFE/mint-ui
    iview

    iview 是一個強大的基于 Vue 的 UI 庫,有很多實用的基礎組件比 elementui 的組件更豐富,主要服務于 PC 界面的中后臺產品。使用單文件的 Vue 組件化開發模式 基于 npm + webpack + babel 開發,支持 ES2015 高質量、功能豐富 友好的 API ,自由靈活地使用空間。

    官網地址:https://www.iviewui.com/
    github地址:https://github.com/TalkingData/iview-weapp
    iview-admin: https://github.com/iview/iview-admin
    備注:屬于前端主流框架,選型時可考慮使用,主要特點是移動端支持較多

    ICE

    飛冰是阿里巴巴團隊基于 React/Angular/Vue 的中后臺應用解決方案,在阿里巴巴內部,已經有 270 多 個來自幾乎所有 BU 的項目在使用。飛冰包含了一條從設計端到開發端的完整鏈路,幫助用戶快速搭建 屬于自己的中后臺應用。

    官網地址:https://alibaba.github.io/ice
    github地址 :https://github.com/alibaba/ice
    備注:主要組件還是以 React 為主,對 Vue 的支持還不太完善, 目前尚處于觀望階段

    VantUI

    Vant UI 是有贊前端團隊基于有贊統一的規范實現的 Vue 組件庫,提供了一整套 UI 基礎組件和業務組 件。通過 Vant,可以快速搭建出風格統一的頁面,提升開發效率。

    官網地址: https://youzan.github.io/vant/#/zh-CN/intro
    github地址: https://github.com/youzan/vant
    AtUi

    at-ui是一款基于Vue 2.x的前端UI組件庫,主要用于快速開發PC網站產品。 它提供了一套npm + webpack + babel 前端開發工作流程,CSS樣式獨立,即使采用不同的框架實現都能保持統一的 UI風格。

    官網地址:https://at-ui.github.io/at-ui/#/zh
    github地址: https://github.com/at-ui/at-ui
    CubeUI
    cube-ui 是滴滴團隊開發的基于 Vue.js 實現的精致移動端組件庫。支持按需引入和后編譯,輕量靈活; 擴展性強,可以方便地基于現有組件實現二次開發.

    官網地址:https://didi.github.io/cube-ui/#/zh-CN
    github地址:https://github.com/didi/cube-ui/
    Flutter

    Flutter 是谷歌的移動端 UI 框架,可在極短的時間內構建 Android 和 iOS 上高質量的原生級應用。 Flutter 可與現有代碼一起工作, 它被世界各地的開發者和組織使用, 并且 Flutter 是免費和開源的。

    官網地址:https://flutter.dev/docs
    github地址:https://github.com/flutter/flutter
    備注:Google 出品,主要特點是快速構建原生 APP 應用程序,如做混合應用該框架為必選框架

    Ionic

    Ionic 既是一個 CSS 框架也是一個 Javascript UI 庫,Ionic 是目前最有潛力的一款 HTML5 手機應用開發 框架。通過 SASS 構建應用程序,它提供了很多 UI 組件來幫助開發者開發強大的應用。它使用 JavaScript MVVM 框架和 AngularJS/Vue 來增強應用。提供數據的雙向綁定,使用它成為 Web 和移動 開發者的共同選擇。

    官網地址:https://ionicframework.com/
    github地址:https://github.com/ionic-team/ionic
    mpvue

    mpvue 是美團開發的一個使用 Vue.js 開發小程序的前端框架,目前支持 微信小程序、百度智能小程 序,頭條小程序 和 支付寶小程序。 框架基于 Vue.js,修改了的運行時框架 runtime 和代碼編譯器 compiler 實現,使其可運行在小程序環境中,從而為小程序開發引入了 Vue.js 開發體驗。

    官網地址:http://mpvue.com/
    github地址:https://github.com/Meituan-Dianping/mpvue
    備注:完備的 Vue 開發體驗,并且支持多平臺的小程序開發,推薦使用

    WeUi

    WeUI 是一套同微信原生視覺體驗一致的基礎樣式庫,由微信官方設計團隊為微信內網頁和微信小程序 量身設計,令用戶的使用感知更加統一。包含 button、cell、dialog、toast、article、icon 等各式元 素。

    官網地址:https://weui.io/
    github地址:https://github.com/weui/weui.git

    前后端分離的演進

    為了降低開發的復雜度,以后端為出發點,比如:Struts、SpringMVC 等框架的使用,就是后端的 MVC 時代;

    以 SpringMVC 流程為例:


    1.發起請求到前端控制器(DispatcherServlet)
    2.前端控制器請求HandlerMapping查找 Handler (可以根據xml配置、注解進行查找)
    3.處理器映射器HandlerMapping向前端控制器返回Handler,HandlerMapping會把請求映射為HandlerExecutionChain對象(包含一個Handler處理器(頁面控制器)對象,多個HandlerInterceptor攔截器對象),通過這種策略模式,很容易添加新的映射策略
    4.前端控制器調用處理器適配器去執行Handler
    5.處理器適配器HandlerAdapter將會根據適配的結果去執行Handler
    6.Handler執行完成給適配器返回ModelAndView
    7.處理器適配器向前端控制器返回ModelAndView (ModelAndView是springmvc框架的一個底層對象,包括 Model和view)
    8.前端控制器請求視圖解析器去進行視圖解析 (根據邏輯視圖名解析成真正的視圖(jsp)),通過這種策略很容易更換其他視圖技術,只需要更改視圖解析器即可
    9.視圖解析器向前端控制器返回View
    10.前端控制器進行視圖渲染 (視圖渲染將模型數據(在ModelAndView對象中)填充到request域)
    11.前端控制器向用戶響應結果
    優點:

    MVC 是一個非常好的協作模式,能夠有效降低代碼的耦合度,從架構上能夠讓開發者明白代碼應該寫在 哪里。為了讓 View 更純粹,還可以使用 Thymeleaf、Freemarker 等模板引擎,使模板里無法寫入 Java 代碼,讓前后端分工更加清晰。單體應用!

    缺點:

    前端開發重度依賴開發環境,開發效率低,這種架構下,前后端協作有兩種模式:

    1、第一種是前端寫 DEMO,寫好后,讓后端去套模板。好處是 DEMO 可以本地開發,很。不足是 還需要后端套模板,有可能套錯,套完后還需要前端確定,來回溝通調整的成本比較大;

    2、另一種協作模式是前端負責瀏覽器端的所有開發和服務器端的 View 層模板開發。好處是 UI 相關的 代碼都是前端去寫就好,后端不用太關注,不足就是前端開發重度綁定后端環境,環境成為影響前端開 發效率的重要因素。

    前后端職責糾纏不清:模板引擎功能強大,依舊可以通過拿到的上下文變量來實現各種業務邏輯。但這樣只要前端弱勢一點,往往就會被后端要求在模板層寫出不少業務代碼。還有一個很大的灰色地帶是,頁面路由等功能本應該是前端最關注的,但卻是由后端來實現。

    ajax 的時代

    時間回到 2005 年 AJAX (Asynchronous JavaScript And XML,異步 JavaScript 和 XML,老技術新 用法) 被正式提出并開始使用 CDN 作為靜態資源存儲,于是出現了 JavaScript 王者歸來(在這之前 JS 都是用來在網頁上貼狗皮膏藥廣告的)的 SPA(Single Page Application)單頁面應用時代。
    優點:
    這種模式下,前后端的分工非常清晰,前后端的關鍵協作點是 A JAX 接口。看起來是如此美妙,但回過 頭來看看的話,這與 JSP 時代區別不大。復雜度從服務端的 JSP 里移到了瀏覽器的 JavaScript,瀏覽器 端變得很復雜。類似 Spring MVC,這個時代開始出現瀏覽器端的分層架構:

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-fP8yZYUq-1587440620216)()]
    缺點:

    前后端接口的約定: 如果后端的接口一塌糊涂,如果后端的業務模型不夠穩定,那么前端開發會很 痛苦;不少團隊也有類似嘗試,通過接口規則、接口平臺等方式來做。有了和后端一起沉淀的 接口 規則,還可以用來模擬數據,使得前后端可以在約定接口后實現并行開發。
    前端開發的復雜度控制: SPA 應用大多以功能交互型為主,JavaScript 代碼過十萬行很正常。大量 JS 代碼的組織,與 View 層的綁定等,都不是容易的事情
    前端為主的 MV* 時代

    此處的 MV* 模式如下:

    MVC(同步通信為主):Model、View、Controller
    MVP(異步通信為主):Model、View、Presenter
    MVVM(異步通信為主):Model、View、ViewModel
    為了降低前端開發復雜度,涌現了大量的前端框架,比如: AngularJS 、 React 、Vue.js 、 EmberJS 等,這些框架總的原則是先按類型分層,比如 Templates、Controllers、Models,然后再在層內做切分,




    優點:

    前后端職責很清晰: 前端工作在瀏覽器端,后端工作在服務端。清晰的分工,可以讓開發并行,測 試數據的模擬不難,前端可以本地開發。后端則可以專注于業務邏輯的處理,輸出 RESTful等接 口。
    前端開發的復雜度可控: 前端代碼很重,但合理的分層,讓前端代碼能各司其職。這一塊蠻有意思 的,簡單如模板特性的選擇,就有很多很多講究。并非越強大越好,限制什么,留下哪些自由,代 碼應該如何組織,所有這一切設計,得花一本書的厚度去說明。
    -部署相對獨立: 可以快速改進產品體驗
    缺點:

    代碼不能復用。比如后端依舊需要對數據做各種校驗,校驗邏輯無法復用瀏覽器端的代碼。如果可 以復用,那么后端的數據校驗可以相對簡單化。
    全異步,對 SEO 不利。往往還需要服務端做同步渲染的降級方案。 性能并非最佳,特別是移動互聯網環境下。
    SPA 不能滿足所有需求,依舊存在大量多頁面應用。URL Design 需要后端配合,前端無法完全掌控。
    NodeJS 帶來的全棧時代

    前端為主的 MV* 模式解決了很多很多問題,但如上所述,依舊存在不少不足之處。隨著 NodeJS 的興 起,JavaScript 開始有能力運行在服務端。這意味著可以有一種新的研發模式:
    ————————————————
    版權聲明:本文為CSDN博主「叁有三分之一」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
    原文鏈接:https://blog.csdn.net/iME_cho/article/details/105654633


【CSS基礎學習】行內元素,塊級元素,行內塊級元素

前端達人

文章目錄

    • 元素的顯示方式和轉換


    • 元素的顯示方式和轉換

      塊級元素

      塊級元素(inline):
      塊級元素可以包含行內元素和其它塊級元素,且占據父元素的整個空間,可以設置 width 和 height 屬性,瀏覽器通常會在塊級元素前后另起一個新行。
      常見塊級元素:

      header,form,ul,ol,table,article,div,hr,aside,figure,canvas,video,audio,footer
      特點:

      塊級元素會獨占一行
      高度,行高,外邊距和內邊距都可以單獨設置
      寬度默認是容器的100%
      可以容納內聯元素和其他的塊級元素
      例如:





      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Document</title>
          <style>
              div{
                  width: 150px;
                  height: 150px;
                  background-color: cadetblue;
              }
          </style>
      </head>
      <body>
          <div>塊級元素1</div>
          <div>塊級元素2</div>
      </body>
      </html>
      



       

      分析:
      塊級元素的高和寬可以被修改,而且塊級元素會在一個塊級元素之后另起一行。

      行級元素
      行級元素(block):
      一般情況下,行內元素只能包含內容或者其它行內元素,寬度和長度依據內容而定,不可以設置,可以和其它元素和平共處于一行。
      常見行級元素:
      a,b,strong,span,img,label,button,input,select,textarea
      特點:

      和相鄰的行內元素在一行上
      高度和寬度無效,但是水平方向上的padding和margin可以設置,垂直方向上的無效
      默認的寬度就是它本身的寬度
      行內元素只能容納純文本或者是其他的行內元素(a標簽除外)
      例如:

      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Document</title>
          <style>
              span{
                  width: 150px;
                  height: 150px;
                  font-size: 40px;
                  background-color: cadetblue;
              }
          </style>
      </head>
      <body>
          <span>行級元素1</span>
          <span>行級元素2</span>
      </body>
      </html>
      


      分析:
      對他的高和寬進行修改,但是沒有發生改變,對他的字體大小進行修改卻發生了整體大小的改變,所以得出結論行級元素的寬高是與內容有關的,且不可修改高寬的屬性,只能對內容修改。

      行內塊級元素
      行內塊級元素(inline-block):
      他包含了行級元素與塊級元素的特點,在同一行顯示,可以設置元素寬度和高度,可以將塊級元素和行級元素轉化為行內塊級元素。他不屬于基本的元素,是通過修改獲得的。
      特點:

      和其他行內或行內塊級元素元素放置在同一行上
      元素的高度、寬度、行高以及頂和底邊距都可設置
      舉例:
      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Document</title>
          <style>
              span{
                  width: 150px;
                  height: 150px;
                  font-size: 20px;
                  background-color: cadetblue;
                  display: inline-block;
              }
          </style>
      </head>
      <body>
          <span>以前我是行級元素,</span>
          <span>現在我只想做行內塊級元素。</span>
      </body>
      </html>
      


      分析:
      他可以進行修改寬高,也屬于同一行,包含著行級元素和塊級元素的特點,他就是行!內!塊!級!元!素!

      顯示方式之間的轉化
      想要轉成什么顯示方式 格式
      塊級元素 display:inline;
      行級元素 display: block;
      行內塊級元素 display: inline-block;
      這些直接在元素里面添加就可以了,就會轉換成相對應的格式。
      舉例:


      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Document</title>
          <style>
              div{
                  width: 150px;
                  height: 150px;
                  font-size: 30px;
                  background-color: cadetblue;
                  display: inline;
              }
          </style>
      </head>
      <body>
          <div>我以前是塊級元素,</div>
          <div>現在我是行級元素!</div>
      </body>
      </html>
      






      分析:
      在VSC中,修改寬高的代碼已經出現了波浪線,證明他是錯誤的,所以現在的div已經變成了行級元素。






      ————————————————
      版權聲明:本文為CSDN博主「董小宇」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
      原文鏈接:https://blog.csdn.net/lolly1023/article/details/105715892



帶你快速了解VSCode的10個特性,極大提高開發效率

前端達人

其實VSCode編輯器本身自帶了一個功能(Interactive Editor Playground :可以讓你快速了解VSCode的特性,并且是可以交互的),



但很可惜它的內容是全英文的(將VSCode設置為中文也沒用哦~),



我將每一部分截圖下來,并為你說明關鍵內容,教你學會使用 Interactive Editor Playground



還有一些顯而易見的特性,我不會再用文字敘述一遍(它們都是潛移默化的)

在下文中會涉及到大量快捷鍵的介紹,如果看不懂快捷鍵請自行百度

鼠標 = 文本光標 = 光標

本文成于2020年4月22日,隨著VSCode的版本更迭,此部分內容可能會略有差異(小更改不影響觀看,有較大影響的更新請在評論區告之,我會及時更新的)



打開VSCode > Help > Interactive Playground

點擊查看原圖

你將會打開 Interactive Editor Playground 頁面

互動式編輯游樂場

點擊查看原圖

VS代碼中的核心編輯器包含許多特性。此頁高亮顯示了10個特性,每個特性介紹中都提供了代碼行供你編輯

接下來的10行內容(你可以理解為目錄,對應10個特性)

多光標編輯(Multi-Cursor Editing)- 選擇一塊區域,選擇所有匹配項,添加其余光標等
智能感應(intelliSense)- 獲取代碼和外部模塊的代碼幫助和參數建議
行操作(Line Actions )- 快速移動行以重新排序代碼
重命名重構(Rename Refactoring)- 快速重命名代碼庫中的符號(比如變量名、函數名)
格式化(Formatting)- 使用內置文檔和選擇格式使代碼看起來很棒
代碼折疊(Code Folding) - 通過折疊其他代碼區域,關注代碼中最相關的部分
錯誤和警告(Errors and Warnings)- 寫代碼時請參閱錯誤和警告
片段(Snippets)- 花更少的時間輸入片段
Emmet - 只需要敲一行代碼就能生成你想要的完整HTML結構等(極大方便前端開發)
JavaScript Type Checking- 使用零配置的TypeScript對JavaScript文件執行類型檢查。
Multi-Cursor Editing

點擊查看原圖

使用多光標編輯可以同時編輯文檔的多個部分,極大地提高了工作效率

框式選擇
鍵盤同時按下 Shift + DownArrow(下鍵)、Shift + RightArrow(右鍵)、Shift + UpArrow(上鍵)、Shift + LeftArrow(左鍵) 的任意組合可選擇文本塊
也可以用鼠標選擇文本時按 Shift + Alt 鍵
或使用鼠標中鍵拖動選擇(可用性很高)
添加光標
按 Ctrl + Alt + UpArrow 在行上方添加新光標
或按 Ctrl + Alt + DownArrow 在行下方添加新光標
您也可以使用鼠標和 Alt + Click 在任何地方添加光標(可用性很高)
在所有出現的字符串上創建光標
選擇字符串的一個實例,例如我用鼠標選中所有background,然后按 Ctrl + Shift + L,文本中所有的background都將被選中(可用性很高)
IntelliSense

點擊查看原圖

Visual Studio Code 預裝了強大的JavaScript和TypeScript智能感知。

在代碼示例中,將文本光標放在錯誤下劃線的上面,會自動調用IntelliSense


這只是智能提示的冰山一角,還有懸停在函數名上可以看到參數及其注釋(如果有)等等,它會潛移默化的帶給你極大幫助

其他語言在安裝對應插件后,會附帶對應語言的IntelliSense

Line Actions

點擊查看原圖

分別使用 Shift + Alt + DownArrow 或 Shift + Alt + UpArrow 復制光標所在行并將其插入當前光標位置的上方或下方
分別使用 Alt + UpArrow 和 Alt + DownArrow 向上或向下移動選定行(可用性很高)
用 Ctrl + Shift + K 刪除整行(可用性很高)
通過按 Ctrl + / 來注釋掉光標所在行、切換注釋(可用性很高)
Rename Refactoring

點擊查看原圖

重命名符號(如函數名或變量名)

  1. 將光標選中符號,按F2鍵
  2. 或者 選中該符號,鼠標右鍵 > Rename Symbol

重命名操作將在項目中的所有文件中發生可用性很高

Formatting

點擊查看原圖

代碼如果沒有良好的編寫格式,閱讀起來是一個折磨

Formatting可以解決編寫格式問題:無論你的代碼的格式寫的有多么糟糕,它可以將代碼格式化為閱讀性良好的格式

格式化整個文檔 Shift + Alt + F (可用性很高)
格式化當前行 Ctrl + K Ctrl + F(即先按Ctrl,再按K,最后按F)
鼠標右鍵 > Format Document (格式化整個文檔)
將格式化操作設置為自動化(保存時自動格式化整個文檔):Ctrl + , 輸入 editor.formatOnSave

點擊查看原圖

Code Folding

點擊查看原圖

鼠標操作,自己嘗試一下,秒懂

快捷鍵:

  • 折疊 Ctrl + Shift + [
  • 展開 Ctrl + Shift + ]

折疊代碼段是基于基于縮進

Errors and Warning

點擊查看原圖

錯誤和警告將在你出現錯誤時,高亮該代碼行

在代碼示例中可以看到許多語法錯誤(如果沒有,請你隨便修改它,讓它出現錯誤)

按F8鍵可以按順序在錯誤之間導航,并查看詳細的錯誤消息(可用性很高)

Snippets

通過使用代碼片段,可以大大加快編輯速度

在代碼編輯區,你可以嘗試輸入try并從建議列表中選擇try catch,

然后按Tab鍵或者Enter,創建try->catch塊

你的光標將放在文本error上,以便編輯。如果存在多個參數,請按Tab鍵跳轉到該參數。

Emmet

Emmet將代碼片段的概念提升到了一個全新的層次(前端開發的大寶貝)

你可以鍵入類似Css的可動態解析表達式,并根據在abrevision中鍵入的內容生成輸出

比如說:

然后Enter

JavaScript Type Checking

點擊查看原圖



————————————————
版權聲明:本文為CSDN博主「索兒呀」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Zhangguohao666/article/details/105676173

PC端表單設計的研究:如何設計一個優秀的表單頁面

前端達人

1.jpg

最近身邊的一些小伙伴,總會遇見B端設計工作,對于這種偏后臺設計的B端設計,總會有大量的表單設計需要做,結合以前自己也有過不少表單設計的工作,在這里給大家分享一下自己對于PC端表單設計的研究,聊一聊表單在PC端中的運用。


表單的作用

商業離不開數據,而數據總會依賴不同的表現形式,不管是word文檔,還是數據可視化,都是瀏覽者通過表現形式來對數據進行閱讀和分析,因此表單的設計就是一種表現形式,我們將捋一捋如何通過表單更好的讓用戶閱讀順暢、操作方便、總而言之就是更好用啦。

表單信息的分割方式

無線分割:顧名思義,列表的信息之間正常情況下沒有分割線等方法來分隔,僅僅是用間距來分隔開內容。好處是元素更少,畫面更簡潔,但是視覺可能就沒那么清晰了,使用的出場率一般。

點擊查看原圖

點擊查看原圖

有線分割:同樣字面意思,就是通過簡單的分割線來分割列表中的信息,讓視線左右移動的時候更加穩定、輕松,在表單設計中使用的出場率非常高。

點擊查看原圖

點擊查看原圖

斑馬線:通過深淺交替的色塊,以及色塊產生的對比來分隔列表中的信息,深淺深淺的循環就好像斑馬線,使用時是通過色塊產生對比,所以也可以使用帶有適量飽和度的色塊來區分,占頁面面積比例較大,適當用色可以使得畫面更加活潑、豐滿,斑馬線也是出場率極高的一種展現形式。

點擊查看原圖


斑馬線+分割線:很容易理解,就是斑馬線風格+分割線的結合,用色塊區分的同時又加了分割線,信息之間的區分對比更加強烈,但是畫面層級就多了一些,沒有其他的看起來簡潔,使用出場率也一般。


點擊查看原圖


卡片式:跟卡片式風格其他設計一樣,分別用懸浮的色塊來區分,間隔的地方是背景色,分隔的力度比較強,內容區分的很清晰,弊端是更加占畫面的位置,尤其在信息很多列的時候,會增加大量的高度,用戶需要更多時間進行下翻的操作。使用出場率相對其他形式來說稍低。

點擊查看原圖


可控制頁面顯示數量

場景:用戶需要閱讀大量的表單數據,且需要頻繁的翻頁、跳轉。

如圖,左下角可以設置界面中每頁顯示信息數量的多少,用戶可以根據自己的需要自由設置,當瀏覽的數據較多的時候,不再需要頻繁點擊下一頁來瀏覽信息,只需把每頁顯示的數量調高,如此便減少了大量的操作次數。

點擊查看原圖


像這樣允許用戶可以自由編輯來改進體驗的方式還有很多,比如可以設置顯示密度,就是以一樣的方式自由調整信息與分割線的間距。除了行間距,有的可以自由設置每一列的列間距,用戶可以根據自己的習慣來設置。

列表+可視化

場景:用戶需要瀏覽大量的數據,并需要對數據反復進行計算、分析。

在使用大量的文字列表展示數據的同時,使用數據可視化加以配合,用戶可以更好的預覽到數據的大致情況,又可以在列表表單中閱讀到詳細的數據。

點擊查看原圖


點擊查看原圖


根據條件排序

場景:用戶想根據某種條件的大小排序,來先后閱讀數據。

通過點擊第一排小標題行,可以選擇不同的方式調整信息的排序方式,就和電商商品排序一樣,可以選擇金額高到低或者低到高排序,也可以選擇別的方式進行排序,從而更快找到自己所需要的內容。

點擊查看原圖



篩選過濾

場景:從一大堆混雜的數據當中,尋找符合條件的自己所需要的數據。

添加篩選功能,過濾掉自己不想瀏覽的內容,通過條件篩選,更快的更的找到自己想要的內容、縮小查找范圍、減少達到目的所花的時間。一般通過下拉按鈕的形式選擇不同的條件來進行篩選過濾。

點擊查看原圖



關鍵字搜索

場景:已知列表中某信息的名稱關鍵字,想從大量混雜的列表中快速找到。

跟篩選過濾一樣,添加關鍵字搜索功能,用戶提供部分關鍵字,可通過關鍵字查詢,最快最的找到想要的那一條內容。一般該目標內容是用戶已知的,有時候是針對性的。

點擊查看原圖



懸停展現操作

場景:精簡設計風格的界面,不想界面中內容過于繁多。

如圖,鼠標懸停在哪一行,哪一行才會顯示該列表后面的操作按鈕,好處是減少了視覺干擾,能更快的找到捕捉到操作位置,弊端是用戶不進行交互的時候無法發現操作按鈕如何出現。


點擊查看原圖



可展開列表

場景:想快速獲取列表中某信息的其他附屬內容。

如圖,點擊某一行后,展現該行的一些附屬信息。可以不用跳轉頁面而進一步了解該行信息的詳情。

點擊查看原圖



可編輯列表

場景:在瀏覽列表的同時,需要頻繁的對列表中的信息進行編輯。

用戶可以直接對列表信息進行修改、編輯,省去了跳轉再編輯的麻煩步驟,更節約時間,用戶操作起來更加方便。

點擊查看原圖



快速預覽

場景:需要充分了解列表中不同信息的詳細說明,頻繁跳轉又過于麻煩。

和可展開列表的作用類似,但是可展開列表顯示的內容有限,快速預覽的功能可以用側彈框的方式、彈出對話窗口的方式、以及其他方式對選中的內容直接展示詳細信息。用戶不需要跳轉至詳情頁就可以了解到大量信息,省去繁瑣的交互流程。不再需要頻繁的跳轉到詳情-返回-跳轉到另一個詳情-返回-跳轉-返回。使用快速預覽的功能就可以很好的解決這一問題。

(PS:彈出對話窗口的方式,可以同時彈出好幾項列表的詳情信息進行對比,但是側彈框因為高度優勢,可以展現更多內容)


點擊查看原圖


點擊查看原圖



自定義列

場景:列表中每條內容顯示信息參數過多,且很多不想瀏覽。

自定義列表功能是用戶可以自由設置每行信息參數的內容,比如我不想列表中顯示金額這一項,就可以刪除,想要的時候可以添加回來,這樣用戶可以保留自己想要的那幾項內容,可以更快更方便的閱讀到自己關心的那幾項參數,節省了用戶的有效時間。

固定頭部

場景:列表橫向或者縱向過多,下翻或橫拉的時候標題頭被隱藏,不知道自己當前瀏覽到的參數屬于哪一項。

交互過程中,可以把第一排重要的東西固定,列表內容翻動的同時,第一排仍然在原位不移動而且覆蓋列表中的其他信息,很多自帶的框架都是這樣的形式,使用的出場率也是非常高,這樣用戶可以隨時查看到自己看到的內容是屬于哪一項屬性,或者是屬于哪一條信息,可以是橫向固定,也可以固定豎直的第一排標題,也可以固定最后一塊操作點擊區域,具體如何固定、是否固定,根據整體的需求來選擇。

間距的規則

通常表單都是大量的文字,大多數的文字高度都在該行高度的三分之一左右。過于緊密用戶瀏覽不順暢,過于分開顯得畫面過于松散,不同的分割方式,間距也會有所不同。

總結

其實上面的每一條都是一個小總結,每一條在大部分的列表中都可以用到,主要還是根據實際需求來運用這幾點,比如分割的方式根據主體風格來搭配,不要為了設計而設計盲目運用,畢竟設計都是以內容為主,尤其是表單設計,本身就是更好的表達內容。


本文發布于人人都是產品經理。




ES6數據的解構賦值使用及應用

前端達人


定義


ES6 允許按照一定模式,從數組和對象中提取值,對變量進行賦值,這被稱為解構(Destructuring)



本質上,這種寫法屬于“模式匹配”,只要等號兩邊的模式相同,左邊的變量就會被賦予對應的值

如果解構不成功,變量的值就等于undefined

解構賦值的規則是,只要等號右邊的值不是對象或數組,就先將其轉為對象。由于undefined和null無法轉為對象,所以對它們進行解構賦值,都會報錯、



解構賦值的用途:

交換變量的值

例如:let x=1,y=2;[x,y] = [y,x]



從函數返回多個值

函數只能返回一個值,如果要返回多個值,只能將它們放在數組或對象里返回。有了解構賦值,取出這些值就非常方便



函數參數的定義

解構賦值可以方便地將一組參數與變量名對應起來



提取 JSON 數據,很多接口數據只需要其中某部分

例如aa.axios.get(res=>{let {data:result}=res;}),則res.data.result = result了



函數參數的默認值

指定參數的默認值,就避免了在函數體內部再寫var foo = config.foo || ‘default foo’;這樣的語句



遍歷 Map 結構

Map 結構原生支持 Iterator 接口,配合變量的解構賦值,獲取鍵名和鍵值就非常方便



輸入模塊的指定方法

加載模塊時,往往需要指定輸入哪些方法。解構賦值使得輸入語句非常清晰。* const { SourceMapConsumer, SourceNode } = require(“source-map”);


1、數組的解構賦值


左右兩側數據解構須得吻合,或者等號左邊的模式,只匹配一部分的等號右邊的數組(屬于不完全解構)



特殊情況使用…擴展運算符,無值是空數組



左右兩邊等式的性質要相同,等號的右邊不是數組(或者嚴格地說,不是可遍歷的結構),那么將會報錯,只要某種數據結構具有 Iterator



接口,都可以采用數組形式的解構賦值,例如Set結構



解構賦值允許指定默認值,當一個數組成員嚴格等于undefined,默認值才會生效,否則取賦值的值;如果默認值是一個表達式,那么這個表達式是惰性求值的,即只有在用到的時候,才會求值;默認值可以引用解構賦值的其他變量,但該變量必須已經聲明



// 數組的解構賦值
 let [a,b] = [1,2];
 console.log([a,b],a);//[1, 2] 1
 let [aa] = [11,22];
 console.log(aa)//11
 let [aaa,bbb] = [111];
 console.log(aaa,bbb)//111 undefined
 let [head, ...tail] = [1, 2, 3, 4];
 console.log(head,tail)//1,[2,3,4]
 let [x, y, ...z] = ['a'];
 console.log(x,y,z)//a undefined []
 // 等號右邊不是數組會報錯
 // let [ab] = 121;
 // conosle.log(ab)//TypeError: 121 is not iterable
 // let [abc] = {}
 // conosle.log(abc)//TypeError: {} is not iterable
 // 默認值賦值
 let [zz = 1] = [undefined];
 console.log(zz)//1
 let [zzz = 1] = [null];
 console.log(zzz)//null
 let [foo = true] = [];
 console.log(foo)// true
 let [xxx, yyy = 'b'] = ['a'];
 console.log(xxx,yyy)//a,b
 let [xxxx, yyyy = 'b'] = ['a', undefined]; 
 console.log(xxxx,yyyy)//a,b
 function f() {
   console.log('aaa');
 }
 let [xx = f()] = [1];
 console.log(xx)//1
 let [qq=ww,ww=11] = [23,44];
 console.log(qq,ww)//23,44,因為ww申明比qq晚所以是undefined;

2、對象的解構賦值
對象的解構賦值的內部機制,是先找到同名屬性,然后再賦給對應的變量。真正被賦值的是后者,而不是前者

數組是按照位置區分,對象則是按照鍵名區分的,同樣的解構失敗則為undefine
可將已有方法對象解構賦值
嵌套賦值,注意是變量是否被賦值是模式還是鍵值
對象的解構賦值可以取到繼承的屬性
如果要將一個已經聲明的變量用于解構賦值,必須非常小心
let xx; // {xx} = {xx: 1}這樣會報錯,

解構賦值允許等號左邊的模式之中,不放置任何變量名。因此,可以寫出非常古怪的賦值表達式
({} = [true, false]);//可執行

由于數組本質是特殊的對象,因此可以對數組進行對象屬性的解構

objFuc(){
            // 對象解構賦值
            let {b,a} = {a:1}
            console.log(a,b)//1 undefined
            // 已有對象解構賦值
            let { sin, cos } = Math;//將Math對象的對數、正弦、余弦三個方法,賦值到對應的變量上
            console.log(sin);//log() { [native code] }
            const { log } = console;
            log('hello') // hello
            // 
            let { foo: baz } = { foo: 'aaa', bar: 'bbb' };
            console.log(baz);//aaa
            // 嵌套賦值
            let obj = {
              p: [
                'Hello',
                { y: 'World' }
              ]
            };
            let { p,p:[x, { y }] } = obj;
            console.log(x,y,p)//Hello World p: ['Hello',{ y: 'World' }]
            //繼承賦值
            const obj1 = {};
            const obj2 = { foo: 'bar' };
            Object.setPrototypeOf(obj1, obj2);//obj1繼承obj2
            const { foo } = obj1;
            console.log(foo) // "bar"
            // 默認值
            // 錯誤的寫法
            let xx;
            // {xx} = {xx: 1};// SyntaxError: syntax error,Uncaught SyntaxError: Unexpected token '='
            ({xx} = {xx: 1});//正確寫法
            console.log(xx)
            // 古怪的,等式左邊可為空
            // ({} = [true, false]);
            // 對象可解構數組
            let arr = [1, 2, 3];
            let {0 : first, [arr.length - 1] : last} = arr;
            console.log(first,last)//1 3
        },


3、字符串的解構賦值

  • 字符串賦值
  • 類似數組的對象都有一個length屬性,因此還可以對這個屬性解構賦值
strFuc(){
            // str:'yan_yan'
            let [a,b,c,d,e,f,g] = this.str;
            console.log(a,b,c,d,e,f,g)//y a n _ y a n
            // 對數組屬性解構賦值
            let {length} = this.str;
            console.log(length)//7
        },

    

4、數值和布爾值的解構賦值

  • 解構賦值時,如果等號右邊是數值和布爾值,則會先轉為對象
  • 解構賦值的規則是,只要等號右邊的值不是對象或數組,就先將其轉為對象。由于undefined和null無法轉為對象,所以對它們進行解構賦值,都會報錯

let {toString: s} = 123;
console.log(s === Number.prototype.toString,s)//true ? toString() { [native code] }
let {toString: ss} = true;
console.log(ss === Boolean.prototype.toString,ss)// true ? toString() { [native code] }
// 右側必須是數組或對象,undefined和null無法轉為對象,所以對它們進行解構賦值,都會報錯
// let { prop: x } = undefined; // TypeError
// let { prop: y } = null; // TypeError


    

5、函數參數的解構賦值

  • 也可使用默認值,注意默認值是指實參的默認值而不是形參的默認值
// 函數的解構賦值可使用默認值,注意默認值是指實參的默認值而不是形參的默認值
            function move({x=1, y=1}={}) {
              return [x, y];
            }
            function move1({x, y} = { x: 0, y: 0 }) {
              return [x, y];
            }
            function move2({x, y=1} = { x: 0, y: 0 }) {
              return [x, y];
            }
            console.log(move({x: 3, y: 8})); // [3, 8]
            console.log(move({x: 3})); // [3, 1]
            console.log(move({})); // [1, 1]
            console.log(move()); // [1,1]
            console.log(move1({x: 3, y: 8})); // [3, 8]
            console.log(move1({x: 3})); // [3, 1]
            console.log(move1({})); // [undefined, 1]
            console.log(move1()); // [0,0]
            console.log(move2({x: 3, y: 8})); // [3, 8]
            console.log(move2({x: 3})); // [3, 1]
            console.log(move2({})); // [undefined, 1]
            console.log(move2()); // [0,0]

6、圓括號問題
解構賦值雖然很方便,但是解析起來并不容易。對于編譯器來說,一個式子到底是模式,還是表達式,沒有辦法從一開始就知道,必須解析到(或解析不到)等號才能知道。
由此帶來的問題是,如果模式中出現圓括號怎么處理。ES6 的規則是,只要有可能導致解構的歧義,就不得使用圓括號。
可以使用圓括號的情況只有一種:賦值語句的非模式部分,可以使用圓括號
總結:
不管是哪一類的解構賦值,等式右邊的數據必須是對象形式(數組也是一種對象形式)
————————————————
版權聲明:本文為CSDN博主「Yan_an_n」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_44258964/article/details/105643553

淺析HTTP協議

前端達人

目錄

HTTP協議

HTTP請求:

HTTP響應:

會話與會話狀態:

Cookie

Session

Cookie和Session的區別

HTTP協議


 HTTP請求:
Post /test.php HTTP/1.1                               //請求行以一個方法符號開頭,以空格分開,后面跟著請求的URI和協議的版本

Host: www.test.com                                       //請求頭

User-agent:mozilla/5.0(windows NT 6.1: rv: 15.0)

Gecko/20100101 firefox15.0

                                                                                    //空白行,代表請求頭結束

Username=admin&passwd=admin                             //請求正文

HTTP請求方法



GET       請求獲取Request-URI所標識的資源

POST     在Request-URI所標識的資源后附加新的數據

HEAD    請求獲取由Request-URI所標識的資源的響應消息報頭

PUT       請求服務器存儲一個資源,并用Request-URI作為其標識

常用的為GET和POST;GET和POST的區別:

GET提交的內容會直接顯示在URL中,私密性較差,可以用于顯示一些公共資源;但是GET效率會比較高。

POST不會將內容顯示在URL中,可以用于提交一些敏感數據,例如用戶名或密碼。

HTTP響應:
HTTP/1.1 200 OK                                         //響應行由協議版本號,響應狀態碼和文本描述組成

Data:sun,15 nov 2018 11:02:04  GMT    //響應頭

Server:bfe/1.0.8.9

……

Connection: keep-alive

                                                                      //空白行,代表響應頭結束

<html>

</html><title>index.heml</title>                  //響應正文

HTTP的狀態碼:

狀態代碼由三位數字組成,第一個數字定義了響應的類別,且有五種可能取值。

1xx:指示信息 —— 表示請求已接收,繼續處理。

2xx:成功 —— 表示請求已被成功接收、理解、接受。

3xx:重定向 —— 要完成請求必須進行更進一步的操作。

4xx:客戶端錯誤 —— 請求有語法錯誤或請求無法實現。

5xx:服務器端錯誤 —— 服務器未能實現合法的請求。

常見狀態代碼、狀態描述的說明如下。

200 OK:客戶端請求成功。

400 Bad Request:客戶端請求有語法錯誤,不能被服務器所理解。

401 Unauthorized:請求未經授權,這個狀態代碼必須和 WWW-Authenticate 報頭域一起使用。

403 Forbidden:服務器收到請求,但是拒絕提供服務。

404 Not Found:請求資源不存在,舉個例子:輸入了錯誤的URL。

500 Internal Server Error:服務器發生不可預期的錯誤。

503 Server Unavailable:服務器當前不能處理客戶端的請求,一段時間后可能恢復正常。

會話與會話狀態:
       Web中的會話是指一個客戶端瀏覽器與web服務器之間連續發生一系列請求和響應過程。會話狀態是指在會話過程中產生的狀態信息;借助會話狀態,web服務器能夠把屬于同一會話中的一系列的請求和響應關聯起來。

Cookie
概述

       Cookie是一種在客戶端保持HTTP狀態信息的技術,它好比商場發放的優惠卡。在瀏覽器訪問Web服務器的某個資源時,由Web服務器在在HTTP響應頭中附帶傳送給瀏覽器一片數據,web服務器傳送給各個客戶端瀏覽器的數據是可以各不相同的。

       一旦Web瀏覽器保存了某個Cookie,那么它在以后每次訪問該Web服務器是都應在HTTP請求頭中將這個Cookie回傳個Web服務器。Web服務器通過在HTTP響應消息中增加Set-Cookie響應頭字段將CooKie信息發送給瀏覽器,瀏覽器則通過在HTTP請求消息中增加Cookie請求頭字段將Cookie回傳給Web服務器。

       一個Cookie只能標識一種信息,它至少含有一個標識該消息的名稱(NAME)和和設置值(VALUE)。一個Web瀏覽器也可以存儲多個Web站點提供的Cookie。瀏覽器一般只允許存放300個Cookie,每個站點最多存放20個Cookie,每個Cookie的大小限制為4KB。

傳送示意圖



特點

存儲于瀏覽器頭部/傳輸與HTTP頭部,寫時帶屬性,讀時無屬性。由三元【name,domain,path】唯一確定Cookie。

Set-Cookie2響應頭字段

Set-Cookie2頭字段用于指定WEB服務器向客戶端傳送的Cookie內容,但是按照Netscape規范實現Cookie功能的WEB服務器, 使用的是Set-Cookie頭字段,兩者的語法和作用類似。Set-Cookie2頭字段中設置的cookie內容是具有一定格式的字符串,它必須以Cookie的名稱和設置值開頭,格式為"名稱=值”,后面可以加上0個或多個以分號(;) 和空格分隔的其它可選屬性,屬性格式一般為 "屬性名=值”。

除了“名稱=值”對必須位于最前面外,其他的可選屬性可以任意。Cookie的名稱只能由普通的英文ASCII字符組成,瀏覽器不用關心和理解Cookie的值部分的意義和格式,只要WEB服務器能理解值部分的意義就行。大多數現有的WEB服務器都是采用某種編碼方式將值部分的內容編碼成可打印的ASCII字符,RFC 2965規范中沒有明確限定編碼方式。

舉例:   Set-Cookie2: user-hello; Version=1; Path=/

Cookie請求頭字段

Cookie請求頭字段中的每個Cookie之間用逗號(,)或分號(;)分隔。在Cookie請求字段中除了必須有“名稱=值”的設置外,還可以有Version、path、domain、port等屬性;在Version、path、domain、port等屬性名之前,都要增加一個“$”字符作為前綴。Version屬性只能出現一次,且要位于Cookie請求頭字段設置值的最前面,如果需要設置某個Cookie信息的Path、Domain、Port等屬性,它們必須位于該Cookie信息的“名稱=值”設置之后。

       瀏覽器使用Cookie請求頭字段將Cookie信息會送給Web服務器;多個Cookie信息通過一個Cookie請求頭字段會送給Web服務器。

瀏覽器會根據下面幾個規則決定是否發送某個Cookie信息:

       1、請求主機名是否與某個存儲的Cookie的Domain屬性匹配

       2、請求的端口號是否在該Cookie的Port屬性列表中

       3、請求的資源路徑是否在該Cookie的Path屬性指定的目錄及子目錄中

       4、該Cookie的有效期是否已過

Path屬性的指向子目錄的Cookie排在Path屬性指向父目錄的Cookie之前

舉例: Cookie: $Version=1; Course=Java; $Path=/hello/lesson;Course=vc; $Path=/hello

Cookie的安全屬性

secure屬性

當設置為true時,表示創建的Cookie會被以安全的形式向服務器傳輸,也就是只能在HTTPS連接中被瀏覽器傳遞到服務器端進行會話驗證,如果是HTTP連接則不會傳遞該信息,所以不會被竊取到Cookie的具體內容。

 HttpOnly屬性

如果在Cookie中設置了"HttpOnly"屬性,那么通過程序(JS腳本、Applet等)將無法讀取到Cookie信息,這樣能有效的防止XSS攻擊。

總結:secure屬性 是防止信息在傳遞的過程中被監聽捕獲后信息泄漏,HttpOnly屬性的目的是防止程序獲取cookie后進行攻擊這兩個屬性并不能解決cookie在本機出現的信息泄漏的問題(FireFox的插件FireBug能直接看到cookie的相關信息)。

Session
使用Cookie和附加URL參數都可以將上一-次請求的狀態信息傳遞到下一次請求中,但是如果傳遞的狀態信息較多,將極大降低網絡傳輸效率和增大服務器端程序處理的難度。

概述

Session技術是一種將會話狀態保存在服務器端的技術,它可以比喻成是醫院發放給病人的病歷卡和醫院為每個病人保留的病歷檔案的結合方式。客戶端需要接收、記憶和回送Session的會話標識號,Session可以且通常是借助Cookie來傳遞會話標識號。



Session的跟蹤機制

HttpSession對象是保持會話狀態信息的存儲結構,一個客戶端在WEB服務器端對應一個各自的HttpSession對象。WEB服務器并不會在客戶端開始訪問它時就創建HttpSession對象,只有客戶端訪問某個能與客戶端開啟會話的服務端程序時,WEB應用程序才會創建一個與該客戶端對應的HttpSession對象。WEB服務器為HttpSession對象分配一個獨一無的會話標識號, 然后在響應消息中將這個會話標識號傳遞給客戶端。客戶端需要記住會話標識號,并在后續的每次訪問請求中都把這個會話標識號傳送給WEB服務器,WEB服務器端程序依據回傳的會話標識號就知道這次請求是哪個客戶端發出的,從而選擇與之對應的HttpSession對象。

WEB應用程序創建了與某個客戶端對應的HttpSession對象后,只要沒有超出一個限定的空閑時間段,HttpSession對象就駐留在WEB服務器內存之中,該客戶端此后訪問任意的Servlet程序時,它們都使用與客戶端對應的那個已存在的HttpSession對象。

Session是實現網上商城的購物車的最佳方案,存儲在某個客戶Session中的一個集合對象就可充當該客戶的一個購物車。

超時管理

WEB服務器無法判斷當前的客戶端瀏覽器是否還會繼續訪問,也無法檢測客戶端瀏覽器是否關閉,所以,即使客戶已經離開或關閉了瀏覽器,WEB服務器還要保留與之對應的HttpSession對象。隨著時間的推移而不斷增加新的訪問客戶端,WEB服務器內存中將會因此積累起大量的不再被使用的HttpSession對象,并將最終導致服務器內存耗盡。WEB服務器采用“超時限制”的辦法來判斷客戶端是否還在繼續訪問如果某個客戶端在一定的時間之 內沒有發出后續請求,WEB服務器則認為客戶端已經停止了活動,結束與該客戶端的會話并將與之對應的HttpSession對象變成垃圾。

如果客戶端瀏覽器超時后再次發出訪問請求,Web服務器則認為這是一個新的會話開始,將為之創建新的Httpsession對象和分配新的會話標識號。

利用Cookie實現Session的跟蹤

如果WEB服務器處理某個訪問請求時創建了新的HttpSession對象,它將把會話標識號作為一個Cookie項加入到響應消息中,通常情況下,瀏覽器在隨后發出的訪問請求中又將會話標識號以Cookie的形式回傳給WEB服務器。WEB服務器端程序依據回傳的會話標識號就知道以前已經為該客戶端創建了HttpSession對象,不必再為該客戶端創建新的HttpSession對象,而是直接使用與該會話標識號匹配的HttpSession對象,通過這種方式就實現了對同一個客戶端的會話狀態的跟蹤。

利用URL重寫實現Session跟蹤

Servlet規范中引入了一種補充的會話管理機制,它允許不支持Cookie的瀏覽器也可以與WEB服務器保持連續的會話。這種補充機制要求在響應消息的實體內容中必須包含下一 次請求的超鏈接,并將會話標識號作為超鏈接的URL地址的一個特殊參數。將會話標識號以參數形式附加在超鏈接的URL地址后面的技術稱為URL重寫。 如果在瀏覽器不支持Cookie或者關閉了Cookie功能的情況下,WEB服務器還要能夠與瀏覽器實現有狀態的會話,就必須對所有能被客戶端訪問的請求路徑(包括超鏈接、form表單的action屬性設置和重定向的URL)進行URL重寫。

Cookie和Session的區別
session和cookies同樣都是針對單獨用戶的變量(或者說是對象好像更合適點),不同的用戶在訪問網站的時候都會擁有各自的session或者cookies,不同用戶之間互不干擾。

他們的不同點是:

1,存儲位置不同

session在服務器端存儲,比較安全,但是如果session較多則會影響性能

cookies在客戶端存儲,存在較大的安全隱患

2,生命周期不同

session生命周期在指定的時間(如20分鐘) 到了之后會結束,不到指定的時間,也會隨著瀏覽器進程的結束而結束。

cookies默認情況下也隨著瀏覽器進程結束而結束,但如果手動指定時間,則不受瀏覽器進程結束的影響。

總結:簡而言之,兩者都是保存了用戶操作的歷史信息,但是存在的地方不同;而且session和cookie的目的相同,都是為了克服HTTP協議無狀態的缺陷,但是完成方法不同。Session通過cookie在客戶端保存session id,將用戶的其他會話消息保存在服務端的session對象中;而cookie需要將所有信息都保存在客戶端,因此存在著一定的安全隱患,例如本地Cookie中可能保存著用戶名和密碼,容易泄露。
————————————————
版權聲明:本文為CSDN博主「悲觀的樂觀主義者」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_43997530/article/details/105650267


淺顯易懂的cookie的使用(設置和獲取cookie緩存)

前端達人

js中cookie的使用(設置和獲取cookie緩存)
生為一個已經入職一年多的前端小白,第一次寫博客還有點小激動,有不足的地方還希望大家多多指出,因為最近項目有涉及到利用cookie緩存數據,所以在這邊再鞏固一下。

1、cookie的定義
在使用瀏覽器中,經常涉及到數據的交換,比如你登錄系統賬號,登錄一個頁面。我們經常會在此時設置記住賬號啥的,或者自動登錄選項。那這些都是怎么實現的呢,答案就是今天的主角cookie了,Cookie是由HTTP服務器設置的,保存在瀏覽器中,但HTTP協議是一種無狀態協議,在數據交換完畢后,服務器端和客戶端的鏈接就會關閉,每次交換數據都需要建立新的鏈接。
從JavaScript的角度看,cookie 就是一些字符串信息。這些信息存放在客戶端的計算機中,用于客戶端計算機與服務器之間傳遞信息。
在JavaScript中可以通過 document.cookie 來讀取或設置這些信息。由于 cookie 多用在客戶端和服務端之間進行通信,所以除了JavaScript以外,服務端的語言(如PHP)也可以存取 cookie。

2、cookie的使用
設置cookie
function setCookie(c_name, value, expiredays) {
       var exdate = new Date()
       exdate.setDate(exdate.getDate() + expiredays)
       document.cookie = c_name + "=" + escape(value) +
           ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString())+";path=/";
   }
1
2
3
4
5
6
調用該方法如:

var userId="123456";
setCookie("userId", userId, 30);
1
2
下面是里面參數的意義

參數 含義
c_name 自己定義的cookie名稱
value 需要放在定義的c_name 中的值
expiredays cookie的有效期
這里有一個要注意點就是 " path=/"
" path=/"是只存下的cookie再該項目所有頁面都能去獲取,如果你想只存到弄個特定目錄可以在path中指定路徑,如:“path=/views/myHomePage”,z這樣你可以在/views/myHomePage文件下所有頁面都能取到你存的cookie了。

取回cookie
 function getCookie(c_name) {
        if (document.cookie.length > 0) {
            c_start = document.cookie.indexOf(c_name + "=")
            if (c_start != -1) {
                c_start = c_start + c_name.length + 1
                c_end = document.cookie.indexOf(";", c_start)
                if (c_end == -1) c_end = document.cookie.length
                return unescape(document.cookie.substring(c_start, c_end))
            }
        }
        return ""
    }
1
2
3
4
5
6
7
8
9
10
11
12
調用該方法如:

var newUserId= getCookie("userId");
console.log(newUserId)
alert(newUserId)
————————————————
版權聲明:本文為CSDN博主「前端陳偉霆」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_43927397/article/details/105658614







javascript中的this綁定

前端達人

his是一個關鍵字,表示執行當前函數的對象

  • this永遠跟著當前函數走,
  • 永遠是一個對象,

  • 永遠在函數執行時才能確定。
  • 1. 默認綁定:沒有明確被隸屬對象執行的函數,this指向window


function fn(){
    console.log(this);              //window
    console.log(typeof this);       //object
}
fn();

- 嚴格模式下,this指向undefiend

"use strict";
function fn(){
    console.log(this);              //undefined
}
fn();




日歷

鏈接

個人資料

藍藍設計的小編 http://www.73404.com.cn

存檔

主站蜘蛛池模板: 成人宗合网 | 亚洲免费网站观看视频 | 亚洲精品国产拍在线 | 超碰97自拍| 国产ww久久久久久久久久 | 午夜欧美精品久久久久久久 | 午夜福利伦伦电影理论片在线观看 | 日日摸天天摸爽爽狠狠97 | 欧美伦理片网站 | www.久久精品| 婷婷色亚洲 | 国产清纯白嫩美女正无套播放 | 久久潮 | 午夜爱爱毛片xxxx视频免费看 | 欧美 在线 | 成人狠狠色综合 | 日本天堂在线播放 | 视频精品一区二区 | 天堂在线中文网www 亚洲中文字幕在线第六区 日本高清不卡aⅴ免费网站 | 中文字幕av一区二区 | 欧美日韩国产码高清 | 色综合五月| 色久综合 | 免费看欧美成人a片无码 | 欧美精品久久久久久久久 | 五月激情婷婷综合 | 激情综合色综合啪啪开心 | 无套内谢少妇在线观看视频 | 九九视频在线观看 | 国产精品亚洲成在人线 | 欧洲成人综合网 | 欧美在线性视频 | 分分操免费视频在线观看 | 国产女上位 | 中文字幕无码视频手机免费看 | 国产免费最爽的乱淫视频a 国产免国产免费 | 久久少妇av | 成人深夜免费视频 | 九色在线视频 | 中文一区二区 | 理论片一级 | 国内精品久久久久久久久久久久 | 国产午夜精品一区二区三区在线观看 | 日本人xxxxxxxxx泡妞 | 噼里啪啦免费观看 | 日本熟妇乱子伦xxxx | 激情综合色五月丁香六月欧美 | 视频一区免费 | 欧美va免费高清在线观看 | 在线aaa| 拧花蒂尿用力按凸起喷水尿av | 亚洲精品一区二区三区不卡 | 日韩在线第二页 | 亚洲va一区二区 | 本道久久综合无码中文字幕 | 久久日韩激情一区二区三区四区 | 天堂中文最新版在线官网在线 | 亚洲第一综合网站 | 久久看视频 | 在线播放免费播放av片 | 在线观看aaa| 亚洲精品久久久久 | 超碰黑人 | 亚洲精品乱码久久久久久花季 | 一级录像免费录像性高湖 | 18禁真人抽搐一进一出在线 | 亚洲精品色情app在线下载观看 | 女性高爱潮有声视频 | 日韩精品一区在线观看 | 超碰c| 亚洲r成人av久久人人爽澳门赌 | 欧美一级特黄aaaaaaa什 | 日韩一级片网址 | 天海翼视频在线观看 | 精品人妻av区波多野结衣 | 久久国产精品视频一区 | 成人无遮挡裸免费视频在线观看 | 夜夜爽爽| 欧美午夜精品久久久久久人妖 | 欧美三日本三级三级在线播放 | 成人做爰69片免费 | 影音先锋国产精品 | 麻豆一区二区99久久久久 | 成人性生交视频免费看 | 中国少妇裸体bbbbb | 亚洲欧美日韩成人一区 | 日韩在线免费播放 | 国产精品伦一区二区三级视频 | 久本草在线中文字幕亚洲 | 88av网站 | 欧美永久视频 | 精品乱人伦一区二区三区 | 大肉大捧一进一出好爽视频 | 中文亚洲欧美日韩无线码 | 国产一区影院 | 18禁美女黄网站色大片免费看 | 毛片大全免费 | 国产一级自拍视频 | 最新毛片基地 | 久久精品精品 | 丁香花在线观看免费观看图片 | 午夜少妇拍拍视频在线观看 | 国产真实伦在线观看视频 | 成人性生交大全免费中文版 | 日本涩涩网 | 美女黄色影院 | 九草在线| 久久久婷婷成人综合激情 | 日韩欧美在线第一页 | 日韩精品在线播放 | 日韩欧美亚洲在线 | 精品国产综合区久久久久久 | 999国产精品999久久久久久 | 日本www色| 日韩精品网站在线观看 | 毛片内射-百度 | 国产对白老熟女正在播放 | 无遮挡又爽又刺激的视频 | 精品国产黑色丝袜高跟鞋 | 国产av熟女一区二区三区 | 波多野结衣av高清一区二区三区 | 91亚洲国产成人精品性色 | 人成午夜免费视频在线观看 | 超乳hitomi在线播放痴汉 | 18pao国产成视频永久免费 | 日本三级韩国三级三级a级按摩 | 啪啪五月天 | 中文字幕制服狠久久日韩二区 | 夜夜躁狠狠躁夜躁2021鲁大师 | 精品久久亚洲 | 国产精品爽爽久久久久久豆腐 | aaaaav| av在线亚洲男人的天堂 | 国产成人精品亚洲日本在线观看 | 日日鲁夜夜如影院 | 国内露脸中年夫妇交换 | 日日噜噜夜夜爽爽 | 好吊色视频988gao在线观看 | 久久久艹 | 一级肉体全黄裸片高潮不断 | 无码爆乳护士让我爽 | 国产成人久久精品77777的功能 | 国产丝袜一区二区在线 | www久久久| 丰满少妇在线观看bd | 性天堂网| 黑人操亚洲女 | 国产精品青草综合久久久久99 | 一区二区三区日韩在线 | 又色又爽又高潮免费视频观看 | 久久不见久久见中文字幕免费 | 日韩xxxx视频 | 黑人与日本少妇高潮 | 韩国甜性涩爱 | 国产无套粉嫩白浆在线 | 国产成人无码av一区二区在线观看 | 成人天堂视频理伦片 | 精品国产综合 | 精品一区二区在线观看视频 | 99久久精品午夜一区二区小说 | 青青草青青操 | 椎名由奈在线观看 | 国产又粗又猛又爽视频 | 91香草视频| 成人午夜激情 | 久久久久久亚洲综合影院红桃 | 国产伦子伦视频在线观看 | 国产乱码精品一区二区三 | 美女免费av| 久久av喷吹av高潮av萌白 | 亚洲一级免费视频 | 成人资源在线 | 久久毛片基地 | 国产视频精选 | 在线黄色免费网站 | www.99精品 | 黄色成人在线网站 | 亚洲美女激情视频 | 少妇性l交大片免费观看冫 少妇性l交大片免费快色 | 日韩亚洲国产欧美 | 国产欧美va欧美va香蕉在线 | 亚洲丁香婷婷 | av网站免费看| 欧美精品18videosex性欧美 | 久久精品79国产精品 | 亚洲人成网站免费播放 | 99热这里是精品 | 国产精品免费观看视频 | 国产精品无码一区二区三级 | 免费视频福利 | 亚洲国产成人精品久久 | 狠狠色噜噜狠狠狠狠69 | 色哟哟免费视频 | 高清毛片aaaaaaaaa郊外 | 色综合久久蜜芽国产精品 | 秋霞午夜一区二区三区视频 | 久久精品国产999大香线蕉 | 欧洲男女裸体无遮挡做爰 | 日本中文在线播放 | 成年人视频免费在线观看 | 麻豆国产人妻欲求不满谁演的 | 又爽又大又黄a级毛片在线视频 | 国产成人精品亚洲 | 亚洲区和欧洲区一二三四 | 99re在线视频免费观看 | 久久久久亚洲精品中文字幕 | 岛国片在线播放97 | 国产精品久久久久久久久毛片 | 特级毛片在线 | 午夜剧场成人 | 亚洲国产成人精品女人久久久野战 | 日本一区二区在线免费观看 | 一级片中文字幕 | 又黄又爽又无遮挡免费的网站 | 日韩一区二区三区精品视频 | 在线观看日韩av | 蓝牛av| 少妇高潮伦 | 欧美一卡二卡三卡 | 免费无码又爽又刺激软件下载直播 | 亚韩精品 | 日本精品一区二区三区在线观看 | 欧美 在线| www.久久婷婷 | 国产精品乱码一区二区视频 | 天美传煤毛片 | 亚洲色图久久 | 少妇好爽影院 | 丝袜脚交国产在线观看 | 波多野结衣高清一区二区三区 | 国产真实乱对白精彩久久小说 | 老司机在线精品视频 | 亚洲精品久久激情国产片 | 天堂8中文在线 | 国产成人av一区二区三区不卡 | 国产精品天天在线午夜更新 | 日本熟妇色一本在线观看 | 亚洲欧美另类图片 | 黄网av| a级大胆欧美人体大胆666 | 国产成人综合在线视频 | 国产av午夜精品一区二区入口 | 亚洲人成欧美中文字幕 | 国模一区二区三区四区 | 亚洲精品乱码久久久久久金桔影视 | 成年美女黄网站色大免费全看 | 国产精品久久久久久久久免费 | 国产男女无套在线播放 | 欧美三级视频在线观看 | 野外做受又硬又粗又大视频 | 青青草伊人 | 天天躁夜夜躁天干天干200 | 特黄特色的大片观看免费视频 | 亚洲欧美在线精品 | 久久天天躁夜夜躁狠狠躁2022 | 精品人妻系列无码人妻漫画 | 18禁美女裸体免费网站 | 在线看毛片网站 | 日韩69永久免费视频 | 日本高清www免费视频大豆 | 91av视频播放| 亚洲国产专区 | 国产 欧美 日本 | 国产精品视频二区不卡 | 亚洲成a人片在线观看天堂无码 | 国产又黄又猛 | 欧美黑人又粗又大又爽免费 | 天天躁狠狠躁狠狠躁性色牛牛影视 | 亚洲天堂av在线播放 | 国产乱淫视频免费 | 日批视频免费在线观看 | 欧美一区二区三区四区视频 | 欧美牲交a免费 | 亚洲国产色图 | av不卡网| 性久久久久 | 国产精品久久久天天影视 | 国产黄色网址在线观看 | 玩弄japan白嫩少妇hd小说 | 99热这里 | 熟女人妻少妇精品视频 | 亚洲香蕉成人av网站在线观看 | 中国美女毛茸茸撒尿 | 天天综合天天做天天综合 | 精品自拍视频在线观看 | 亚洲精品第一国产综合野草社区 | 外国黄色网 | 国产精品黄色av | 欧美一区二区视频在线 | 91p在线观看 | 国产老妇伦国产熟女老妇视频 | 韩国呻吟大尺度激情视频 | 68精品久久久久久欧美 | 亚洲女同女同女同女同女同69 | 天天综合网天天综合狠狠躁 | 久久伊人色av天堂九九小黄鸭 | 国内精品久久久久久久影视红豆 | 99在线观看精品视频 | 暴力调教一区二区三区 | 成人av网站在线 | 肥嫩水蜜桃av亚洲一区 | 91久久国产成人精品 | 色一情一乱一伦 | 国产乱xxxxx987国语对白 | 在线免费观看a视频 | 欧美一级视频一区 | 做爰xxxⅹ性69免费软件 | 国产精品黑色高跟鞋丝袜 | 极品尤物一区二区三区 | 377p日本欧洲亚洲大胆张筱雨 | 黄色一及毛片 | 欧美午夜影院 | 欧美无人区码suv | 黄色网址你懂得 | 精品国产乱码久久久久夜 | av在线手机观看 | 在线看h网站 | 国产又黄又爽又刺激的免费网址 | 啪啪网免费 | 自拍亚洲一区欧美另类 | 婷婷干| 噼里啪啦在线高清观看免费 | 黄色长视频 | 丁香色婷婷国产精品视频 | 久久日韩激情一区二区三区四区 | 中文在线а√在线 | 国产精品久久网站 | 中日韩高清无专码区2021 | 久久综合九九 | 天堂在/线资源中文在线 | 97青草超碰久久国内精品91 | 亚洲激情欧美 | 亚洲综合一区中 | 欧美人与动牲交免费观看网 | 国产精品一区亚洲二区日本三区 | 先锋影音男人 | 国产调教打屁股xxxx网站 | 亚洲成a人片在线观看无码专区 | 久久性精品| 视频国产精品 | 麻豆精品一区二区三区 | 天堂av一区| 久久久久久久久艹 | 可以直接看av的网址 | 少妇被粗大的猛进出69影院 | 激情内射人妻1区2区3区 | 精品无码一区二区三区电影 | 国产美女精品视频免费播放软件 | 免费成人欧美 | 亚洲 美腿 欧美 偷拍 | 成人三级网址 | 91视频网页 | 日本黄色xxxxx | 亚洲精品乱码久久久久蜜桃 | 苍井优三级在线观看 | 波多野结衣高清一区二区三区 | 日本一区二区高清不卡 | 成人在线播放视频 | 国内揄拍国内精品人妻 | 国模欢欢炮交啪啪150 | 日本a一级 | 搡老熟女老女人一区二区 | 最新日韩在线视频 | 国产精品久久久久四虎 | 黑人大战欲求不满人妻 | 韩国主播青草55部完整 | 日本ww色 | 超碰97人人射妻 | 亚洲码与欧洲码一二三四区 | 国色天香中文字幕在线视频 | 99久久免费看精品国产一区 | 日韩精品网址 | 麻豆精品国产传媒mv男同 | 亚洲日韩精品欧美一区二区一 | 欧美午夜aaaaaa免费视频 | 日本免费一区二区三区 | 中文在线免费看视频 | 国产又粗又猛又黄又爽无遮挡 | 日本黄视频在线观看 | 欧美一区二区在线 | 亚洲日本va午夜在线电影 | 一区二区精品在线 | 婷婷四房综合激情五月 | 又大又粗又爽的少妇免费视频 | 国产做爰免费观看视频 | 91视频一区二区三区 | 日本xxxxx高清 | 国产激情视频一区 | 久久这里有精品视频 | 久久久久一区二区三区四区 | 最近中文字幕在线视频 | 91久久精品国产91性色tv | 国产精品美女久久久免费 | 麻豆传媒一区二区 | 熟女人妻少妇精品视频 | 污视频在线观看免费 | 五月天天色 | 99精品国产在热久久婷婷 | 色吊丝网站 | 免费高清黄色 | 亚洲伊人伊色伊影伊综合网 | 久久精品国产99国产 | 6699嫩草久久久精品影院竹菊 | 单亲陪读乱淫口述 | 久久久久久久国产精品 | 一杯热奶茶的等待 | 国产精品一区二区 尿失禁 又污又爽又黄的网站 | 成人性做爰 | 欧美激情精品久久久久 | 色999视频| 中文字幕一区日韩精品 | 18分钟处破好疼哭视频在线观看 | 久久香蕉国产 | 亚洲欧美小视频 | 99国产精品一区二区 | 亚洲精品久久酒店 | 国产夜夜爽| 妓女爽爽爽爽爽妓女8888 | 男人都懂的网址 | 亚洲乱亚洲乱妇50p 亚洲乱亚洲乱妇无码 | 男人懂得网站 | 青青草手机视频在线观看 | 漂亮人妻被中出中文字幕久久 | 亚洲精品无码专区在线在线播放 | 一本色道久久88加勒比—综合 | 国产欧美一区二区精品婷婷 | 亚洲国产精品无码观看久久 | 国产乱国产乱老熟300部视频 | 国产成人亚洲综合无码99 | 成人性生交天码免费看 | 中文无码精品a∨在线观看不卡 | 久久久久99精品成人片三人毛片 | 亚洲国产字幕 | 性xxxx18免费观看视频 | 爱爱视频网站 | 亚洲一区中文字幕在线观看 | 色婷婷综合久色aⅴ五区最新 | 伊人成年网站综合网 | 精品精品 | 一区二区国产精品精华液 | 欧美激情videos hd | 国产在线拍揄自揄拍无码 | 亚洲日韩小电影在线观看 | 朝鲜交性又色又爽又黄 | 在线亚洲午夜片av大片 | 亚洲精品国产精品国自产 | 亚洲欧美日韩一区 | 性按摩玩人妻hd中文字幕 | 性一交一乱一伧老太 | 天天躁日日躁狠狠躁伊人 | 韩国一区二区三区在线观看 | 激烈的性高湖波多野结衣 | 中文字幕一区二区三区乱码图片 | 国产无套粉嫩白浆在线观看 | а√天堂资源中文在线官网九色 | 亚洲最大在线视频 | 亚洲免费在线视频观看 | 91精品视频免费观看 | 强行挺进皇后紧窄湿润小说 | 国产精品高潮呻吟视频 | 在线a| 日韩专区在线观看 | 天天操天天爽天天射 | 无码无遮挡又大又爽又黄的视频 | 伊人无码精品久久一区二区 | 精品人妻人人做人人爽夜夜爽 | 亚洲成a人v欧美综合天堂 | 男ji大巴进入女人的视频 | 亚欧美精品 | 97超碰人人干 | 亚洲精品成人在线视频 | yw.139尤物在线精品视频 | 自拍偷自拍亚洲精品10p | 亚洲欧美日韩国产手机在线 | 欧洲一区二区在线观看 | 麻豆影院免费夜夜爽日日澡 | 国产精品久久精品第一页 | 极品销魂美女少妇尤物优美 | 国产精品性 | 交视频在线播放 | 成人免费一区二区三区 | 亚洲成在人线在线播放 | 夜夜精品视频一区二区 | 亚洲久色影视 | 性插视频在线观看 | 在线观看二区 | 久久久久人妻一区二区三区 | 老妇肥熟凸凹丰满刺激小说 | 国产精品久久久久久久久免费相片 | 国产高潮久久 | 桃色99| 日本精品一二区 | 日韩免费av在线 | 高中生粉嫩无套第一次 | 正在播放老肥熟妇露脸 | 欧美疯狂性受xxxxx另类 | 国产激情综合 | 扒开双腿吃奶呻吟做受视频 | 亚洲成熟女人毛毛耸耸多 | 久久性色欲av免费精品观看 | 无遮挡1000部拍拍拍免费 | jizz久久| 高中生粉嫩无套第一次 | 欧美精品免费在线 | 免费动漫吸乳羞羞网站视 | 欧美叫娇小xx人1314 | 特大黑人娇小亚洲女喉交 | 99re国产精品 | 黄色特级一级片 | 国产盼盼私拍福利视频99 | 国产精品久久久久久久妇 | 亚洲熟妇色xxxxx欧美老妇y | 少妇又紧又黄又刺激视频 | 日本亚州视频在线八a | 五月婷婷丁香激情 | 91亚洲国产成人精品一区 | 亚洲性视频网站 | 99精品国产一区二区三区麻豆 | 91精品久久久久 | 美女又爽又黄网站视频 | 国产又粗又猛又爽又黄 | 91视频在线视频 | 老牛嫩草一区二区三区日本 | 五月激情六月婷婷 | 久久香蕉国产线看观看猫咪av | 一本色道久久综合狠狠躁篇的优点 | 国产色a | 波多野结衣一本一道 | 无码人妻精品一区二区三区不卡 | 亚洲精品456 | 69视频免费 | 又色又爽又黄的美女裸体网站 | 三级黄色视屏 | aaa天堂| 人禽杂交18禁网站免费 | 亚洲欧美日韩国产综合 | 国产一区二区三区色淫影院 | 日韩v| 国产精品福利小视频 | 在线黄网 | 亚洲精品久久久蜜臀av站长工具 | a免费视频| 怡红院男人天堂 | 二区三区视频 | 97人人模人人爽人人喊小说 | 久久天天躁夜夜躁狠狠85麻豆 | 秋霞成人| 婷婷色中文字幕综合在线 | 日本人毛片| 成人午夜av国产传媒 | 国产精品久久久久久久久久蜜臀 | 久久精品操 | 寂寞少妇让水电工爽了视频 | 国产91av在线播放 | 四季久久免费一区二区三区四区 | 青青视频免费在线观看 | 国产看黄网站又黄又爽又色 | 亚洲熟妇色xxxxx亚洲 | 特级全黄久久久久久久久 | 一本久久精品一区二区 | 少妇看片 | 国产免费午夜a无码v视频 | 女女同性女同一区二区三区av | 老司机午夜精品视频 | 国产拍揄自揄精品视频麻豆 | 日韩不卡的av | 国产精品一二三四五区 | 欧美丰满白嫩bbw激情 | 精精国产xxxx在线观看主放器 | 大sao货你好浪好爽好舒服视频 | 黄色网址免费 | 小荡货奶真大水多好紧视频 | 黄频在线观看 | 2021狠狠干 | 成人午夜性视频 | 性高湖久久久久久久久aaaaa | 亚洲第一成人网站 | 日韩专区av | 免费在线黄色片 | 国产特级毛片aaaaaa | 国内精品九九久久久精品 | 国产主播在线一区 | 影音先锋久久久久av综合网成人 | 国产精品9999久久久久 | 亚洲中文字幕av无码专区 | 国产在线不卡一区 | 狠狠躁夜夜躁人人爽超碰91 | 人妻巨大乳hd免费看 | 亚洲美女偷拍 | 中文字幕理论片 | 亚洲阿v天堂 | 国产手机在线精品 | 四虎永久在线精品免费网址 | 国产精选av | jizz亚洲女人 | 欧美日韩一二三区 | 精品视频在线播放 | 天天激情| 欧美又大又黄又粗高潮免费 | 91九色porny首页最多播放 | 午夜精品一区二区三区三上悠亚 | 久久久久人妻精品一区二区三区 | 91精品在线一区 | 成人资源在线观看 | 欧美综合一区 | www视频在线观看免费 | 国产黄色片在线免费观看 | 六月丁香在线视频 | 欧美成人精品a∨在线观看 香蕉av福利精品导航 | 色琪琪丁香婷婷综合久久 | 疯狂撞击丝袜人妻 | 51综合区亚洲线观看 | 成人婷婷| 无码少妇一区二区三区免费 | aa视频在线 | 手机成人av在线 | 国产黑色丝袜在线播放 | 欧美三级少妇高潮 | 欧美三级理论片 | 麻豆精品影院 | 欧美jizzhd精品欧美 | 吃奶摸下激烈视频学生软件 | 天天躁夜夜躁天干天干200 | 区二区欧美性插b在线视频网站 | 人妻体体内射精一区二区 | 日本少妇喷水视频 | 成人高潮片免费视 | 99爱在线视频这里只有精品 | 亚洲天天综合网 | 日韩av无码精品一二三区 | 色婷婷久久综合中文久久蜜桃av | 99国产精品自拍 | 国产精品入口66mio男同 | 伊人性视频 | 天天干天天操天天拍 | 国产亚洲欧美日韩亚洲中文色 | 女人下边被添全过视频 | 久久国产亚洲精品无码 | av男人天堂av | 少妇激情网 | 伊人手机在线视频 | 中文字幕亚洲欧美日韩在线不卡 | 日本一级淫片免费放 | lutube成人福利在线观看污 | 性感av在线| 欧美一级淫片免费 | 一本久道久久综合狠狠爱 | 柠檬福利视频导航 | 狠狠色丁香婷婷久久综合 | 国产精品久久久久久久白丝制服 | 国产一区二区视频播放 | 亚洲精久久 | 草1024榴社区入口 | 自拍偷在线精品自拍偷无码专区 | 日本无码欧美一区精品久久 | 成人精品免费视频在线观看 | 在线国精产品 | 最新中文字幕在线观看视频 | 99视频一区二区 | 在线国精产品 | 亚洲一级淫片 | 日韩视频一二三 | 日本黄网在线观看 | 野花国产精品入口 | 国产成人精品日本亚洲77上位 | 欧美肉大捧一进一出免费视频 | 7777kkk亚洲综合欧美网站 | 免费无遮挡在线观看视频网站 | 窝窝影院午夜看片 | 人妻体内射精一区二区 | 国产小呦泬泬99精品 | 欧美性生交xxxxx久久久缅北 | 少妇精69xxtheporn| 欧美亚洲另类视频 | 中文亚洲字幕 | 精品水蜜桃久久久久久久 | 日本女人毛片 | 日本成人黄色片 | 国产香蕉尹人综合在线观看 | 国产一区二区三区在线免费 | 中国吞精videos露脸 | www性欧美| 理论片高清免费理论片毛毛片 | 天天干狠狠插 | 香蕉在线播放 | 国产在线国偷精品产拍 | 麻豆视频在线观看免费网站 | 日本一区二区三区视频在线播放 | 日韩av第一页| 看全黄大色黄大片美女人 | 韩日激情视频 | 日本大码a∨欧美在线 | 九九在线视频免费观看精彩 | 男人天堂社区 | 91视频亚洲 | 91成人在线免费 | 国产人19毛片水真多19精品 | 色播在线播放 | 丰满熟女人妻中文字幕免费 | 夜夜躁狠狠躁日日躁视频黑人 | 久久蜜桃av一区二区天堂 | 国产精品99久久久久久久久久 | 国产成人精品久久 | 日本成人免费在线 | 精品久久一 | 九一精品在线 | 五十路熟女一区二区三区 | 激情午夜av | 欧美精品黄色 | 久艹在线观看视频 | 人人妻人人澡人人爽人人精品浪潮 | 国产日韩欧美一区二区宅男 | 精品夜夜嗨av一区二区三区 | 国产熟妇勾子乱视频 | 国产精品9999久久久久 | 大乳三级a做爰大乳 | 草草影院发布页 | 国产精品日日夜夜 | 欧美第一夜 | 玖玖色资源 | 国产精品国产三级国产潘金莲 | 色哟哟网站 | 国产精品国产三级国产aⅴ无密码 | 国产男女在线观看 | 亚洲精品乱码久久久久久金桔影视 | 女仆高潮hd理论片 | 日本一区二区三区视频免费看 | 男女啪啪毛片 | 国产一区二区av在线 | 乱人伦人妻中文字幕无码久久网 | 热久久91| 琪琪电影午夜理论片八戒八戒 | av免费在线观看网站 | 亚洲av成人精品毛片 | 天天噜天天干 | 在线观看一区二区三区av | 国产成人成网站在线播放青青 | 91精品网站| 国产又爽又黄无码无遮挡在线观看 | 亚洲色在线无码国产精品不卡 | 九九热视频精品 | 久久久午夜精品理论片中文字幕 | 人人妻人人澡av天堂香蕉 | 久久久www成人免费无遮挡大片 | 五月久久久综合一区二区小说 | 操操综合网| 久久精品一二三区 | 日韩1区 | 国产毛片18片毛一级特黄 | 午夜精品一区二区三区的区别 | 国产精品高潮呻吟久 | 日本妇人成熟免费 | 国产裸体舞一区二区三区 | 国产精品久久久久久久久免费软件 | 天堂网av在线 | 一区二区高清视频 | 亚洲午夜精品一区 | 久久久久久久久久久久久9999 | 91在线免费看片 | 亚洲毛茸茸少妇高潮呻吟 | 99黄色片| 国产精品国产精品国产专区不卡 | 就要日就要操 | 天堂中文字幕av | 人妻中出无码一区二区三区 | 成年人黄色大片大全 | 最新色站 | 在线观看黄色的网站 | 尤妮丝大尺度av在线播放 | 97无码人妻福利免费公开在线视频 | 草比网站 | 日本欧美三级 | 日本无码人妻精品一区二区蜜桃 | 自拍偷拍麻豆 | 影音先锋在线国产 | 亚洲天堂免费 | 国产91对白叫床清晰播放 | 日韩理论片在线观看 | 成年女人永久免费看片 | 亚洲精品xxx | 精品91视频 | 字幕网在线观看 | 视频一区免费 | 久久影视 | 午夜福利国产精品久久 | 精品久久久久久无码中文字幕 | www色日本| 亚洲色www成人永久网址 | 日本十大三级艳星 | 国产黑丝在线视频 | jizz成人 | 18pao国产成人免费视频 | 337p色噜噜 | 日本三级网址 | 天天躁天天狠天天透 | 成人真人毛片 | 丝袜 亚洲 另类 国产 制服 | 草的我好爽视频 | 国产一卡二卡三卡四卡 | 国产欧美熟妇另类久久久 | 粉嫩av一区二区三区入口 | 天海翼一区二区三区四区在线观看 | 国产精品国产三级国产aⅴ中文 | 欧美激情第1页 | 日本高清一区二区三 | 88国产精品视频一区二区三区 | 中文字幕少妇在线三级hd | 日本高清免费观看 | 51嘿嘿嘿国产精品伦理 | 华人永久免费视频 | 亚洲欧美国产精品18p | 国产精品影 | 92看片淫黄大片欧美看国产片 | 噜噜在线视频 | 黄色欧美网站 | 国产-第1页-浮力影院 | 日本三级黄在线观看 | 二区三区偷拍浴室洗澡视频 | 美女视频黄免费看 | www.香蕉网| 午夜av亚洲翘臀国产精网 | 亚洲美女性生活 | 爱看av在线 | 又色又爽又黄的视频软件app | 四川少妇xxxx内谢欧美 | 日韩精品一区二区三区中文字幕 | 老司机一区二区三区 | 久久亚洲精品国产一区 | 青青热久免费精品视频在线播放 | 99蜜桃臀精品视频在线观看 | 亚洲国产综合视频 | 99福利视频导航 | 精品人妻系列无码一区二区三区 | 天码中文字幕在线播放 | 中文字幕无码av波多野吉衣 | 久久婷婷五月综合国产尤物app | 国产高潮刺激叫喊视频 | 无码人妻丰满熟妇区bbbbxxxx | 国产又黄又猛 | 一个人看的www日本高清视频 | 精品少妇无码av无码专区 | 亚洲乱码国产乱码精品精不卡 | 久草一级片 | 亚洲超碰在线 | 国产高清美女一级a毛片久久w | 97国产精品一区二区 | 亚洲三级在线免费观看 | 成人影片在线免费观看 | 成人毛片网站 | 蜜桃视频在线观看污 | 特a级黄色片 | 尤物av无码色av无码 | 不卡黄色 | 亚洲第一色站 | 老司机在线免费视频 | 国产农村妇女一区二区 | 国产精品苏妲己野外勾搭 | 好男人www社区在线视频夜恋 | 亚洲乱码日产精品bd在线观看 | 日批视频免费在线观看 | 山东熟女啪啪哦哦叫 | 三级在线网站 | 午夜精品久久久久久久91蜜桃 | 亚洲精品国产成人 | 特级毛片a | 97se亚洲 | 久久精品aⅴ无码中文字字幕蜜桃 | 日韩一区二区三区视频 | 主播视频com入口在线观看 | 人人做人人澡人人爽欧美 | 国产69精品久久久久久人妻精品 | 精品欧洲av无码一区二区男男 | 亚洲成a人一区二区三区 | av无码免费永久在线观看 | 日产精品入口 | 成人免费视频软件网站 | 国产成人精品久久综合 | 九色jiuse | 91性高湖久久久久久久久_久久99 | 欧美嘿咻视频 | 一极黄色大片 | 午夜激情福利 | 国产精品视频成人 | 全国露性器r级最禁片 | 精品一区久久 | 91亚洲日本aⅴ精品一区二区 | 3d动漫啪啪精品一区二区中文字幕 | 俺啪也 | 国产精品久久午夜夜伦鲁鲁 | 亚欧av在线播放 | 亚洲啪av永久无码精品放毛片 | 国产精品嫩草影院av | 秋霞午夜av | 边啃奶头边躁狠狠躁 | 夜夜天堂 | 国产成人高潮免费观看精品 | 人妻少妇久久久久久97人妻 | 精产国品一二三产品蜜桃 | 综合网五月 | 小黄鸭精品密入口导航 | 狠狠色很很在鲁视频 | 免费av网页 | 成人欧美一区二区三区视频 | 99在线精品免费视频 | 国产精品男女啪啪 | 日韩中文字幕视频 | √天堂 | 成人精品视频一区二区三区尤物 | 欧美激情性生活 | 欧美精品日韩精品 | 美脚の诱脚舐め脚责91 | 日韩三级视频在线播放 | 三级网站 | 亚洲人成网线在线播放 | 国产在线无码视频一区二区三区 | 欧美美女啪啪 | 丰满多毛的大隂户视频 | 国产中文字字幕乱码无限 | 国产女人高潮视频在线观看 | 免费人成又黄又爽又色 | 邻居少妇张开双腿让我爽一夜图片 | 久久免费视频在线观看30 | 亚洲天堂av免费在线观看 | 搞av网| av鲁丝一区鲁丝二区鲁丝三区 | 亚洲成av人片在线观看天堂无码 | 忘忧草在线社区www中国中文 | 欧美伊人久久大香线蕉综合 | 字幕网在线观看 | 东北妇女精品bbwbbw | 亚洲成a人片777777张柏芝 | 老太婆性杂交欧美肥老太 | 把jiji进美女的屁屁里视频 | 538在线精品视频 | 性欧美丰满熟妇xxxx性久久久 | 三级少妇| 日韩视频在线免费观看 | 亚洲精品欧美精品 | 在线射 | 少妇一区二区三区四区 | 软萌小仙自慰喷白浆 | 精品免费在线 | 久久无码精品一区二区三区 | 男女作爱免费网站 | 六月丁香av | 青青草社区视频 | 中文字幕――色哟哟 | 中文亚洲字幕 | 欧美嘿咻视频 | 风间由美性色一区二区三区 | 日本黄色一级视频 | 国产精品久久久久久福利一牛影视 | 一二三区av | 国产精品乱码一区二区三区视频 | 好吊妞视频这里有精品 | 性户外野战hd | 欧美人与性动交a欧美精品 欧美人与性动交xxⅹxx | 爱av在线| 久久久久久久久久久久久久国产 | 青青草免费视频在线播放 | 国产一级黄色大片 | 午夜视频在线观看网站 | 禁欲天堂 | 老熟女重囗味hdxx70星空 | 久草免费福利视频 | 亚洲精品国产精品国 | 日本真人做爰免费的视频 | 极品色综合 | 一区二区三区回区在观看免费视频 | 国产清纯白嫩初高生在线观看性色 | 国产成人a亚洲精v品无码 | 亚洲最大成人网色 | 久久精品av| 亚洲第一免费看片 | 美女航空毛片在线播放 | 爱草av| 亚洲人视频 | 人人搞人人干 | 黄色一极视频 | 欧美 亚洲 国产 另类 | 欧美最爽乱淫视频播放 | 国产精品毛片一区二区在线看 | 大肉大捧一进一出好爽mba | 六姐妹在线观看免费 | 91在线观看 | 在线中文字幕乱码英文字幕正常 | 国产高清美女一级a毛片久久w | 国产欧美日韩精品a在线观看 | 亚洲福利网站 | 性一级视频 | 国产视频一区二区在线播放 | 黄色片久久久 | 国内毛片毛片毛片毛片毛片毛片 | 爱搞逼综合 | 国产精品自拍小视频 | 国产婷婷色一区二区三区 | 国产成人无码免费看片软件 | 亚洲色婷婷六月亚洲婷婷6月 | 91九色精品女同系列 | а√天堂8资源中文在线 | 国产乱码精品一区二区三区不卡 | 日本精品一区二区三区视频 | 美女国内精品自产拍在线播放 | 日韩在线色 | 国产成人综合欧美精品久久 | 第四色在线视频 | 成人黄色在线观看视频 | 在线播放无码高潮的视频 | 国产精品久久久久久久久电影网 | 国产毛片99| 狠狠躁18三区二区一区 | 亚洲一区欧美 | 久草蜜桃 | 香蕉视频ap | 99久久久久国产精品免费人果冻 | 欧美大片xxx | 丁香婷婷综合激情五月色 | 亚洲一区二区三区视频在线 | av网站免费在线观看 | 91偷自产一区二区三区蜜臀 | 日韩精品无码一区二区三区不卡 | 亚洲色图150p | 欧洲av在线免费观看 | 99九九99九九九视频精品 | 亚洲色偷拍区另类无码专区 | 曰本女人牲交全视频播放 | avtt香蕉久久| 阿娇全套94张未删图久久 | 午夜乱蜜桃久久久乱 | 欧美xxx视频| 射精专区一区二区朝鲜 | 日韩一级免费片 | 天天综合在线视频 | 国产中文字幕乱人伦在线观看 | 99视频| 国产精品视频入口 | 久久久久成人网 | 青青操在线观看视频 | 久色99 | 久久男人av资源网站无码 | 免费在线播放黄色片 | 伊人一道本 | 成年人网站免费看 | 欧美xxxxx少妇 | 天天摸天天草 | 欧美不在线 | 日本va欧美va国产激情 | 亚洲h在线播放在线观看h | 久久人人爽人人爽人人 | 日本大尺度做爰呻吟 | 精品国产精品一区二区夜夜嗨 | 国产国拍亚洲精品av | 日本少妇裸体做爰高潮片 | 麻豆一区二区在我观看 | 一级做a爰全过程免费视频毛片 | 日本三级视频 | 精品久久久久久中文字幕大豆网 | 成人国产精品一区二区 | 国产精品一区二区三区免费 | 欧美综合国产 | 日韩a片无码毛片免费看 | 久久久精品久久日韩一区综合 | 久久久久亚洲精品国产 | 大地资源影视在线播放观看高清视频 | 中文字幕被公侵犯的漂亮人妻 | 精品国产乱码久久久久久1区2区 | www178ccom视频在线 | 久久亚洲国产 | 四虎4hu永久免费深夜福利 | 无码人妻丰满熟妇区96 | 日本丰满少妇裸体自慰 | av一二三区 | 国产精品久久久久久久免费 | 成人小视频在线看 | 国产精品一区二区久久精品爱微奶 | 亚洲乱妇熟女爽到高潮的片 | 偷拍视频久久 | 欧美精品18 | 黑人巨大精品欧美一区 | 天天狠天天插 | 日本二区视频 | 国产搞逼视频 | 中文字幕无码av波多野吉衣 | www91久久| 黑人日批视频 | 98精品国产 | 久久瑟瑟 | 综合久久国产九一剧情麻豆 | 东北话对白xxxx | 免费在线看黄网站 | 黄色一级片在线免费观看 | 大又大粗又爽又黄少妇毛片 | 精品国产一区二区三区久久影院 | 日本人毛片| 日本被黑人强伦姧人妻完整版 | 午夜久久久久久久久久 | 国产精品久久久久久久毛片明星 | 亚洲深夜在线 | 欧美黑人粗大 | 亚洲欧美日韩在线不卡 | 日本成人午夜 | 午夜美女福利视频 | 国产精品视频一区二区三区四区国 | 精品一区二区免费视频 | 亚洲精品国产精品国自产网站 | 老司机精品福利视频 | 国产丰满精品伦一区二区三级视频 | 自拍偷拍第八页 | 麻豆网站观看 | 成人欧美一区二区三区黑人 | 久久欧美亚洲另类专区91大神 | 在线播放国产一区二区三区 | 亚洲欧美一区二区在线观看 | 日本韩国免费观看 | 人妻激情另类乱人伦人妻 | 精品久久久久久亚洲精品 | 日韩在线免费视频观看 | 成人夜色视频网站在线观看 | 激情五月综合色婷婷一区二区 | 成人男女网24免费 | 男女无遮挡激情视频 | 人人妻人人澡人人爽欧美精品 | 国产精品6999成人免费视频 | 污污网站在线看 | 国产日韩精品视频 | 亚洲大尺度无码无码专线一区 | 男女动漫18动漫免费 | 亚洲国产成人精品激情在线 | 精品视频免费播放 | 国产黄频在线观看 | 大奶子在线观看 | 日韩视频在线观看免费视频 | 国产精品久久久久久久岛一本蜜乳 | 中文字幕乱轮 | 777国产盗摄视频000 | 91精产国品一二三产区区别网站 | 成人性生交大片免费看4 | 中文字幕15页 | 久热这里只有精品6 | 97久久超碰中文字幕 | 国产免费一级视频 | 欧美精品久久久久 | 国产高潮流白浆喷水视频 | 日韩欧美国产中文字幕 | 色屁屁xxxxⅹ免费视频 | 国产欧美日韩a片免费软件 九九久久精品无码专区 | 福利午夜视频 | 香港经典a毛片免费观看播放 | 日本欧美在线视频 | 成人性生交大片 | 久久人人爽人人爽人人片av高清 | 中文字幕妇偷乱视频在线观 | 欧美xxxx黑人又粗又长精品 | 欧美性猛交xxxⅹ乱大交小说一 | 国产亚洲色婷婷久久99精品 | 91麻豆精品一二三区在线 | 91好色先生 | 少妇高潮叫床片一级 | 亚洲精品第五页 | 亚洲国产精品午夜久久久 | 亚洲 成人 在线 | 中文字幕第一页久久 | 日本欧美一区二区三区 | aaa日本高清在线播放免费观看 | 韩国三级hd两男一女 | 精品国产一区二区三区忘忧草 | 老熟女毛茸茸浓毛 | 一本一道久久久a久久久精品蜜臀 | www五月婷婷com | 亚洲精品国产精品国自产观看浪潮 | 午夜成人爽爽爽视频在线观看 | 区一区二视频 | www.一区| 国产精品久久久久久av福利软件 | 国产成人无码精品久久久性色 | 亚洲www在线 | 成人免费大片在线观看 | 77777亚洲午夜久久多喷 | 国产98在线传媒麻豆有限公司 | 中文字幕丰满伦子无码 | 色丁香婷婷综合久久 | 亚洲精品无码午夜福利中文字幕 | 欧美三级网址 | 欧美精品一二区 | 国产一区二区日本欧美精品久久久 | 午夜视频黄| 国产精品亚洲五月天高清 | 中文字幕日本 | 新婚之夜玷污岳丰满少妇在线观看 | 女人裸体做爰免费视频 | 中文字幕一区二区三区不卡 | 久久亚洲美女精品国产精品 | 色黄网站aaaaaa级毛片 | 青青视频二区 | av一二三四| www17com嫩草影院 | 黑人爱爱视频 | 色婷婷综合久久久久中文一区二区 | 亚洲欧美日韩精品永久在线 | 韩国三级hd中文字幕叫床浴室 | 中文字幕一区二区人妻电影 | 国产91精品一区二区绿帽 | 香蕉视频免费在线观看 | 国产精品永久免费视频 | 丰满少妇久久久久久久 | 国产成人无码精品久久久免费 | 人妻久久久一区二区三区 | 国产精品夜夜春夜夜爽久久小 | 久久一卡二卡三卡四卡 | 亚洲国产精品久久久久爰色欲 | 五月婷婷婷婷 | 日韩不卡视频在线观看 | 亚洲天天摸日日摸天天欢 | 午夜伦情 | 国产精品999. | 成人精品少妇免费啪啪18 | 免费无码国产欧美久久18 | 国产乱了真实在线观看 | 日韩欧美国产片 | 麻豆精品影院 | 成人123区 | 桥本有菜aⅴ一区二区三区 桥本有菜免费av一区二区三区 | 午夜在线观看影院 | 一区二区三区欧美 | 99re热视频这里只精品 | 亚洲国产另类久久久精品小说 | 99精品国产在热久久无码 | 国产嫩草一区二区三区在线观看 | 久久精品96入口 | 成人免费高清在线观看 | 国模欢欢炮交啪啪150 | 欧美日性视频 | 人妻精品久久无码专区精东影业 | 日日噜噜夜夜狠狠久久丁香五月 | 波多野吉衣一区二区三区 | 国产精品成人av片免费看 | 日本二区视频 | 极品少妇xxxx | 乱人伦人妻中文字幕无码久久网 | 波多野结衣在线视频免费观看 | 久久久午夜精品福利内容 | 蜜桃av色偷偷av老熟女 | 在线看片无码永久免费视频 | 久久www香蕉免费人成 | 91超薄肉色丝袜交足高跟凉鞋 | 国产污视频 | 96精品视频| 久久精品国产欧美亚洲人人爽 | 国产精品91久久 | 中文字幕在线观看 | 国产精品免费久久久久影院仙踪林 | 婷婷开心激情综合五月天 | 五月婷婷社区 | 91精品国产色综合久久久蜜香臀 | 男女啪啪做爰高潮无遮挡 | 377p日本欧洲亚洲大胆张筱雨 | 在线观看日韩欧美 | 国产成人一区二区三区在线 | 操操操网站 | 亚洲永久网站 | 国产成人综合一区二区三区 | 色噜噜狠狠色综合av | 成年网站在线播放 | 日批免费观看视频 | 8ppav| 国产综合视频一区二区三区 | 中文字幕免费中文 | 欧美成人看片一区二区三区尤物 | 亚洲天堂视频网 | 久久久精品2019免费观看 | 超级碰碰色偷偷免费视频 | 高清免费毛片 | 成人中文字幕在线观看 | 性生交大片免费全毛片 | 精品国产一区二区三区久久久蜜臀 | 久久一久久| 国产99久久九九精品的功能介绍 | 中文字幕18页 | 欧美成人无尺码免费视频软件 | 日本三级视频在线观看 | 妞妞av| 激情网av| wwwa级片| 国产在线黄 | 国产www在线 | 亚欧美一区二区三区 | 亚洲va欧美va国产综合定档 | 亚洲乱码伦av | 国产精品高潮露脸在线观看 | 韩国三级一区 | 亚洲天堂资源在线 | 久久久亚洲精华液精华液精华液 | 亚洲精品久久激情国产片 | 少妇高跟鞋做爰20p 少妇和黑人老外做爰av | 影音先锋女人av鲁色资源网久久 | 日韩午夜影院 | 久久99久国产精品黄毛片入口 | 久久精品国产99久久久古代 | 无码aⅴ精品一区二区三区浪潮 | www国产视频com| 无码专区亚洲综合另类 | 影音先锋中文字幕无码 | 国产乱码日产乱码精品精 | 日本视频高清一区二区三区 | 天堂中文在线观看视频 | 国产免费观看久久黄av片 | 成 人色 网 站 欧美大片在线观看 | 国产日韩欧美亚欧在线 | 森泽佳奈作品在线观看 | 色播亚洲 | 日本乳奶水流出来高清xxxx | 久久国产av影片 | 国产在线h | 日本久久久久 | 午夜成人爽爽爽视频在线观看 | 粉嫩粉嫩一区性色av片 | 亚洲免费观看 | 中文字幕老妇偷乱视频在线小说 | 国产精品久久久久一区二区三区 | 99久久中文字幕三级久久日本 | 成人久久一区 | 性色欲情网站iwww | 九九精品九九 | 久久精品国产精品亚洲艾草网 | 天天操操| 91porn破解版| 国产精品一级视频 | 亚洲伊人久久大香线蕉综合图片 | 大片免费在线观看视频 | 亚洲成人免费看 | 西西久久| 国产麻豆精品一区二区三区v视界 | 日本大尺度吃奶做爰久久久绯色 | 黄av在线 | 久久精品无码一区二区无码 | 欧美久久精品 | 99re最新| 国产精品久久久久久无人区 | 国产成人福利视频 | 天堂av在线中文 | caoporn视频在线 | 色网站在线 | 极品尤物一区二区 | 8x8ⅹ8成人免费视频观看 | 国产拍拍拍拍拍拍拍拍拍拍拍拍拍 | 女人下边被添全过视频 | 中文字幕乱码在线观看 | 亚洲情侣偷拍激情在线播放 | 成人在线视频中文字幕 | 欧美亚洲专区 | 亚洲精品成人av在线观看爽翻天 | 欧美国产日韩在线视频 | 全部a∨一极品视觉盛宴 | 手机成人在线 | 国产精品国产三级国产专播精品人 | 国产精品爽爽久久久久久 | 古装一级淫片a免费播放口 寡妇av | 精品国产免费久久久久久尖叫 | 国产成人精品一区二三区四区五区 | 国产亚洲无 | 最新精品在线 | 好大好爽cao死我了bl | 国产精品无码一区二区在线看 | 命带桃花1987在线 | 成人黄色免费观看 | 国产欧美一区二区三区不卡视频 | 国产精品熟女人妻 | 久久人妻少妇嫩草av | av无码不卡一区二区三区 | 鲁一鲁在线视频 | 91制服诱惑 | 久久免费一级片 | 后进极品圆润翘臀在线播放 | 亚洲性一区 | 日本在线视频www | 黄色a级大片 | 国产精品6999成人免费视频 | 欧美青青草 | 成年人免费网站 | 久久久水蜜桃 | 18禁无遮挡羞羞污污污污网站 | 国内福利视频 | 亚洲成人av免费在线观看 | 精品无人国产偷自产在线 | 欧美日韩精品一区二区视频 | 国产第4页 | 最新av免费 | 韩国三级视频 | 国产偷窥老熟盗摄视频 | 91在线丨porny丨国产 | 国产日产欧产精品精乱了派 | 女女互磨互喷水高潮les呻吟 | 国产又粗又猛又大爽 | 四川少妇xxx奶大xxx | 日韩欧美视频二区 | 人人色视频| 婷婷四房综合激情五月 | 国产熟妇勾子乱视频 | 首尔之春在线 | 欧美少妇一级片 | 中出一区 | 日本少妇毛耸耸毛多水多 | 神宫寺奈绪一区二区三区 | 日本在线一级 | xx在线视频 | 国产伦精品一区二区三区 | 天堂资源中文 | 九九视频精品在线 | 天天爽夜夜爽人人爽 | 99国产精品久久久久久久日本竹 | 91网站观看 | 国产黄免费 | 自拍1区 | 人人妻人人澡人人爽精品欧美 | 国产午夜福利精品一区二区三区 | 亚洲无限观看 | 国产精品久久久久久久久久王欧 | ,国产精品国产三级国产 | 国产亚洲精品岁国产微拍精品 | 国产成人久久精品77777综合 | 欧美日韩aa | 午夜免费福利在线观看 | 朝鲜大乳女奶水奶水吃奶视频在线 | 久久久久se色偷偷亚洲精品av | 国产a一级| 亚洲免费久久 | 精品国产一区二区三区久久狼5月 | 红杏出墙记 | 深夜免费福利 | 免费在线观看成年人视频 | 日本一级淫片免费看 | 国产精品久久一区二区三区动漫 | 操操网av| 成人性生交大全免费中文版 | 日本特黄特刺激一级猛片 | 九一亚色视频 | 综合久久影院 | 黄色片子看看 | 日本视频h | 亚洲女人初尝黑人巨大 | 欧美激情校园春色 | 午夜国内精品a一区二区桃色 | 在线观看污视频网站 | 中文字幕日韩在线观看 | 精品一区二区在线观看视频 | 99国产精品国产免费观看 | 先锋av在线资源 | 中文人妻无码一区二区三区在线 | 日韩特黄色片子看看 | 久久中文字幕视频 | 最近免费中文字幕mv在线视频3 | 日本乱妇乱子视频 | 九九热爱视频精品视频 | 激情综合网五月婷婷 | 欧美丰满一区二区免费视频 | 亚洲欧洲日产国码av老年人 | 久久精品国产一区二区电影 | 在线免费观看中文字幕 | 亚洲va中文在线播放免费 | 超碰美女在线 | 欧美精品一级二级三级 | 三级网站在线播放 | 久久亚洲国产成人精品无码区 | 奴色虐av一区二区三区 | 久久婷婷五月综合97色直播 | 午夜精品在线观看 | 三级精品视频 | 日本aⅴ免费视频一区二区三区 | 欧美牲交a欧美牲交aⅴ一 | 人人狠狠综合久久亚洲婷婷 | 国产精品久久久久久久久久不蜜月 | 午夜剧场欧美 | 免费少妇荡乳情欲视频 | 人人舔人人爽 | 69久久精品 | 无码精品国产va在线观看 | 成年在线视频 | 91欧美在线| 亚洲精品国产精品自产a区红杏吧 | 98在线视频 | 天天插天天色 | 欧美第一黄网免费网站 | 国内少妇毛片视频 | 国产黄色片在线观看 | 欧美bbbbb| 4438国产精品一区二区 | 色激情五月 | 亚洲欧洲日韩av | 国模小丫大尺度啪啪人体 | jvid福利写真一区二区三区 | 国产在热线精品视频 | 久操网站| 亚洲国产精品日本无码网站 | 亚洲国产成人精品久久 | 一区二区三区亚洲欧美 | 久久99国产综合精品免费 | 亚洲欧美日本国产高清 | 日本伦理一区 | 99久久精品国产成人一区二区 | 午夜久久久久 | zzjizzji亚洲日本少妇 | 日韩国产亚洲欧美 | 精品无码成人片一区二区98 | 丝袜美腿av在线 | 国产亚洲成av人在线观看导航 | 久久精品国产一区二区三区不卡 | 婷婷射丁香 | 日韩欧美视频一区二区三区 | 欧美另类xxxxx | 亚洲欧美激情精品一区二区 | 四虎色| 久久久久人妻一区精品性色av | 天堂视频在线免费观看 | 久久人人爽人人爽人人片av高清 | 真实国产精品视频400部 | 久久久久久久成人 | 久久伊人精品一区二区三区 | 成人精品在线视频 | 国产国语性生话播放 | 日本美女a级片 | 日批网站在线观看 | 福利视频第一页 | 狠狠激情 | 九草在线 | 国产露脸无套对白在线播放 | 丁香六月伊人 | 老女人性视频 | 国产精品久久久久久av免费看 | 国产精品久久久区三区天天噜 | 成人无码视频在线观看网址 | 亚洲一区二区三区婷婷 | 国产偷国产偷亚洲清高网站 | 97在线观看免费观看高清 | 亚洲男人第一无码av网站 | 特级a老妇做爰全过程 | 国产精品婷婷午夜在线观看 | 日本女人黄色 | 浪潮av激情高潮国产精品 | 高清日韩av | 亚洲精品久久久久999中文字幕 | 婷婷久久综合九色综合 | av在线专区| 亚洲影院丰满少妇中文字幕无码 | 日本中文字幕一区二区有码在线 | 欧美精品色哟哟 | 精品乱码久久久久久中文字幕 | 波多野42部无码喷潮在线 | 日本韩国免费观看 | 国产成人精品一区二区三区网站观看 | 亚洲精品久久久久久久小说 | xxxⅹ少妇少妇xxxx | 亚洲国产精品日韩av不卡在线 | 亚洲欧洲视频在线 | 日韩一区二区三区视频 | 黑人操亚洲女 | 激情综合网五月婷婷 | 成人免费看片&#39; | 免费在线看a | 不卡av在线播放 | 国产精品99久久久久久董美香 | 免费播放一区二区三区 | 精品毛片乱码1区2区3区 | 国产精品九九热 | 中国字幕av | 成人国产在线视频 | 美女的尿囗网站免费 | 国产精品丝袜久久久久久不卡 | 丰满少妇大力进入av亚洲葵司 | 日本精品少妇一区二区三区 | 麻豆国产成人av高清在线 | 成人重囗味sm| 桃色视频.m3u8 | 国产精品丝袜美腿一区二区三区 | 国产午夜禁区精品视频 | 性少妇xxxxx 性少妇裸体野外性xxxhd | 国产精品有码无码av在线播放 | 99精品成人| 在线免费精品视频 | 性生交大片免费看 | 蜜桃一本色道久久综合亚洲精品冫 | 草草影院第一页yycc.com | www.国产com| 国产成人无码a区在线观看视频app | 蜜乳av中文 | 国产精品一区二区三乱码 | 人禽伦免费交视频播放 | 日韩精品一区二区三区 | 国产涩涩视频在线观看 | 亚洲黄色录像片 | 成年人的黄色片 | 欧美图片一区二区 | 丰满的人妻hd高清日本 | 亚洲免费一级 | 黄片a级毛片| 天天射中文 |