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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

ts可展开注释_TS语法之装饰器(注解)

發布時間:2024/4/14 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ts可展开注释_TS语法之装饰器(注解) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫在前面的話

本文只講解 TypeScript 中的裝飾器語法(下稱注解), 只會告訴你如何編寫一個自定義注解,且通過注解簡單的修改邏輯,不涉及 反射 或 元編程 等其他更進一步的代碼講解,如果有興趣可以自行搜索相關的進階寫法,比如這位:

開始

注1:裝飾器僅用于 class 語法中,所以以下舉例中只會使用 class 寫法。(其實是我只測試了 class 語法中的使用,而且也沒必要在普通方法上使用注解)

注2:tsconfig.json 中 target 必須為 ES5 或以上版本。且 experimentalDecorators 與 emitDecoratorMetadata 字段需為 true

由于我們寫的是 TypeScript,我們首先定義幾個 interface 和 type ,讓 IDE 有一些基本提示:

type Prototype = {

constructor: Function

} & any

?

type Constructor = { new(...args: any[]): {} };

?

interface FunctionAnnotation {

(target: Prototype, propertyKey: PropertyKey, descriptor: TypedPropertyDescriptor): void;

}

?

interface ConstructorAnnotation {

(constructor: T): T;

}

?

interface PropertyAnnotation {

(target: Prototype, propertyKey: PropertyKey): void;

}

?

interface ParameterAnnotation {

(target: Prototype, propertyKey: PropertyKey, parameterIndex: number): void;

}

?

其中,PropertyKey 和 TypedPropertyDescriptor 都在 lib.es5.d.ts 文件中有定義,其值為:

declare type PropertyKey = string | number | symbol;

interface TypedPropertyDescriptor {

enumerable?: boolean;

configurable?: boolean;

writable?: boolean;

value?: T;

get?: () => T;

set?: (value: T) => void;

}

如果有人不喜歡泛型寫法,也可以將 TypedPropertyDescriptor 替換成 PropertyDescriptor

interface PropertyDescriptor {

configurable?: boolean;

enumerable?: boolean;

value?: any;

writable?: boolean;

get?(): any;

set?(v: any): void;

}這里使用泛型僅僅是因為我不喜歡 any,Prototype 類型中加上 any 是因為沒有辦法只能用 any,原因是類型定義中沒有辦法用 symbol 類型的值定義成 key,否則就可以寫成 type Prototype = {[key: string]: Function; [key: number]: Function; [key: symbol]: Function;} 了

如果有人不知道 PropertyDescriptor 是干嘛的,請參考 Object.defineProperty()

下面我們直接用例子教你如何自定義一個注解。

方法注解

寫法:

export function logFuncCall(): FunctionAnnotation {

return function (target, propertyKey, descriptor) {

if (typeof descriptor.value === "function") {

let value: Function = descriptor.value;

// @ts-ignore

descriptor.value = function (...args: any) {

console.log(`${Date()} ${target.constructor.name}["${String(propertyKey)}"] be Called`);

return value.call(this, ...args);

};

}

};

}

注:若注解中需要傳入參數,參考正常方法的寫法添加需要的參數即可,不贅述。(注解與正常方法的區別僅僅在于方法調用前面多了一個@符號而已)

參數詳解:target:被注解類的 prototype ,本例中為 Test.prototype,如果被注解的方法是靜態方法,則為類本身,也就是 Test

propertyKey:被注解的方法名,本例中為 method

descriptor:屬性描述,參考 Object.defineProperty(o, p, attributes)中 attributes 參數

需要注意的是,如果注解中不需要傳入任何參數,則可以省略注解中最外層的一層方法,變成如下:

export function logFuncCall(target, propertyKey, descriptor) {

if (typeof descriptor.value === "function") {

let value: Function = descriptor.value;

// @ts-ignore

descriptor.value = function (...args: any) {

console.log(`${target.constructor.name}["${String(propertyKey)}"] be Called`);

return value.call(this, ...args);

};

}

}

這時,注解則可以寫成 @logFuncCall 的形式(去掉了括號),否則括號不能省略。下同,不再贅述。本文并未采用省略寫法。

直接編譯調試運行如下代碼:

class Test {

@logFuncCall()

method() {}

}

let t = new Test("ttt");

t.method();

這時,控制臺中會輸出:

Test["method"] be Called

Getter/Setter注解

同 方法注解;

與方法注解的區別在于,Getter/Setter 注解的 descriptor 中只有對應的 get 和 set 字段,而 value 字段為 undefined,而方法注解只中有 value 字段,而 get 和 set 字段為 undefined

所以通用的方法注解應該如下:

export function logFuncCall(): FunctionAnnotation {

return function (target, propertyKey, descriptor) {

if (typeof descriptor.value === "function") {

let value: Function = descriptor.value;

// @ts-ignore

descriptor.value = function (...args: any) {

console.log(`${target.constructor.name}["${String(propertyKey)}"] be Called`);

return value.call(this, ...args);

};

}

if (typeof descriptor.get === "function") {

let get = descriptor.get;

descriptor.get = function () {

console.log(`${target.constructor.name}["get ${String(propertyKey)}"] be Called`);

return get.call(this);

};

}

if (typeof descriptor.set === "function") {

let set = descriptor.set;

descriptor.set = function (value) {

console.log(`${target.constructor.name}["set ${String(propertyKey)}"] be Called`);

set.call(this, value);

};

}

};

}

