1. 圣石小子粤语,别样幸福全集,箭在弦上大结局,我想打死你,星光灿烂猪八戒,菲律宾美人鱼50集国语,神探夏洛克 第四季,市委书记晚上不打招呼调研被拦

      抽象語法樹在JavaScript中的應(yīng)用

      時間:2024-08-18 04:30:19 JavaScript

      抽象語法樹在JavaScript中的應(yīng)用

        抽象語法樹是什么?在 JavaScript 中該如何應(yīng)用?下面YJBYS小編為大家講解!

        在計算機科學(xué)中,抽象語法樹(abstract syntax tree 或者縮寫為 AST),或者語法樹(syntax tree),是源代碼的抽象語法結(jié)構(gòu)的樹狀表現(xiàn)形式,這里特指編程語言的源代碼。樹上的每個節(jié)點都表示源代碼中的一種結(jié)構(gòu)。之所以說語法是「抽象」的,是因為這里的語法并不會表示出真實語法中出現(xiàn)的每個細節(jié)。1

        果然比較抽象,不如先看幾個例子:

        抽象語法樹舉例

        foo = 'hello world';

        /*

        +-------------+

        | assign(=) |

        +-------------+

        X X

        X X

        +-------+ +-----------------+

        | foo | | 'hello world' |

        +-------+ +-----------------+

        */

        if (foo === true) {

        bar = 'hello world';

        alert(bar);

        }

        /*

        +------+

        | if |

        +------+

        X X

        X X

        +--------------+ +-------------+

        | equal(===) | | if_body |

        +--------------+ +-------------+

        X X X X

        X X X X

        +-------+ +--------+ +-------------+ +------------+

        | foo | | true | | assign(=) | | alert() |

        +-------+ +--------+ +-------------+ +------------+

        X X X

        X X X

        +-------+ +-----------------+ +-------+

        | bar | | 'hello world' | | bar |

        +-------+ +-----------------+ +-------+

        */

        從上述兩個例子可以看出,抽象語法樹是將源代碼根據(jù)其語法結(jié)構(gòu),省略一些細節(jié)(比如:括號沒有生成節(jié)點),抽象成樹形表達。

        抽象語法樹在計算機科學(xué)中有很多應(yīng)用,比如編譯器、IDE、壓縮優(yōu)化代碼等。下面介紹一下抽象語法樹在 JavaScript 中的應(yīng)用。

        JavaScript 抽象語法樹

        構(gòu)造 JavaScript 抽象語法樹有多種工具,比如 v8、SpiderMonkey、UglifyJS 等,這里重點介紹 UglifyJS。

        UglifyJS

        UglifyJS 是使用最廣的 JavaScript 壓縮工具之一,而且自身也是用 JavaScript 寫的,使用它的方法很簡單(需要 nodejs 環(huán)境):

        首先全局安裝:

        [sudo ]npm install -g uglify-js

        然后就可以使用了:

        uglifyjs -m srcFileName.js -o destFileName.min.js

        關(guān)于 UglifyJS 的用法這里就不多介紹了,我們要做的是一些更有趣的事情。

        UglifyJS Tools

        UglifyJS 提供了一些工具用于分析 JavaScript 代碼,包括:

        parser,把 JavaScript 代碼解析成抽象語法樹

        code generator,通過抽象語法樹生成代碼

        mangler,混淆 JavaScript 代碼

        scope analyzer,分析變量定義的工具

        tree walker,遍歷樹節(jié)點

        tree transformer,改變樹節(jié)點

        生成抽象語法樹

        使用 UglifyJS 生成抽象語法樹很簡單:

        首先安裝 UglifyJS 為 npm 包:

        npm install uglify-js --save-dev

        然后使用 parse 方法即可:

        var UglifyJS = require('uglify-js');var ast = UglifyJS.parse('function sum(foo, bar){ return foo + bar; }');

        這樣生成的 ast 即為那一段代碼的抽象語法樹。那么我們怎么使用呢?

        使用 mangler 壓縮代碼

        使用 mangler 可以通過將局部變量都縮短成一個字符來壓縮代碼。

        var UglifyJS = require('uglify-js');var ast = UglifyJS.parse('function sum(foo, bar){ return foo + bar; }');

        ast.figure_out_scope();

        ast.mangle_names();

        console.log(ast.print_to_string());// function sum(a,b){return a+b}

        使用 walker 遍歷抽象語法樹

        使用 walker 可以遍歷抽象語法樹,這種遍歷是深度遍歷。

        var UglifyJS = require('uglify-js');var ast = UglifyJS.parse('function sum(foo, bar){ return foo + bar; }');

        ast.figure_out_scope();

        ast.walk(new UglifyJS.TreeWalker(function(node) {

        console.log(node.print_to_string());

        }));/*

        function sum(foo,bar){return foo+bar}

        function sum(foo,bar){return foo+bar}

        sum

        foo

        bar

        return foo+bar

        foo+bar

        foo

        bar

        */

        UglifyJS 已經(jīng)提供了直接壓縮代碼的腳本,walker 看上去貌似也沒啥用,那么這些工具有什么使用場景呢?

        抽象語法樹的應(yīng)用

        利用抽象語法樹重構(gòu) JavaScript 代碼

        假如我們有重構(gòu) JavaScript 的需求,它們就派上用場啦。

        下面考慮這樣一個需求:

        我們知道,parseInt 用于將字符串變成整數(shù),但是它有第二個參數(shù),表示以幾進制識別字符串,若沒有傳第二個參數(shù),則會自行判斷,比如:

        parseInt('10.23'); // 10 轉(zhuǎn)換成正整數(shù)parseInt('10abc'); // 10 忽略其他字符parseInt('10', 10); // 10 轉(zhuǎn)換成十進制parseInt('10', 2); // 2 轉(zhuǎn)換成二進制parseInt('0123'); // 83 or 123 不同瀏覽器不一樣,低版本瀏覽器會轉(zhuǎn)換成八進制parseInt('0x11'); // 17 轉(zhuǎn)換成十六進制

        因為有一些情況是和我們預(yù)期不同的,所以建議任何時候都加上第二個參數(shù)。

        下面希望有一個腳本,查看所有 parseInt 有沒有第二個參數(shù),沒有的話加上第二個參數(shù) 10,表示以十進制識別字符串。

        使用 UglifyJS 可以實現(xiàn)此功能:

        #! /usr/bin/env nodevar U2 = require("uglify-js");function replace_parseint(code) {

        var ast = U2.parse(code); // accumulate `parseInt()` nodes in this array

        var parseint_nodes = [];

        ast.walk(new U2.TreeWalker(function(node){

        if (node instanceof U2.AST_Call

        && node.expression.print_to_string() === 'parseInt'

        && node.args.length === 1) {

        parseint_nodes.push(node);

        }

        })); // now go through the nodes backwards and replace code

        for (var i = parseint_nodes.length; --i >= 0;) { var node = parseint_nodes[i]; var start_pos = node.start.pos; var end_pos = node.end.endpos;

        node.args.push(new U2.AST_Number({

        value: 10

        })); var replacement = node.print_to_string({ beautify: true });

        code = splice_string(code, start_pos, end_pos, replacement);

        } return code;

        }function splice_string(str, begin, end, replacement) {

        return str.substr(0, begin) + replacement + str.substr(end);

        }// test itfunction test() {

        if (foo) { parseInt('12342');

        } parseInt('0012', 3);

        }

        console.log(replace_parseint(test.toString()));/*

        function test() {

        if (foo) {

        parseInt("12342", 10);

        }

        parseInt('0012', 3);

        }

        */

        在這里,使用了 walker 找到 parseInt 調(diào)用的地方,然后檢查是否有第二個參數(shù),沒有的話,記錄下來,之后根據(jù)每個記錄,用新的包含第二個參數(shù)的內(nèi)容替換掉原內(nèi)容,完成代碼的重構(gòu)。

        也許有人會問,這種簡單的情況,用正則匹配也可以方便的替換,干嘛要用抽象語法樹呢?

        答案就是,抽象語法樹是通過分析語法實現(xiàn)的,有一些正則無法(或者很難)做到的優(yōu)勢,比如,parseInt() 整個是一個字符串,或者在注釋中,此種情況會被正則誤判:

        var foo = 'parseInt("12345")';// parseInt("12345");

        抽象語法樹在美團中的應(yīng)用

        在美團前端團隊,我們使用 YUI 作為前端底層框架,之前面臨的一個實際問題是,模塊之間的依賴關(guān)系容易出現(xiàn)疏漏。比如:

        YUI.add('mod1', function(Y) {

        Y.one('#button1').simulate('click');

        Y.Array.each(array, fn);

        Y.mod1 = function() {/**/};

        }, '', {

        requires: [ 'node', 'array-extras'

        ]

        });

        YUI.add('mod2', function(Y) {

        Y.mod1(); // Y.io(uri, config);}, '', {

        requires: [ 'mod1', 'io'

        ]

        });

        以上代碼定義了兩個模塊,其中 mod1 模擬點擊了一下 id 為 button1 的元素,執(zhí)行了 Y.Array.each,然后定義了方法 Y.mod1,最后聲明了依賴 node 和 array-extras;mod2 執(zhí)行了 mod1 中定義的方法,而 Y.io 被注釋了,最后聲明了依賴 mod1 和 io。

        此處 mod1 出現(xiàn)了兩個常見錯誤,一個是 simulate 是 Y.Node.prototype 上的方法,容易忘掉聲明依賴 node-event-simulate3,另一個是 Y.Array 上只有部分方法需要依賴 array-extras,故此處多聲明了依賴 array-extras4;mod2 中添加注釋后,容易忘記刪除原來寫的依賴 io。

        故正確的依賴關(guān)系應(yīng)該如下:

        YUI.add('mod1', function(Y) {

        Y.one('#button1').simulate('click');

        Y.Array.each(array, fn);

        Y.mod1 = function() {/**/};

        }, '', {

        requires: [ 'node', 'node-event-simulate'

        ]

        });

        YUI.add('mod2', function(Y) {

        Y.mod1(); // Y.io(uri, config);}, '', {

        requires: [ 'mod1'

        ]

        });

        為了使模塊依賴關(guān)系的檢測自動化,我們創(chuàng)建了模塊依賴關(guān)系檢測工具,它利用抽象語法樹,分析出定義了哪些接口,使用了哪些接口,然后查找這些接口應(yīng)該依賴哪些模塊,進而找到模塊依賴關(guān)系的錯誤,大致的過程如下:

        找到代碼中模塊定義(YUI.add)的部分

        分析每個模塊內(nèi)函數(shù)定義,變量定義,賦值語句等,找出符合要求(以 Y 開頭)的輸出接口(如 mod1 中的 Y.mod1)

        生成「接口 - 模塊」對應(yīng)關(guān)系

        分析每個模塊內(nèi)函數(shù)調(diào)用,變量使用等,找出符合要求的輸入接口(如 mod2 中的 Y.one,Y.Array.each,Y.mod1)

        通過「接口 - 模塊」對應(yīng)關(guān)系,找到此模塊應(yīng)該依賴哪些其他模塊

        分析 requires 中是否有錯誤

        使用此工具,保證每次提交代碼時,依賴關(guān)系都是正確無誤的,它幫助我們實現(xiàn)了模塊依賴關(guān)系檢測的自動化。

        總結(jié)

        抽象語法樹在計算機領(lǐng)域中應(yīng)用廣泛,以上僅討論了抽象語法樹在 JavaScript 中的一些應(yīng)用,期待更多的用法等著大家去嘗試和探索。

      【抽象語法樹在JavaScript中的應(yīng)用】相關(guān)文章:

      在Java中執(zhí)行JavaScript代碼04-01

      Javascript中typeof 用法歸納04-01

      JavaScript中的with關(guān)鍵字03-25

      整理Javascript基礎(chǔ)語法學(xué)習(xí)筆記欣賞04-01

      perl- javascript中class的機制03-25

      JavaScript中的三種對象04-01

      javascript閉包的定義及應(yīng)用實例分析04-01

      JavaScript中push(),join() 函數(shù)實例詳解03-31

      詳解JavaScript中的splice()使用方法04-01

      主站蜘蛛池模板: 冤罪 bl| 电视剧玫瑰的故事| 猎罪图鉴2大结局| 水嫩多汁的蜜桃H| 《推油》完整版免费观看| 入室强插电影在线播放| 百变大咖秀20120802| 苍井苍空A免费井线在线观看| 高清《年轻护士2》完整在线播放| 四大美人 电影| 美国伦理片激战丛林珍妮免费在线观看全集兵王影视 | 韩剧巨人60集免费观看| 木下檀檩子在线电影| 伯虎为卿狂| 舔B拨弄深入抽插上司| 经常请吃饭的姐姐| 明星的恋人电视剧| 插曲的痛60集全集免费| 天星之爱泰剧免费观看全集| 侯门嫡女:谋略定乾坤全集免费| 后宫露营 第一季 未增减 0.0.0.| 亮剑3gp下载| 聚会的目的中文字幕| 高清《甜蜜恶作剧》动漫免费播放| 含泪活着下载| 美国需要爸爸播种电影| 金牌律师第一季| 韩国免费爱情电影大全| 女警被黑人强伦轩电影| 铁齿铜牙纪晓岚第1部免费观看 | 破烂男女在线观看电影全集免费| 兰越峰事件| MSD-005 欧妮 维修工的心跳艳遇(下) 疼痛凌辱高潮快感-在线观看-338TV | 痛30插曲全集免费播放| 少女爱上姐姐明亮的三颗星| 斗罗大陆124集免费观看完整版| 郑嘉颖最新电视剧| 新闻女王粤语免费观看| 断背山在线观看| 云翔电影游| 生死兄弟情剧情介绍| Jizz日本| 廊桥遗梦免费观看| 日期 初恋这件小事| 三年中国片在线高清观看| 杨恭如被污辱的图片| 富江动画12集| 她被搬运工侵犯了日本电影| 庆余年2电视剧在线免费观看| 法律与秩序特殊受害者| 男生女生一起相愁愁愁观看电视剧| 家国两难全| 岳开始疯狂需要| 肉蒲团极乐宝鉴| 男子全身沾满水泥被路人当成雕像| 电影瑜伽教练在线观看整板| 晚秋影评| 制服的诱惑地下法庭| 《乖乖被你宠》全集| 诱人的教师在线完整版| 短剧网剧免费观看| 理想之城全集| 凶灵假期| 张靓颖 奥普拉| 黑白配国语高清在线观看免费| 萌宝厨神闹新春短剧免费观看| 惊弦电视剧免费完整版在线观看| 逆袭之爱情故事电视剧免费观看| 你的婚礼资源| 爸爸要播种子美国电视剧在线观看| 林丹装路人打球| 激战酒店1-80集电视剧| 老丁是个生意人| XXXX 68美国| 杯水情歌歌词| 变脸印度电影| 善良的妻子免费看| 吸血鬼同盟动漫| 激战丛林在线观看完整版下载| 古惑仔之义| abo成结模拟| 古装三级片名| 美国小辣椒| 逆转裁判3| 家有弟攻| 冬春的日子电影字幕版| 金陵秘事全集| 三年大全国语免费播放手机版 | 滨田のり子| 龙虎山张天师麒麟| 人人爱人人乐免费| 野花免费观看高清在线下载| 逐爱之心2023菲律宾正版| 母亲主动给孩子降火好吗| 罗丽·星克莱尔电影在线观看 | 我的青春遇见你免费全集观看 | 老鼠不再爱大米| 牛郎织女电视剧| 初代奥特曼国语全集| 高考结束考生喊话王嘉尔| 女教师被黑人强伦轩| 用一生去爱你电视剧| 小丑免费| 女儿国3在线观看电视剧| 心灵捕手 电影| 《壮志凌云》A片版| 吸血鬼女王百度影音| 西协美智子电影 电影在线观看| 年轻的皇后| 爱i情公寓1| 善良丰满的继牳| 山东近32万考生成绩达一段线| 牙医免费在线观看| 闪婚大佬后免费全集在线观看| 律政俏佳人电视剧在线观看免费| 曹云金官场斗| 疯狂的麦克斯| 警察锅哥40集电视剧免费完整版| 兵临城下电影下载| 我女友的妈妈韩国| 牧神记动漫在线观看全集免费播放 | 永不退缩3完整版| 表姐同居| 安拉拉斋电影在免费播| 闪亮爱大结局| 哇嘎视频在线免费观看| 狼与香辛料op| 俄罗斯伦理片需要爸爸的种子| 最新韩剧电视剧| 女子炸弹队| 永远忠诚| 林家铺子在线观看| 新杨门女将电视剧1| 海之谣 电视剧| 公浮之手中2(国语版)| 无尽情爱双男主泰剧在线观看| 女版佐罗| 皇后进宫电视剧| 渔夫荒野史1987完整| 我心里有危险的东西| 花儿为什么这样红舞蹈| 《择天记》电视剧| 情深深雨蒙蒙25| 赫板栗电影在线观看| 启航当风起时| 女保险推销员8中文| 罗小黑战记40| 铿铿铿锵锵锵锵高清免费观看| 电视剧战狼| 女秘密搜查官可耻的报酬是谁扮演的 | 床上里拉| 墨斗先生粤语| 时光代理人第二季| 越南人看中国| 女人魂免费观看| 高清《鸭王》| 追球在线观看免费完整版| 八尺夫人原版电影免费观看 | 古惑仔7之绝义升天| 动画片电影| 《繁花》免费播放在线观看全集| 傲斗凌天v20| 半吨先生| 丫头5| 狂飙在线观看免费全集高清| 《瓜达卢佩的玫瑰》完整版在线观看| 特赦1959全集完整版在线播放| xl司第二季真人版| 秘密列车在线全集免费观看| 屋顶上的吻| 合租女孩百度影音| 江湖传奇小说| 三年大国语高清免费看| 高清《失窃的女孩》电视剧 | 阿朱外卖三部曲| 天涯浴血 电视剧| 美丽妻子替弟还债剧情| 功夫熊猫1快播| jjzz44com| 方子传全集未删在线观看| 漂亮的小蜜桃5| 《卖房子的女销售》电影| 斗破苍穹年番第168集更新| 香醇的锈感电影完整版| 玩火的女孩| 保罗2在线观看| 非常勿扰| 酒店1-50集在线观看| 终结者4国语版| 乱世奇侠之骗侠| 新还珠格格76| 火龟怎么抓| 总统夫人星克莱尔1997| 华尔街1电影| 杨玉环的三港版1996| 灯草和尚聊斋| 《渔夫的荒野史记》| 彩翼儿童美术| 《女超人麦乐迪》电影免费播放 | 危险动物未删减| 日本女人勾引水电工视频在线免费观看| 我的抗战之猎豹突击高清| 美国娃娃脸4国语免费观看| 第一目标演员表| 天地争霸美猴王| 抗联敢死队之红雪| 密室大逃脱大神版| 电视剧非亲姐妹全集| 联谊对象是食草系第二季| 凤冈县| 甜蜜惩恶第一季免费观看全集高清| 人狗大战8集全集观看免费西瓜 | 伦理《法国空乘4观看 | 新唐山大兄| 盛夏晚晴天全集在线观看| 新婚女人| 霜花店电影完整版| 电影追龙2| HD版泰山《激战丛林》完整版免费| 野花韩国视频在线观看免费高清| 挑战好声音| 喜爱夜蒲电影| 不差钱电影| 哈利波特与凤凰社| 火口的二人| 范建明李婧婧小说免费阅读在线| 女生公寓中文版全集| 斗罗大陆213集| 仙帝弃少短剧全集| 护国战神:卸甲归田当奶爸短剧全集 | 启航2013| 白手起家:寒门弃少短剧全集| 市委书记晚上不打招呼调研被拦| 佛陀电视剧全集(1-54)| 第二个农场姑娘们| 藏海花之暗潮汹涌在线观看| 法国空姐1免费高清原声我奔跑 | 爱丫爱丫在线观看免费高清电视剧有 | 台球高手免费播放在线观看| 初体验1普通话| 蓝宝石之谜 重制版| 我的幸福婚约电影| 喜爱夜蒲1高清国语完整版| 地下美人电影完整版| 身体交易| 钢琴师电影| 神乐坂惠电影| 明成皇后国语版| 忘羡第一次肉草地| 重紫电视剧免费观看| 大峡谷遗宝| 三年成全免费高清观看电视剧完整版 | 邻居家的姐姐| 家属动漫1-6全集免费观看| 恶魔幸存者第二季动漫| 法国版女超人麦乐迪| 星汉灿烂月升沧海在线观看| 古墓丽影山寨版免费观看 | 守候我们的幸福在线观看| 五感图 下载| 阳光姐妹| 人头肉骨茶| 风中奇缘片花| 泰罗奥特曼国语动漫| 《疯狂动物城2》普通话免费观看| 半夏电视剧免费观看完整版高清 | TOTAKKAHAYAKIRGUZUX_手游大全| 电视剧22条婚规| 安姨售楼女王电影在线观看| 江照黎明| 韩国售楼部小姐免费观看完整版| 网络第一美女| 激战丛林无删减版电影在线观看| 斗罗大陆樱花动漫观看第26集| 扫黑全集| 命中注定我爱你剧情介绍| 美丽毒素完整版| 惊声尖叫4百度影音| 美乃雀替夫还债完整版| 张大仙全球首吐| 翁虹《满清十大酷刑》| 常高兴的酸甜苦辣电视剧| 做aj电视剧免费观看美国| 一只狗的使命| 小凤新婚 在线| 金瓶双艳完整版| 《激战丛林》完整版免费| 卜卦mv| 爱我几何原声在线完整版| 后来的我们短剧免费观看完整版| 麻花无痕传剧mv免费观看高清| 泰剧无尽的爱| 插曲的痛全集免费播| 全军出击和刺激战场| 财经聪哥| 天赐之女| 电影奋斗| 丑妻逆袭之华丽归来短剧免费观看| 木府风云主题曲净土| 女超人麦乐迪完整版观看| 深喉2在线欧美| 盛唐风流电影免费在线观看| 疯狂大老千国语| 战狼6欧美版免费观看完整版国语| 鸿雁于飞刀郎| 探索发现古墓武则天| 韩国电影办公室3免费完整版在线看| 肉肉的小黄车| 不穿肉裤的女教师| 善良的嫂子在线视频| 色戒电影未测减除版| 类似极限救援的电影| 《黑暗森林》满天星| 高清夜魔侠:重生 第二季未删减| 高压监控法国版| 兰若寺电影免费观看国语| 恋爱支招| 血洗红花亭无删减完整| 幸福爱人电视剧全集| 年轻的的小瘦子5| 我的朋友和儿子有关系| 恋爱结婚| 《星球大战:摩尔-暗影之王》| 电影《她被丈夫的老板欺负》| 情链泰剧在线观看全集免费| 人间四月天电视剧| 初恋这件小事完整版| 电影《分娩按摩2》在线看| 乡村牧师| 金银1—5国语免费观看普通话| 第一伞兵队电视剧| 坎佩奇在线播放免费观看| 她在丈夫身边被耍了| 《倔强退魔师》1-4集免费观看视频 | 罗小黑战记35集免费观看| 恐龙危机2攻略| 婚姻保卫战电视剧免费观看| 少林寺传奇第三部| 仙剑奇侠传六| 电视剧神话免费观看完整版| 女律师替夫还债电影在哪看 | 秘密押运| 环大西洋| 万界独尊免费完整版高清动漫| 不屈的儿媳妇电视剧汉语版| 釜山行2资源| 特邀外卖员电影| 光头强的妈妈是谁| 凯登农场保卫战满天星免费观看| 开放的家庭| 满天星《女超人》免费播放| 黑狐之风影电视剧全集| 忘年恋电影在线观看免费| 包青天1-40集免费播放| 电影韩国姐姐完整版在线观看| 需要爸爸的种免费观看| 百家讲坛项羽| 《义子侵犯》松下纱荣子| 羊入壶口| 浪漫女家教主演:黛比地区:台湾| 贞观之治所有演员表| 牧神记在线观看完整版免费高清| 第一滴血1国语高清| 朋友的妈妈2017完整版| 日本潜入搜救官6搜查官电影免费观看| 宝贝计划电视剧| 《婚礼的前一天》| 韩剧我的女孩国语在线观看| 一起愁愁愁免费观看完整在线看 | 距离2023年春节还有多少天过年| 公诉精英电视剧全集免费播放| 高清《女仆小姐的贪吃日常》电视剧| 富江动画12集| 美容室特色待遇| 战狼2电影观看| 战狼16欧式少女版最新章节| 长安三万里免费完整看| 丰满的继牳2小早川怜子bd电影| 警察与劫匪| 学生的妈妈4在观完整有限中字| 口红森林| 电影勇敢的心| 红问号剧情| 末路狂花钱免费观看| 大江大河2免费完整版在线观看| 琵琶别抱| 村上里沙| 斗罗大陆全集在线看高清| 灵璧一中| 17影院| 军火女王 第二季| 女保镖丽萨满天星| 爱玩具的大成| 今夜天使降临电视剧| 战狼6免费高清| 韩国电影出轨| 水润女人全集免费高清资源 | 海安县| 小时代电视剧优酷| 第11个妈妈| 美容院:特殊待遇未删减| 二楼定律| 梦幻军事地区满天星1080P| 山河令免费全集电视剧西瓜 | 陪部长出差韩国电影| 守护者联盟| 需要爸爸播种 在线观看| 那年我们一起追过的女孩| 粟裕大将全集| 无颜之月免费观看| 鹊刀门传奇| 美式5-8完整版| 加菲猫大电影普通话| 墨西哥《瓜达卢佩玫瑰》| 第一女儿电影| 上位完整版下载| 无人区免费观看高清完整版| 碟中谍在线观看| 销售的销售秘密3HD中字国| 纯爱情电影| 窥视电影| 大侠黄飞鸿| 再唱山歌给党听 索朗旺姆| 一日女采人电影| 相棒第十二季| 《需要爸爸播种子》在线观看播放_HD/高清_免费无删减完整版电影 - 星辰影院 | 化妆师坐张艺凡腿上补妆| 一江春水向东流在线观看| 台湾黛比浪漫女家教在线观看飘花影院 | 正在播放: JUL-601 你真的是处男吗?因为发现丈夫出轨被自称童贞的男子欺骗身 | 1995版泰山1小时34分观看国外版| 一路向西电影完整视频在线| 萌宝厨神闹新春短剧免费观看| 斗龙战士6| 高清泰迪熊 第二季未删减| 四个夫妇去按摩的电影| 战国basara石田三成| 战狼6高清国语免费看| 朝鲜世界杯| 《极乐宝鉴》在线观看| 性的暴行2小时16分| 《刘墉铡许翠萍》全场戏第五段| 快递员的美味人生| 中国女篮大胜波多黎各| 爱情回来了结局| 日子老妈子BB| 美人电影| 古墓丽影满天星完整版观看| 佳期如许| 壮志凌云女版满天星在线观看| 泰剧网黑道少爷爱上我第3集| 我是歌手2019播出时间| 唐明皇电视剧| 人体蜈蚣3 电影| 飞机上性服务2免费播放| 天涯追击令| 农场主的女儿们更新49集| 行政体制改革的动力| 全金属外壳 电影| 巨茎挺进李淑芬体内\| 江湖兄弟电视剧| 中西区| 完美状妈| 狙击手特别行动电影免费完整观看| 亚洲电影性生活| 中国油价处在世界什么水平| 公之浮中2| 电影(昭和战争)越南女子别动队| 电视剧非常有喜全集| 日本混血大学生体验按摩电影| 硬核亨利在线观看免费高清| 《爱我几何》精彩片段| 凶猛的办公室日本动漫电影| 真实的人类第一季| 音乐僵尸国语| 江湖兄弟电视剧| 爱我几何电影免费观看高清完整版| 暧昧高手花生是米| 高清《你是我兄弟》结局| 富婆20万睡小22岁小伙| 够劲吻住你短剧大结局免费观看| 高压监狱2满天星| 你是我的荣耀27集在线观看| 情债电影在线观看| 女朋友63中汉字| 进击的巨人03| 执法女先锋1.2满天星| 十万个冷笑话在线观看| 海底捞回应女大学生包间留宿 | 暗夜守护者| 探秘地球| 莫妮卡主演电影| 铁锈味的雨滴泰剧在线观看| 苍空电影完整版未删减版在线观看| 浴室春情| 小泽玛利娅| 爱丫爱丫免费国语高清电视剧| 美式忌讳1--7| 爱我就别想太多免费全集电视剧全 | 黑暗荣耀第一季无删减在线观看| 火线全集| 九重紫电视连续剧免费播放 | 两个人免费观看日本的完整版| 媒体:高铁之大理应放得下卫生巾| 解密性| 台州学院附中| 42号传奇| 满天星麦乐迪电影在线观看 | 高清《爱的温暖》在线完整版| 日本无尺码小浪花| 法国少女3| 三八大案| 鸡王电影| 部长出差电视剧免费观看| 电视剧夫妻密码| 牙医姐妹赤子板栗电影完整版播放| 高清《脱缰者也》电影| 卫青不败由天幸| 特殊美容师待遇7| 辣妞范儿| 亲爱的热爱的全集免费版电视剧| 红点颏叫声| 皇后进宫电视剧| 新入职的员工抵不住部长| 未知传闻| 原配夫妻| 姐妹牙医1986日剧未删减版| 明日战记在线观看| 一起来流星雨| 电影乌海| 还魂第二季| 她在丈夫身边被耍了| 私人女性监狱电视剧剧情详解| 杨千嬅演唱会下载| 江城诡事电视剧免费观看完整版| 大牛影库战狼6在线播放| 超级鉴定师| 利辛县| 枪杀安倍凶犯原计划室内开枪| 斗罗大陆210| 蜜桃8| 太极张三丰电影下载| 美妙的邂逅| 珍妮泰山1995全集免费看| 长跑呼吸| 天涯女人心电视剧| 韩剧《给你宇宙》免费观看| 《欺诈游戏》| 需要爸爸播种子美国电视剧法国航空1982 | 暖春电影高清| 地震发生前有哪些预兆| 法国监狱(法国)电影观看| 欧美fXXX性| 甲方乙方| 貌似高手| 电影金光大道| 爸爸的种子免费全集电视剧 | 王子变青蛙全集下载| 酒神小姐| 爱我多深删除的三个片段分别是什么| 亲爱的热爱的电视剧观看| 特战荣耀 电视剧| 时间之子| 铁证悬案第五季| 法国满天星《蛇妖》| 女人生殖下面欣赏SAWW性| 新编西游记| 法国空乘5在线看| 哔哩哔哩高清免费观看| 在线观看新精瓶梅| 哇嘎电影免费播放网站大全| 电视剧《下海》| 高清《巴勒斯坦36》电影| 偷情水电工伦理片| 包公奇案| 新水浒传25集| 课中坏事 高清完整| 余波电影在线观看视频完整版高清| 战狼6欧式少女免费观| 踢坏18万巨幕后续| 圣杯之战游戏| 美式忌讳1--5| 杨乃武与小白菜粤语版| 青草影视电视剧免费播放在线观看| 黑白配中文完整版免费看| 搞笑一家人国语版1| 快乐到家迅雷下载| 卖房子的女销售3无遮挡| 漂亮的保姆3完整版中文版免费| 啄木鸟《女拳击手2满天星版》| 马斯克回应儿子想与自己断绝关系 | 木下凛凛子| 瞧这一家子电影演员表| 我在秋斩刑场当缝尸人那些 年| 年轻儿媳妇的味道| 宁安如梦35集| 夜光神杯全集| 法国版《女超人:麦乐迪》在线播放日 | 骊歌行电视剧免费观看| 铿锵锵锵锵免费观看完整版| 最后的99天在线观看| 美丽的小蜜蜂4美丽人生| 昨晚湖南卫视| 古惑仔4国语高清| 安斋拉拉电影完整版电影!| 新唐山大兄| 老公不在我和公发| 歼灭天际线1-87集免费酒店的女人| 别对我说谎 电视剧| 安塔芮丝 电影| 装修工的艳遇| 汪汪队立大功全集免费观看中文版 | 长歌行电视剧免费观看| 老丁是个生意人| 《姨母的诱惑》| 韩版毒战2女毒枭免费观看| 老公我要电影免费观看| 赤峰市| 回复术士的重来人生 樱花动漫漫画| 跳水世锦赛女子十米台决赛直播| 《暴辱に屈した若妻》| 黄土高天电视剧| 魔女游戏国语| 公之孚手中字12| 起床了小澈| 鸡宝厨房| 新手律师满天星完整版 | 古惑仔4国语高清| 战狼六欧美版在线观看| 三生三世十里桃花电视| 狂野式到轮式的转换技巧| 抚松县| 帕丁顿熊3| 长津湖2021在线观看| 南川市| 善良的保姆在线观看| 给我一支烟| 痴汉电车下载| 暖暖国语在线观看免费版电视剧| 新猫和老鼠全集| 《爱上儿子同学》| 半熟恋人综艺第三期下在线观看| 市长夫人爱上我| 天海翼怪盗在线观看| 最熟悉的陌生人免费观看完整版| 乾隆大帝粤语| 公之浮手中字在线观看| 爱情猎杀在线观看免费高清完整泰剧| 《菜肉馄饨》| 女军医》| 一家老小向前冲高清 | 东京漂移| 小孩身上有白斑图片| 流金岁月电视剧全集观看| 男按摩师做乳房按摩视频日韩电影 | 进球吧少年| 摩登家庭剧照| 《黑白配》电影| 光阴里的故事| 地球上的星星2全集观看| 三上夫人你不想你老公失去| 被义子侵犯到服从日本电影| 熊猫越狱| 国家保藏| 《东京塔之越南女兵被俘》在哪里观| 沉静如海| 铃音りおな| 野花全集未删减版| 赤子板栗牙医在线观看| 赵甲第电视剧在线观看| 电影风声未删减版在哪里可以看| 《角斗士3满天星版》| 魔弹战记龙剑道国语| 皇朝博美犬舍| 电视剧夜深沉| 死神来了8在线观看完| 雷古洛思奥特曼| 美剧 监狱风云| 妻子3免费完整版HD中字| 需要爸爸播种美国种子的电影 | 法国女超人电影完整版免费观看| 危机公关 电影| 花样男子韩版百度影音| 美国1985G点中文| 功夫小蝇高清| 被甩继承:亿万家产短剧全集| 哈拉猛男秀| 苍老师电影全集播放| 原生之罪在线观看高清免费完整版| 沉香如屑电视剧结局| 免费播放白峰美羽救赎治愈电影视频 | 《overflower》第一季马赛免费观看 | 假日游船1980法国经典| 逍遥1-40集全免费观看电视剧| 丰乳按摩电影免费观看| 人肉叉烧包2之天诛地灭| 鹰巢之预备警官| 娃娃脸9在线观看完整| 薛平贵与王宝钏第45集| 像小强一样活着电影| 猎罪图鉴2在线看高清| 激战丛林HD无删减版在线播放 | 电视剧折腰免费观看全集| 21世纪爱情指南免费观看高清| 安娜卡列尼娜2012| 年少有为不自卑| 李丽珍开心鬼| 性影院| 人活着真累| 高清《我老公的朋友2》| 屠场呕吐娃娃免费高清观看完整版| 欢喜婆婆巧媳妇| 《花与蛇3》| 生化危机5攻略解说| 需要爸爸的种子播种电影| 百姓健康大讲堂| 斗破苍穹缘起在线观看| 末路天堂| 摩伦理剧爸爸给我播个种吧| 怪物大学国语| 李恩美电影在线观看| 巜瑜伽室里的激情HD在线观看| 女性按摩店HD| 值得爱电影免费播放在线观看| 新娘无悔的爱| 代替丈夫D中文| 金瓶梅电视剧下载| 唐人街探案3高清完整免费| 香港电影免费观看| 布拉格空少G版高清免费看| 风与潮1-40集剧| 天国神族| 电视剧大地恩情| 美貌的社长夫人太漂亮了| 新闺蜜时代剧情介绍| 神隐35集| 我妻子的新妈妈双字ID| 美容院:特殊待遇未删减| 红场阅兵2015直播| 另一个贝内特家的姐妹未删减| 激战丛林2无删减版| 清冷学长H乖打开腿H男男| 刘纪鹏:股市破3000点是爆发| 歌声飘过三十年全集| 韩剧特邀外卖员| 她的伪装| 顶级人生第二季13集免费观看全集| 三个未婚妈妈免费观看电视剧| 99re在线观看视频| 生存之民工| 秘密人质| 山寨小萌主在线观看| 需要爸爸的种子免费在线观看中文字幕 | 哥哥给我一个机会电影| 《真实》崔雪莉多少秒出场| 甲午大海战下载| 保罗2雪莉一家| 长征五b首飞成功| 武媚娘传奇范冰冰| 安达市| 大学生按摩推油3| 向幸福招手| 拉进门就开始强吻| 电影二对一的商务模式2| 高清危险关系未删减| 李洛夫奇案| 双世宠妃男主| 游泳教练的特殊待遇电影| 爱的二八定律在线观看| 调查韩国总统夫人的反腐官员身亡| 校花攻略| 激战丛林电影免费观看| 曼谷保镖1国语| 青青草在9线观看| 禅宗少林音乐大典| 公之浮手中字22| 艺人包装| 上海卫视六个主持人参加生日宴 | 19岁免费观看完整版高清韩剧| 高楞青年| 武动乾坤560| 爱唯侦察9集免费观看| 《且试天下》电视剧免费观看西瓜| 不汗党国语版| 叠影危情演员表| 黄色仓库免费看| 罗马帝国艳情史高清完整版| 七零小军嫂:不嫁渣男短剧全集| 贝尔格里尔斯中国| 凯登杰西斯托雅《荣誉法则》| 苹果范冰冰电影下载| 家和万事兴之双喜临门| 善良的的瘦子5HD演员表| 女售票员3| 第36个故事电影| 捏橘子游戏| 按摩3~4| 爱你在线观看| 复仇女王全集免费| 男人和女人一起愁愁愁电视剧免费观op | 中国星力量第一期| 茶道少女樱花动漫| 寒夜尽处是卿心电视剧全集免费观看| 理发店里的特殊待遇4伦理片| 专家建议对50万以上存款收税| 杨紫琼最新电影| 女销售的房产2| 爱情公寓3演员| 电影《需要爸爸播种美国》演员表| soe-992| 公寓 电影| 买年货小品| 壮志凌云(法国版)2011| 商务部暂停天然砂对台湾地区出口| 大学那点事儿| 修理工的艳遇Bd| 王楚钦公开承认恋情孙颖莎 | 最近我的妹妹有点怪电影| 西西里159分钟无删减bt| 《水电维修工的艳遇》在线观看| 甄嬛传40集| 电竞国家集训队集体亮相| 回复术士的重启人生观看| 男按摩师影院在线观看| 想爱就爱在线视频| 魔鬼恋人第一季免费观看| 《需要爸爸播种子》电影免费在线观看,高清完整版美国倫理片_努努影院 | 电视剧战狼| 宝贝低头看看我是怎么爱你| 铿锵铿锵铿铿锵免费观看| 两女 一杯在线观看| 25岁女高中生在线观看| 牧神记2| 奇妙的发型屋1| 美乃雀电影免费在线观看 | 出差遇到前任| 星落凝成糖免费观看全集巴巴影视| 封神英雄榜第二部1| 雾山五行第二季免费观看国漫| 壮志凌云女版法国满天星在线观看完| 穿越火线网剧在线观看| 日剧《穿睡衣下楼取快递》 | 老阿姨与小年轻的爱情电视剧| 欧美成人版电影荣誉守则在线观看| 电车男粤语| 星落凝成糖电视剧免费观看西瓜 | 壮志凌云满天星女版在线| 《朋友的娇妻》HD| 朋友的妈妈4中语| 《渣女》电影在线观看免费| 正在缩小的男人电影|