類注解

寫法:

export function logCreate(): ConstructorAnnotation {

return (constructor: T) => {

return class extends constructor {

constructor(...args: any[]) {

console.log(`${Date()} ${constructor.name} new an instance`);

super(...args);

}

};

};

}

參數詳解constructor:被注解類的原對象,而不是類的 prototype

上面這種寫法適用于大部分情況,類似于繼承了被注解的類

如果你不希望任何人重寫此類的方法,可以用如下的匿名寫法:(在類的 constructor 方法中返回一個對象,則 new 對象時 this 指向該對象,而非類的實例)

export function logCreate(): ConstructorAnnotation {

return (constructor: T) => {

return class {

constructor(...args: any[]) {

console.log(`${Date()} ${constructor.name} new an instance`);

return new constructor(...args);

}

};

};

}

這種寫法需要注意的是:環境中被注解的類將會變為一個注解返回的匿名內部類,其不繼承于原先的類,在類外也無法調用原先類的所有方法,只有使用 new 新建對象后,才會返回一個原先類的對象(除非你在內部類中自己定義了靜態方法去調用原先類的靜態方法)

被這種寫法注解的類如果被繼承,則只能在構造函數中對自身做出一定修改,且所有靜態方法不可通過類名調用

屬性注解

寫法:

export function logGetSet(): PropertyAnnotation {

return function (target, propertyKey) {

let s = "_" + String(propertyKey);

Object.defineProperty(target, propertyKey, {

get() {

console.log(`get ${String(propertyKey)}`);

return this[s];

},

set(v) {

console.log(`set ${String(propertyKey)} => ${v}`);

this[s] = v;

},

configurable: true,

enumerable: true,

});

};

}

參數詳解target:參考方法注解

propertyKey:參考方法注解

注:propertyKey 是有可能為 symbol 或 number 類型的,所以 String() 大概率不能省略

這里需要注意的是:由于注解執行緊跟在類的定義之后,所以如果沒有在定義時賦默認值,則 target 中是不會有對應的屬性字段的,這時可以選擇自己定義 Getter/Setter 然后在其中編寫對應的方法,也可以選擇在項目中引入 import 'reflect-metadata',使用 反射-元數據 編程(參考本文開頭給出的鏈接 )

如果注解的是靜態字段,且在定義時就賦過值,則 target 中將會有對應的屬性字段且有值

參數注解

寫法:

export function logParam(): ParameterAnnotation {

return function (target, propertyKey, parameterIndex) {

...

};

}

參數詳解target:參考方法注解

propertyKey:參考方法注解

parameterIndex:被注解參數位置,從 0 開始

這里除了反射以外好像沒別的用法?或者跟方法注解聯動,畢竟方法也是對象,是可以保存參數的,案例:

export function logFuncCall(): FunctionAnnotation {

return function (target, propertyKey, descriptor) {

if (typeof descriptor.value === "function") {

let value: Function = descriptor.value;

// @ts-ignore

descriptor.value = function (...args: any) {

// @ts-ignore

value.logParam?.forEach(i => console.log(`第${i}參數: ${args[i]}`));

return value.call(this, ...args);

};

}

}

export function logParam(): ParameterAnnotation {

return function (target, propertyKey, parameterIndex) {

target[propertyKey].logParam = [...target[propertyKey].logParam ?? [], parameterIndex];

};

}

class Test {

@logFuncCall()

set(@logParam() log: string) {}

}

new Test.set("aaa")

> 第0參數: aaa

這樣同時注解 @logFuncCall() 和 @logParam 之后,就可以打印傳入的參數了

結尾

另外附上一些自己寫的小案例:

type Prototype = {

constructor: Function

__proto__: Prototype

} & any

?

/** (運行時)當父類中沒有對應方法時提示報錯 */

export function override(): FunctionAnnotation {

return (target, propertyKey) => {

if (target.__proto__?.[propertyKey] === undefined) {

console.error(`Method "${String(propertyKey)}" Not A Override Function`);

}

};

}

?

/** 自動調用父類的對應方法 */

export function autoCallSuper(): FunctionAnnotation {

return (target, propertyKey, descriptor) => {

if (typeof descriptor.value === "function") {

let value = descriptor.value;

if (typeof target.__proto__?.[propertyKey] === "function") {

// @ts-ignore

descriptor.value = function (...args: any) {

target.__proto__[propertyKey].apply(this, args);

return value.apply(this, args);

};

} else {

console.error(`${target.__proto__.constructor.name} No Function Name is "${String(propertyKey)}"`);

}

} else {

console.warn(`"autoCallSuper" Annotation Only Used On NormalFunction, Not Getter/Setter`);

}

};

}

測試案例:

@logCreate()

class A {

@logFuncCall()

a() {

console.log("A");

}

}

?

@logCreate()

class B extends A {

constructor() {

super();

this.a();

}

@logFuncCall()

@autoCallSuper()

a() {

console.log("B");

}

static b() {}

}

?

console.dir(B);

console.dir(new B());

B.b();

調試 log:

[class (anonymous) extends B] // console.dir(B);

B new an instance // new B()

A new an instance // super被調用

B["a"] be Called // 調用a方法

A["a"] be Called // 由于autoCallSuper,先調用super方法

A // super方法打印A

B // 重寫方法打印B

B {} // console.dir(new B());打印new出來的對象

Function["b"] be Called // B.b();

如果類注釋采用了匿名寫法,則 log 為:

[class (anonymous)] // 匿名類沒有繼承B

B new an instance // new B()

A new an instance // super被調用,但是返回了A對象,導致this指針變為了A對象的實例

A["a"] be Called // this.a()

A // 方法打印A

A {} // console.dir(new B());打印new出來的對象

Uncaught TypeError: B.b is not a function // 匿名類沒有繼承B,自然也就沒有B里的靜態方法,報錯

最后,小心溢出,不用

最后,性能太低,不用

最后,還沒成真的語法呢,不用

最后,編寫一時爽,debug火葬場

總結

以上是生活随笔為你收集整理的ts可展开注释_TS语法之装饰器(注解)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

天天干天天在线 | 免费高清影视 | 国产精品久久久久9999吃药 | 97超碰香蕉 | a级免费观看| av资源在线看 | 天天操天天射天天爱 | 91久久在线观看 | 99re亚洲国产精品 | 黄色成人av在线 | 在线观看色网站 | 日韩在线观看第一页 | 成年人视频在线观看免费 | 欧美激情综合五月色丁香小说 | 99精品视频在线观看视频 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 亚洲在线视频免费观看 | 午夜视频福利 | 西西大胆啪啪 | av三区在线 | ,久久福利影视 | 亚洲精品自在在线观看 | 久久精品国产v日韩v亚洲 | 96久久精品 | 99re国产视频 | 亚洲国产精品视频 | 久久久久免费观看 | 三三级黄色片之日韩 | 久久精品屋 | 91在线播放国产 | av官网| 久久久国产精品人人片99精片欧美一 | 国产成人精品在线 | 日韩在线观看视频一区二区三区 | 国内外成人在线 | 开心丁香婷婷深爱五月 | 亚洲精品国精品久久99热一 | 91在线观看高清 | 久久综合成人网 | 国产精品黑丝在线观看 | 中文字幕最新精品 | 久久精品电影院 | 99热99re6国产在线播放 | 日韩av免费一区二区 | 碰超在线 | 国产资源在线播放 | 中文乱码视频在线观看 | 日本激情视频中文字幕 | 国产精品18久久久久久久久久久久 | 久久成人精品电影 | 中文字幕在线一区观看 | 精品国产伦一区二区三区 | 狠狠干 狠狠操 | 欧美狠狠色 | 久久久国产电影 | 国产精品一区二 | 国产一级视频在线观看 | 黄色在线看网站 | 最近日本mv字幕免费观看 | 人人爽人人舔 | 国产精品免费麻豆入口 | 久久超碰99 | 天天操夜夜想 | 欧美一级片在线免费观看 | 欧美在线一二 | 中文字幕在线观看一区 | 成x99人av在线www | 成年人黄色大片在线 | 色欧美成人精品a∨在线观看 | 日韩免费电影网站 | 一级黄毛片 | 日精品| 欧美精品三级 | 97av在线视频 | 精品国产一区二区三区久久久蜜臀 | 999久久国产精品免费观看网站 | 日韩免费网站 | 亚洲欧美婷婷六月色综合 | 久久久96 | 一级黄色片在线免费观看 | 久 久久影院 | 中文字幕国内精品 | 欧美日韩精品在线免费观看 | 国产精品黑丝在线观看 | 蜜臀av一区二区 | 99久久99久国产黄毛片 | 欧美日韩亚洲第一页 | 久久精品久久精品久久 | ww视频在线观看 | 欧美精品久久久久久 | 色婷婷啪啪免费在线电影观看 | 国产五月色婷婷六月丁香视频 | 中文字幕精品一区 | 精品在线观看国产 | 91成年人在线观看 | 国产伦理久久 | 国产美女主播精品一区二区三区 | 天干啦夜天干天干在线线 | 97超碰.com| 国产精品免费麻豆入口 | 超碰在线99| 国产午夜精品久久久久久久久久 | 日韩精品2区| 天干啦夜天干天干在线线 | 亚洲最新视频在线播放 | 亚洲欧美视屏 | a久久久久| 免费在线观看日韩欧美 | 婷婷色av| 91精品视频一区二区三区 | 免费精品视频在线观看 | av中文资源在线 | 日日草天天干 | 国产高清av在线播放 | 在线观看日韩av | 日韩中文字幕免费电影 | 日p视频 | 久久视频免费观看 | 久久看免费视频 | 菠萝菠萝蜜在线播放 | 亚洲在线资源 | 99久久久国产精品免费99 | 久草网视频在线观看 | 亚洲精品国偷自产在线99热 | 国产精品毛片一区视频播不卡 | 中文字幕亚洲五码 | 9色在线视频| 成人国产电影在线观看 | 欧美性大战 | 国产一区在线视频观看 | 免费日韩一区二区三区 | 国产精品一区二区av | 最近日本字幕mv免费观看在线 | 国产成人一区三区 | 美女网站黄免费 | 天天操天天干天天操天天干 | 欧美精品在线一区二区 | 亚洲天堂网在线观看视频 | 国产一二区视频 | 国产午夜精品一区二区三区 | 超碰在线天天 | 99精品国产一区二区 | 91成人精品视频 | 国产精品一区二区三区久久 | 久久综合九色综合97婷婷女人 | 一区二区三区免费在线观看视频 | 久久久免费观看 | 国产精品2018 | 欧美三级免费 | 午夜精品一区二区三区在线播放 | 超碰精品在线观看 | 菠萝菠萝在线精品视频 | 九九免费精品视频在线观看 | 亚洲精品美女在线观看 | 91免费版成人 | 欧洲色吧| 日韩在线播放av | 日韩中文字幕网站 | 久久国产女人 | 国产 中文 日韩 欧美 | 综合精品久久 | 91精品综合在线观看 | 高清一区二区三区 | 日本丰满少妇免费一区 | 日韩在线视频网址 | www色com | 国产精品综合久久 | 婷婷综合成人 | 国产精品视频永久免费播放 | 日韩成人免费电影 | 国产亚洲成人精品 | 中文字幕在线观看一区二区三区 | 日本精品中文字幕在线观看 | 中文字幕av网站 | 99久久99久久精品 | 天天射天 | 国产在线观看你懂的 | 日韩精品无码一区二区三区 | 激情五月婷婷综合网 | 999久久久久久久久久久 | 亚洲天堂网在线视频观看 | 日韩字幕在线观看 | 一区二区精品视频 | 一级片免费视频 | 国产韩国日本高清视频 | 国产精品久久久一区二区 | 黄色特一级 | 日日干网 | 黄色一级免费 | 麻豆高清免费国产一区 | 久久久久久毛片精品免费不卡 | 黄色av免费电影 | 色久天| 精品一二三四在线 | 日韩久久精品一区二区 | 成人97视频一区二区 | 亚洲成av人片一区二区梦乃 | 亚洲日本在线视频观看 | 欧美一级日韩三级 | 色综合天天综合 | 国产手机视频 | 九九热在线视频免费观看 | 国产一区二区三区 在线 | 在线观看视频h | 欧美日视频 | 国产成人免费高清 | 色一级片| 青青草华人在线视频 | 日韩伦理片一区二区三区 | 91av视频在线播放 | 一级精品视频在线观看宜春院 | 精品视频免费 | 亚洲人久久久 | 狠狠色丁香婷婷综合久久片 | 国产一级免费片 | 色五月成人 | 色综合久久中文字幕综合网 | av资源在线观看 | 精品女同一区二区三区在线观看 | 国产中文字幕一区二区三区 | 欧美网址在线观看 | 日韩视频免费观看高清 | 精品中文字幕在线播放 | 国产成人在线免费观看 | 99视频国产精品 | 在线观看av的网站 | 天天射天天干天天 | 六月婷操 | 国产又粗又猛又色又黄网站 | 伊人天天操 | 国产精品国产亚洲精品看不卡 | 欧美日韩在线观看视频 | 日韩欧美视频免费在线观看 | 久久久久久久久久影视 | 日韩高清一区在线 | 伊人干综合 | 91九色在线观看视频 | 成人av动漫在线观看 | 久久精品亚洲 | 免费 在线 中文 日本 | 99久热在线精品视频 | 不卡视频国产 | 中文字幕在线看片 | 久草97| 午夜av不卡 | 欧美精品国产综合久久 | 四虎8848免费高清在线观看 | 天堂av免费 | 91中文字幕在线 | 日日夜夜噜噜噜 | 成人免费大片黄在线播放 | 在线播放亚洲 | 免费高清在线视频一区· | 国产精品久久久亚洲 | 亚洲自拍偷拍色图 | 国产精品丝袜久久久久久久不卡 | 久免费视频 | 六月丁香在线视频 | 国产看片免费 | 91精品国产综合久久福利不卡 | 成 人 a v天堂 | 在线观看aa| 亚洲精品午夜久久久久久久 | 亚洲女欲精品久久久久久久18 | 中文字幕一二 | 国产精品九九九九九九 | 天天操天天操天天操天天操天天操天天操 | 久久国产片 | 国产主播大尺度精品福利免费 | 一级电影免费在线观看 | 国产一级大片在线观看 | 国产aa精品 | 天天天色综合 | 国产精品欧美精品 | 久久大片网站 | 草草草影院 | 久久综合免费视频影院 | 在线观看小视频 | 四虎永久精品在线 | 国产这里只有精品 | 国产色网 | 国产xxxx做受性欧美88 | 婷婷播播网 | 最新国产精品视频 | 一区二区视频免费在线观看 | 97精品伊人 | 日韩视频一区二区在线观看 | 久久久午夜精品理论片中文字幕 | 免费在线观看不卡av | 国产精品成人av在线 | 人人草在线观看 | 在线看黄色av | 91视频在线免费看 | 天天操天天操天天操天天操天天操 | 久久免费视频这里只有精品 | 17婷婷久久www | 国产精品一区在线播放 | 热久久国产精品 | 日韩成人在线一区二区 | 国产一级91 | 天天操天天操天天操天天操天天操天天操 | 日韩大片在线观看 | 国产一区二区在线精品 | 国产伦精品一区二区三区无广告 | 在线亚洲成人 | 日本黄区免费视频观看 | 日韩av电影手机在线观看 | 中文字幕在线视频网站 | 午夜影院在线观看18 | 国产一区在线观看免费 | 欧洲精品视频一区 | 国产亚洲精品久久久久久网站 | 四虎在线影视 | 亚洲成人精品 | 日韩激情影院 | 免费亚洲精品视频 | 亚洲精品白浆高清久久久久久 | 久久久久这里只有精品 | 午夜色性片 | 免费精品视频在线观看 | 男女男视频 | 国产精品成久久久久三级 | 亚洲最大av | 精品国产一区二区三区四区在线观看 | 九九视频在线 | 婷婷久久一区 | 一区二区视频在线看 | 中文国产字幕 | 日韩黄色免费在线观看 | 久久久久免费精品国产小说色大师 | 天堂av在线中文在线 | 亚洲成人av电影在线 | 日韩91av| 免费激情网 | 天天操天天操天天操天天操天天操天天操 | 亚洲精品www| 色综合久久久久综合体桃花网 | 在线不卡a | 国产精品不卡在线观看 | 九九视频网站 | 欧美少妇bbwhd | 伊人婷婷激情 | 久久精品a | 天天久久夜夜 | 91av大全 | 亚洲视频在线观看 | 日韩影视大全 | 欧美性色黄大片在线观看 | 高潮久久久久久久久 | 国内久久久久久 | 欧美久久综合 | 国产一区二区在线观看视频 | 亚洲最新毛片 | 亚洲欧美婷婷六月色综合 | 久久精品艹 | 九九久久久久久久久激情 | 婷婷视频在线播放 | 在线亚州 | 国产精品久久久久久妇 | 一本一本久久a久久精品牛牛影视 | 欧美一区二区在线免费看 | 99久久久久免费精品国产 | 999抗病毒口服液 | 久久久久电影网站 | 免费看一级 | 精品国模一区二区 | 久久精品影视 | 五月天堂色 | 热久久国产 | 久视频在线| 国产精品久久久av | 国产 在线 日韩 | 欧美精品一区二区三区一线天视频 | 91人人爽人人爽人人精88v | 婷婷在线播放 | 国产综合小视频 | 九九99靖品 | 国产艹b视频 | 日本黄色a级大片 | 久久99国产精品久久 | 国产精品久久久久久爽爽爽 | 成人黄大片视频在线观看 | a在线观看免费视频 | 天堂av免费 | 国产欧美精品一区二区三区 | 美国av大片| 色全色在线资源网 | 在线视频你懂 | 精品免费视频 | 中文字幕观看视频 | 国产在线精品一区二区不卡了 | 91c网站色版视频 | 349k.cc看片app | 久久精品免费播放 | 亚洲精品动漫久久久久 | 日韩精品第一区 | av黄色免费网站 | 国产精品久久在线观看 | 久久久亚洲影院 | 97在线免费视频观看 | 国产中文字幕av | 国色天香永久免费 | 91污污 | 一区二区欧美激情 | 色在线国产| 国产精品久久久久久久久久白浆 | 91激情在线视频 | 国产乱对白刺激视频在线观看女王 | 精品久久久久久久久中文字幕 | 天堂黄色片 | 日韩av片免费在线观看 | 国产免费又粗又猛又爽 | 免费一级片视频 | 国产在线播放一区二区三区 | 日韩在线视频免费看 | 在线亚洲小视频 | 看片黄网站 | 国产色在线观看 | 国产传媒一区在线 | 狠狠色伊人亚洲综合成人 | www亚洲视频 | 中文字幕亚洲精品日韩 | 国产精品精品国产色婷婷 | 国产精品视频区 | 五月婷婷一区 | 91亚洲永久精品 | 日韩免费高清在线观看 | 美女福利视频网 | 精品国产一区二区三区av性色 | 97成人精品视频在线播放 | 狠狠色婷婷丁香六月 | www.在线看片.com | 日本精品va在线观看 | 草久视频在线观看 | 一区二区三区四区五区在线 | 丁香五月网久久综合 | 日日日日日 | 伊人久久国产 | 欧美中文字幕久久 | 国产美女无遮挡永久免费 | 西西444www大胆无视频 | 99综合电影在线视频 | 免费观看日韩 | 欧美日韩精品在线一区二区 | 97色在线视频 | 97碰在线视频 | 久久久久久久久久久久影院 | 在线观看免费黄视频 | 黄色毛片视频免费观看中文 | 亚洲精品视频网 | 免费精品人在线二线三线 | 免费一区在线 | 久久免费激情视频 | 国内精品久久久久久久久久久久 | 亚洲va综合va国产va中文 | 欧美一级日韩三级 | 91精品视频免费在线观看 | 国产精品视频内 | 在线观看视频你懂的 | 粉嫩av一区二区三区四区五区 | 99视频在线精品国自产拍免费观看 | 美女精品在线观看 | 国产日韩视频在线播放 | 在线中文字母电影观看 | 91刺激视频| 天天爱天天射天天干天天 | 97品白浆高清久久久久久 | 91精品黄色| 免费观看日韩 | 中文字幕精品在线 | 久久精品第一页 | 中文字幕视频免费观看 | 成年人免费看片 | 国产精品一区在线播放 | 中文字幕av全部资源www中文字幕在线观看 | 久久久国产电影 | 99久久er热在这里只有精品15 | 国产视频18| 在线黄色国产 | 黄色免费网站大全 | 草久在线视频 | avwww在线观看 | 亚洲精品乱码久久久久久高潮 | 2019天天干天天色 | 日韩一区二区三区高清在线观看 | 欧美日韩国产一区二区三区在线观看 | 亚洲成aⅴ人片久久青草影院 | 91日韩国产| 狠狠狠狠狠操 | 久久中文精品视频 | 美女久久一区 | 国产精品国内免费一区二区三区 | 成人h动漫在线看 | 久久成人免费电影 | 97超碰成人| 91视频下载| 久艹在线观看视频 | 狠狠色综合欧美激情 | 热99在线视频 | 午夜少妇一区二区三区 | 97超碰在线久草超碰在线观看 | 国产区精品区 | 中文字幕一区二区三区久久 | 精品国产一区二区三区久久 | 国产高清在线免费视频 | 国产精品毛片久久蜜 | 九九久久婷婷 | 狠狠色丁香久久婷婷综合五月 | 色婷婷亚洲综合 | 欧美日韩不卡一区二区三区 | 97国产大学生情侣白嫩酒店 | 毛片区 | 亚洲综合视频在线播放 | 午夜av电影院 | 国产精品com| 丁香婷婷激情网 | 色婷婷综合成人av | 乱子伦av| 久久天天拍 | 午夜精品一区二区三区在线播放 | 欧美色综合天天久久综合精品 | 久久久久亚洲精品国产 | 天堂av在线中文在线 | 黄在线免费观看 | 一级黄色片在线 | 国产成人一级 | 最近中文字幕大全 | 69av视频在线观看 | 日本公妇在线观看高清 | 手机av观看 | 久草免费色站 | 国产精品久久久久久久久久妇女 | 在线成人看片 | 国产一区二区免费 | 777xxx欧美| 91中文字幕在线视频 | 亚洲第一av在线 | 天天在线视频色 | 久草在线最新免费 | 国产精久久久久久久 | 国产精品第一 | 欧美日韩一区二区三区免费视频 | 国产一区二区三区黄 | 波多野结衣在线视频免费观看 | 国产成人一区三区 | 久久精品超碰 | 永久精品视频 | 91精品成人久久 | 欧美一区二区三区激情视频 | 免费久久99精品国产婷婷六月 | 91cn国产在线 | 99久久婷婷国产一区二区三区 | 国产成人福利在线观看 | 成人中文字幕+乱码+中文字幕 | 一区二区三区视频网站 | 久久婷婷国产 | 爱av在线网 | a色网站| 久久久久综合 | 天天做夜夜做 | 在线免费黄色毛片 | 日日爱视频| 操久久免费视频 | 最近2019中文免费高清视频观看www99 | 丁香六月综合网 | 中文字幕在线观 | 六月天综合网 | 91中文字幕网 | 日韩在线电影一区二区 | 超碰人人射 | 中文一二区 | 欧美精品第一 | 亚洲黄色软件 | 亚洲1区 在线 | 久久久精品电影 | 亚洲欧美日韩国产一区二区三区 | 久久综合成人网 | 国产天天综合 | 91精品久久久久久久99蜜桃 | 日本久热 | 成年人电影免费在线观看 | 91插插插网站 | 亚洲欧美在线观看视频 | 九九导航| 欧美日韩另类在线 | 天天爱综合 | 亚洲精品tv | 人人爽人人澡人人添人人人人 | 一级黄色片在线 | 黄色大片入口 | 最新婷婷色| 日韩欧美高清一区二区三区 | 国产色爽 | 人人玩人人添人人澡超碰 | 亚洲午夜精品久久久久久久久久久久 | 日本久久免费电影 | 激情伊人五月天久久综合 | www日韩在线观看 | 精品国产乱码一区二区三区在线 | 国产在线精品视频 | 粉嫩一二三区 | 欧美激情在线网站 | 操操操av | 欧美一级激情 | 日韩久久久久久 | 久久成人欧美 | 天天色天天综合 | 最新日韩电影 | 欧美激情视频久久 | 久久99精品久久久久婷婷 | 日韩在线二区 | 国产精品第52页 | 欧美久草视频 | 亚洲涩涩网站 | 91麻豆国产福利在线观看 | 91高清在线看| 日韩av电影中文字幕 | 成人黄性视频 | 天天色棕合合合合合合 | 毛片一区二区 | 日日骑| 亚洲精品人人 | 人人射人人射 | www.色婷婷.com| 综合影视 | 人人舔人人射 | 久久伊人热 | 在线观看岛国片 | 亚洲精品av中文字幕在线在线 | 懂色av懂色av粉嫩av分享吧 | 国产精品久久久久久久久久不蜜月 | 人人草人 | 国产一区二区久久 | 国产精品精品久久久久久 | 久久久久久久久久电影 | 黄色片网站av | 尤物97国产精品久久精品国产 | 国产精品久久久久久久电影 | 96av在线| 日日夜夜天天射 | 亚洲 欧美 国产 va在线影院 | 欧美日韩免费视频 | 麻花豆传媒mv在线观看 | 国产精品综合久久 | 丰满少妇在线观看 | 在线免费看黄网站 | 色综合久久88 | 在线观看黄污 | 99999精品 | 久草国产精品 | 日本中文在线播放 | 欧美精品网站 | 亚洲国产操 | 色黄www小说 | 久久久久免费 | 欧美日性视频 | 欧美成人aa | 天操夜夜操| 波多野结衣资源 | 国产高清在线永久 | 精品国产乱码久久久久久天美 | 久久婷婷影视 | 91麻豆精品久久久久久 | 99 色| 国产69久久久欧美一级 | 日日干夜夜骑 | 日韩大片免费在线观看 | 一区二区视频在线看 | 天天射天天舔天天干 | 精品免费观看视频 | 日韩大陆欧美高清视频区 | 婷婷免费在线视频 | 国产精品视频地址 | 深爱激情开心 | 欧美怡红院视频 | 久久免费视频3 | 一个色综合网站 | 一区二区三区动漫 | 欧美日韩a视频 | 五月激情婷婷丁香 | 激情校园亚洲 | 最近2019好看的中文字幕免费 | 精品专区一区二区 | 91视频xxxx| 欧美成人影音 | 国产成人精品福利 | 韩国精品一区二区三区六区色诱 | 丁香在线观看完整电影视频 | 在线日韩av | 91精选在线观看 | 在线观看视频国产一区 | 色多多污污在线观看 | 国产aaa免费视频 | 国产高清久久 | 成人av在线影视 | 国产精品一区二区白浆 | 五月婷婷操 | 国产成人久久77777精品 | 亚洲国产视频在线 | 黄色小说视频网站 | 国产一二三区在线观看 | 精品国产成人av在线免 | 日日夜夜噜噜噜 | 国产最新视频在线观看 | 亚洲综合一区二区精品导航 | 色爱成人网 | 精品国产乱码久久久久久1区2匹 | 天天插天天干天天操 | 精品一区二区精品 | 99精品在线免费在线观看 | 免费在线播放av电影 | 黄色小说视频网站 | 久草久草在线 | 色资源二区在线视频 | 黄色av高清 | 成人一级免费视频 | 99视频+国产日韩欧美 | 亚洲成av人片在线观看www | 国产高清在线免费观看 | 国产91全国探花系列在线播放 | 亚洲黄色av网址 | 久久99国产视频 | 亚洲综合色丁香婷婷六月图片 | 久久精品免费看 | 久久99精品久久久久久秒播蜜臀 | 91一区二区三区久久久久国产乱 | 精品视频国产一区 | 久草精品视频在线看网站免费 | 涩五月婷婷 | 国产免费久久久久 | 黄色av电影免费观看 | 成人在线播放免费观看 | 亚洲成人av一区二区 | 国产特级毛片aaaaaa | 国产精品6| 久草在线视频首页 | 麻豆视传媒官网免费观看 | 色七七亚洲影院 | 久久99精品视频 | 超级碰碰碰免费视频 | 亚洲精品国产精品国自产在线 | 国产精品免费久久久久久 | 亚洲电影黄色 | 手机在线中文字幕 | 中文字幕免费在线 | 国产999视频在线观看 | 一区在线观看 | 99精品视频免费在线观看 | 超碰97人人爱 | 黄色亚洲精品 | 美女视频黄在线观看 | 精品一区二区三区久久久 | 九九爱免费视频 | 久久高清av | 激情av一区二区 | 国产成在线观看免费视频 | 欧美精品在线观看免费 | 国产91欧美 | 中文久草 | 在线免费观看成人 | 国产精品va在线观看入 | 天天激情综合 | 伊人中文在线 | 成人a视频在线观看 | 色播99| 欧美精品一区二区在线播放 | 国产精品成人在线观看 | 亚洲欧洲久久久 | 天天色天天操综合 | 99草在线视频 | 四虎成人免费影院 | 亚州日韩中文字幕 | a午夜在线 | 91av中文字幕 | 97电院网手机版 | 成 人 黄 色 视频免费播放 | 国产小视频精品 | 色黄久久久久久 | 久久久久久视频 | 精品日韩中文字幕 | 日韩成人在线一区二区 | 国产免费又爽又刺激在线观看 | 婷婷久月| 日韩av在线资源 | 深爱激情站 | 麻豆视频www | 在线看一级片 | 欧美老少交 | 97高清视频 | 激情网站网址 | 免费观看一级特黄欧美大片 | 91在线永久 | 97**国产露脸精品国产 | 成人免费在线视频 | 免费网站观看www在线观看 | 亚欧日韩成人h片 | 国产三级视频在线 | 中文字幕91| 手机av在线网站 | 日韩午夜一级片 | 国产精品一区二区三区在线 | 久久综合九色综合久久久精品综合 | 91激情小视频 | 在线视频免费观看 | 国产精品国产三级国产专区53 | 在线亚洲欧美视频 | 午夜国产一区二区三区四区 | 国产v在线 | 西西www4444大胆视频 | 日韩素人在线观看 | 九九热精品视频在线播放 | 亚洲午夜久久久久久久久 | 麻豆视频在线播放 | 午夜av不卡 | 啪嗒啪嗒免费观看完整版 | 久久国产精品一二三区 | 国产裸体永久免费视频网站 | 波多野结衣视频在线 | 日韩aⅴ视频 | 欧美精品一二三 | 日韩va欧美va亚洲va久久 | 欧美一级小视频 | 婷婷久久综合九色综合 | 免费看黄在线看 | 最近中文字幕大全中文字幕免费 | 久草在线 | 91色九色 | 粉嫩av一区二区三区免费 | 国产经典 欧美精品 | 日韩理论电影网 | 天天插日日射 | 特黄一级毛片 | 精品国产综合区久久久久久 | 欧美久久电影 | 亚洲另类人人澡 | 97成人资源站| 在线看欧美 | 91精品国自产拍天天拍 | 日韩黄色免费在线观看 | 日韩在线在线 | 国产高清在线精品 | 麻豆视频在线 | 狠狠狠狠狠狠天天爱 | 日日摸日日爽 | 国产一级片网站 | 欧美一区二区在线 | 国产在线一区二区 | 亚洲精品影视在线观看 | 国产精品ⅴa有声小说 | 久热精品国产 | 中文字幕在线免费观看 | 国产精品视频久久久 | 97人人爽 | 亚洲免费在线观看视频 | 麻豆成人小视频 | 午夜精品99久久免费 | 永久免费精品视频网站 | 久久久国产电影 | 丁香六月中文字幕 | 最新国产精品拍自在线播放 | 国产免费激情久久 | 国产91免费观看 | 特级西西444www高清大视频 | 成人av中文字幕在线观看 | 天天色天天操天天爽 | 最近中文字幕第一页 | 欧美日韩免费网站 | 欧美精品久久久久a | 91超级碰| 人人超碰人人 | 亚洲一区日韩在线 | 伊人天堂网 | 亚洲午夜久久久久久久久久久 | 激情综合网在线观看 | 亚洲精品乱码久久久久久蜜桃欧美 | 亚洲狠狠丁香婷婷综合久久久 | 91精品1区| 精品v亚洲v欧美v高清v | 欧美一二三区播放 | 片网址 | 探花在线观看 | 黄污视频网站 | 久久精品电影网 | 高清精品视频 | 国产精品久久久久久久久久了 | 国产精品久久久久一区二区国产 | 色干综合 | 粉嫩av一区二区三区四区在线观看 | 免费网址在线播放 | 久久久资源| 久久久国产精品电影 | 久久99视频| ww视频在线观看 | 久久精品综合网 | 国产精品毛片久久久 | 日日爽视频 | 成人国产精品电影 | 国产成人一区二区三区久久精品 | 五月天高清欧美mv | 精品在线二区 | 特级西西444www大精品视频免费看 | 久久字幕网 | 国产亚洲精品v | 精品影院一区二区久久久 | 精品视频免费 | 97国产在线| 亚洲精品国产精品国自产 | 国产永久免费观看 | 精品久久福利 | 久久99精品久久久久久秒播蜜臀 | 中文字幕一区二区在线观看 | 成 人 黄 色 视频 免费观看 | 免费久久精品视频 | 欧美精品做受xxx性少妇 | 久久情侣偷拍 | 中文字幕成人av | 久久人91精品久久久久久不卡 | 日本免费一二三区 | 精品国产成人在线 | 欧美精品久久久久久久亚洲调教 | 欧美精品一区二区在线观看 | 国产精品中文字幕av | 日韩在线观看a | 日日日网 | 日本夜夜草视频网站 | 毛片一区二区 | 六月婷婷色 | 欧美视频网址 | 中国美女一级看片 | 成人av免费在线播放 | 美女网站免费福利视频 | 婷婷香蕉 | 国产夫妻自拍av | 国产精品久久久久四虎 | 欧美 激情 国产 91 在线 | aaa日本高清在线播放免费观看 | 国产九九热视频 | 欧美乱熟臀69xxxxxx | 天天草天天干 | 中日韩免费视频 | 天堂网中文在线 | 天天天天天天天操 | 麻豆影视网| 久久国产精品色av免费看 | 最新中文字幕在线观看视频 | 伊人久久在线观看 | 久久午夜国产精品 | 国产视频在线播放 | 麻花传媒mv免费观看 | 亚洲欧美日韩一级 | 91久久精品日日躁夜夜躁国产 | 国产小视频在线 | 日韩videos高潮hd| 日韩区欠美精品av视频 | 91精品国产网站 | 81精品国产乱码久久久久久 | .国产精品成人自产拍在线观看6 | 国产高清日韩欧美 | 狠狠成人 | 99久久www免费 | 欧美一区二区日韩一区二区 | 国产在线一区二区三区播放 | 麻豆系列在线观看 | 啪啪免费观看网站 | 国产精品色视频 | 免费视频一二三区 | 久草9视频| 久久综合婷婷国产二区高清 | 国产99久久精品一区二区永久免费 | 伊人国产在线播放 | 丁香婷婷久久久综合精品国产 | 欧美日韩国产一区二 | 久草在线最新免费 | 国产又粗又长又硬免费视频 | 免费在线观看毛片网站 | 亚洲精品视频在线观看免费视频 | 日日夜夜精品免费观看 | 久草在线一免费新视频 | 深爱激情站| 九九热只有这里有精品 | 婷婷在线免费视频 | 亚洲欧美一区二区三区孕妇写真 | 开心婷婷色| 黄色a级片在线观看 | 日韩在线第一区 | 亚洲国产日韩一区 | 在线播放 一区 | 欧美色图p | 色婷婷在线播放 | 免费高清国产 | 国产激情久久久 | 婷婷丁香七月 | 久久久久久久av麻豆果冻 | 五月婷香 | 在线中文字幕观看 | 欧美a级片免费看 | 亚洲激情网站免费观看 | 国产日韩视频在线播放 |