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

      主站蜘蛛池模板: 七时吉祥| 是他也是你和我| 美丽的小蜜蜂4| 归路1—30集免费观看策驰影院 | 鬼父ova| 凌云壮志满天星欧美版| 狂野式到轮式的转换技巧| 人猿泰山1995版未删减版电视剧免费观| 孤注电影完整版免费观看| 女女免费观看高清完整版电视剧 | 璀璨人生余非的孩子是谁的| 李卫当官第二部高清| 阳光地狱之人肉市场| 星际特工在线观看免费完整版| o娘的故事电影免费观看策驰影院| 男人和女人在一起愁愁愁电视剧免费| 我爱几何电影完整版免费观看| 女性瘾者 在线播放| 卖百科全书的女人电影免费观看高清 | 按摩店电影叫什么名字| 大头儿子小头爸爸1| 木下檀檩子电影免费观看| 欢乐喜剧人 第三季| 捆绑堵嘴3级强奸电影| 常高兴的酸甜苦辣电视剧| 心理罪第二季| 地狱默示录| 败犬女王| 《雷霆特攻队*》| 倩女幽魂| 《斩神》动漫| 草在结它的种子| 樱井莉亚百度网盘| 爱在独木桥韩剧在线观看| 秘密爱情| 广场舞社会主义好| 《爱我几何》免费完整版在线观看| 逍遥龙哥| 《倔强退魔师》1-4集在线观看免费版 | 王君安越剧名段欣赏| 731部队女子配狗的电影名字| 咒术回战第三季在线观看| 法国空姐3在线看| 灵动鬼影实录2| 凯登克里斯版《壮志凌云》 | 浴火奔腾中文| 科学怪人| 透明变态人间| 《导师》完整版电影| 《碟中谍8》在线播放| 巨大女英雄在线看完整版| 那金花和她的女婿46| 部长出差的日子电视剧| 扫黑风暴高清完整版免费观看| 三年大片免费观看国语完| 高清《四大元素之水之魅影》电视剧| 落魄的贵族琉璃川在线观看免费完整版| 走到尽头| 哈哈哈哈哈第五季免费观看完整版| 欢乐家长群电视剧1-40集完整版| 以猫饲爱全集观看| 一拳超人 迅雷下载| 守护甜心第四季全集| 销售的销售秘密3免费观看高清版| 跑男第十二季免费播放| 日本空姐2019满天星法版:星辉照耀下的 | 瓜达卢佩的玫瑰未删减完整版| 美国男人大鸟| 亲吻姐姐02| 大宋少年志2结局| 《激战后厨1至5集》精彩原创影评:_酋长的女儿2满天星 | 我们的父辈第一季全3集| 天海翼女教师电影| 善良的妻子4| v酒店在线观看| 逆流而上的你免费观看完整版 | 闪婚媳妇得宠坏全集免费播放| 美国一级伦理巜生殖按摩| 奇热剧集| 三年成全免费观看在线高清| 冲动的惩罚未删减动漫| 《不期而遇》电影| 电影灯罩| 《活着》电影完整版| 电视剧大象| 背着善宰跑一共多少集| 豪情3d种子| 进击的巨人第二季第四集| 战狼6| 我的水蜜桃好软水好多| 巜生殖按摩1无删减版视频| 垃圾桶披萨| 电影 《透视》在线观看| 妹妹轮到你了韩剧| 混战两姐妹国语版免费观看中文| 夏至末至| 《美丽妻子替弟还债| 任盈盈股评| 八尺夫人正版免费观看| 最美情侣在线播放观看| 隐形帽子电影免费| 捉妖记bt| 《需要爸爸播种子》免费在线观看高清完整版-美国福利片 - 无限影院 | 困惑的浪漫电影| 美国电影需要爸爸播种子高清| 凤凰网军事观察室| 《激战丛林》电影观看| 灵珊baby| 藏獒多吉全集| 哪吒二在线观看| 网民发布辱国等不当言论被刑拘| 美式禁忌3| 远离人群的地方| 欧美黑白配视频在线免费观看| 白百何益达广告完整版| 寄生兽生命的准则| 对不起 我爱你| 动画片巴拉拉小魔仙| 偷偷藏不住在线观看电视剧| 寄生兽韩国| 锦衣风华电视剧免费观看完整版高清| 我走了你才说爱我短剧免费观看 | 古墓丽影满天星版全集免费看| 玫瑰故事的电视连续剧免费看| 星辰变2| 青之驱魔师第一季| 《四大美人之王昭君》免费看| 曹云金官场斗| 珠帘玉幕电视剧在线免费观看| 徐孺子年九岁 尝月下戏| 名侦探柯南700| 快乐到死电影完整版百度影音| 湖南卫视春节联欢晚会2013| 快乐至死韩剧在线播放免费| 一马换三羊剧情介绍| 逃学神探在线观看免费完整| 屋顶上的绿宝石全集| 电视剧《音乐会》免费观看在线播放| 神秘马戏团在线观看免费高清中文| 小小水蜜桃电视剧在线观看好| 非诚勿扰20120714| 神奇宝贝2| 新妹魔王的契约者动漫| 长女的幸福生活全集| 三文鱼价格为何“跳水”| 终极一班3全集观看| 极乱家族| 日本韩国免费看的电影电视剧| 酒店1-100集完整版| 有效期限爱上你| 电视剧锦衣卫| 小草在线播放| 办公室之恋2免费观看| 古惑仔5之龙争虎斗| 我们都是超能力者02| 大象电视剧| 新有莱电影| 穿越之嫡女谋短剧全集| 巴巴爸爸中文动画片| 免费观看爱我几何| 电影 廊桥遗梦| 美味快递2在线观看免费版电视剧| 同桌上课揉我下面好湿H| 电影美容室的特殊待遇7 | 莲花楼高清电视剧免费观看完整版 | 何以为家| 咱们村的年轻人| 十九岁免费观看电视剧| 法国空姐2大结局| 就爱妹妹| 悠悠寸草心第1部| 女人天下电视剧| 国产小姑娘电视剧| 中国电影免费高清观看| 电影巜商务旅行戴帽子的费| 天才儿子腹黑娘亲| 星月神话简谱| 温柔的背叛杨桃| 反情色 电影| 美景之屋4:我的完美人生| 高清心碎高中 第三季| 麻美ゆま| 斗破苍穹续集| 制服诱惑2地下法庭| 逍遥1-40集全免费观看电视剧| 武功山人之丐侠传奇| 特殊保险中字5| 幻城电视剧| 麦乐迪《家庭矛盾》百度网盘免费观 | 小岳岳相声| 杉杉来了吧| 星球大战4新希望| 双子星公主第二部中文版| 绝世唐门134集免费播放| 通天狄仁杰| 爱情公寓五| 中华软功| 手机在线观看高清完整版电影| 青梅竹马是消防员第一季未增删看| 牧神记40在线观看| 上海人肉市场| 巴黎烟云在线观看完整免费高清原声| 红墨坊电视剧| 霹雳大喇叭国语| 敏敏跳舞| 韩国绝伦推理片高分剧推荐大全| 韩国美人在线观看| 王嘉尔 papillon| 软糯小受灌满哭求饶BL道具养成| 八戒八戒在线观看免费高清4| 请你给我好一点的情敌| 侯爷粗壮冲刺顶弄H双性| 凡人修仙传动漫超清4K| 瑜伽女教师| 一骑当千全集| 美女食神国语版| 致命弯道4| 布雷斯塔警长国语版| 电影指环王1| 名侦探柯南724| 美国派4在线观看| 电影爱的躯壳| 巨鳄风暴完整版电影免费观看| 西游记续集16集免费观看| 玩世不恭什么意思| 高清《猫之茗》免费全集 | 法国护士长在线| 夏目友人帐第一季ed| xl司令第一季全集在线观看完整版免费动漫| 非诚勿扰聂倩| 渔夫的妻子意大利赛仑| 我们都是超能力者02| 山寨小萌主在线观看| 长歌行免费观看完整版| 全城热恋20150920| 西野翔qvod| 都挺好免费全集在线观看| 漂亮朋友瘦子3| 奇幻精灵事件簿下载| 社长的漂亮夫人电影在线播放| 蝴蝶效应1| 黄色仓库视频免费 播放完整版| 王贵与安娜电视剧免费观看| 黄色仓库最新在线观看地址| 我的心里只有你没有他李宇春| 三年成全播放国语高清| 爱就宅一起优酷| 感官新世界| 阿瑟拉猫| 电视剧南来北往免费观看全集播放| 修罗武神第二季免费观看全集| 电影天海翼匿名侦探免费观看| 色即是空3迅雷下载| 美女之家| 妖精的尾巴全集| 幸福的照相馆| 泽仁曲措歌曲| 换子成龙电视剧| 二战黑豹电影免费观看高清完整版| 箭在弦上大结局| 法国空姐2019满天星法版在线观看免费版| 韩国电影免费观看高清完整版在线| 《特殊游泳教练》完整版| 高清至尊马蒂未删减| 斯巴达第四季全集免费| 切糕段子| 战狼9免费高清999加拿大版在线观看 | 佛冈县| 舍我其谁| 地震发生时躲在什么空间最安全| 高清《熊出没》| 教训美女| 红高粱电影| 他在等光来| 电影私人航空在线观看免费完整版 | 我本女王| 逐爱之旅主题曲| 法国版《俄罗斯女子学院》| 美丽的他第二季在线观看| 艳母在线| xl司令第一季全集在线无马赛克观看 | 禁室培欲电影| 非凡医者电视剧40集免费观看国语| 火烧圆明园免费观看完整版| 港湾01| 刘亦菲晒38岁生日照| 拿下丈夫的下属| 致命对决 电影| 《蓝色隐形帽子完整版| 电视剧天真遇到现实| 菲律宾《房产销售》| 情欲九歌无删在线观看| 崇义县| 美国丽人剧情| 叶子户外| 意大利电影爱情与秘密| 无极 预言| 木下檀檀子免费观看平台| 男女做爰猛烈叫床高潮的书| 变形金刚7免费完整版在线观看| 果果别动队| 本乡爱电影在线观看免费最新版大全| 漂亮的女客栈| 3对1:三人一次性体检2| 斗罗大陆免费完整观看170集| 一路向西完整版百度影音| 空姐不雅视频| 漂亮的姨母5韩国| 《兄妹》电影完整版| 泰国银瓶梅| 慈禧秘史邱淑贞| 刘宝瑞 官场斗| 阿姨大小姐| 《我们的秘密》插曲| 《一年后的你》动漫免费观看| 高压监狱法版1小时46分预告片| 切糕段子| 美国女儿国满天星在哪能看| 电视剧封神英雄榜| 女子在大理洱海裸泳| 终结电视剧全集观看| 郝板栗《千金小姐》免费完整版| 梁赫群女友| 爸爸种子2电影在线播放| 学园天堂动漫| 维修工人的绝遇2中文版| 又见女王蜂| 朝国年经继拇3| 无烟柴火气化炉| 十二谭电视剧免费观看| 团建不能停在线观看| 莫斯科行动电影免费观看| 命运的捉弄| 布达佩斯之恋完整版| 战狼12欧美版免费观看完整版国语百度 | 章小蕙 桃色| 漂亮妈妈7字汉字| 庆余年2免费观看| 魔力宝贝监狱免费观看 在线| 台版缉魂2小时10分版网飞版| 倒放熊出没| 大内密探零零星星无删减版| 沧元图60完整版最新免费看| 得闲炒饭在线观看| 韩国免费爱情电影大全| 《渔夫的荒野史记》在线观看免费中| 樱桃嘴与大鼻子| 入室暴行3剧情解读| 尖峰时刻 3| 爱唯侦察偷拍| 东北往事之黑道风云全集| 播放双女任务| 我的妹妹在线观看| 公之扶手4中文版免费观看| 介子鬼城| 洛阳市| 僵尸脱衣舞娘| 不可磨灭的番号| 广场舞开着车去草原| 不可饶恕| 新来的瑜伽老师全集| 肖叮叮的剿匪记| 空中女士美国满天星上映时间| 三体2免费观看完整版在线观看| 传闻中的陈芊芊在线| 高清《桃恋者》电视剧| 好心作怪粤语24| 小凤新婚下集未删减在线播放 | 荣誉法则(成人版)英文2012| 新不了情免费| 长女的幸福生活全集| 射雕英雄传免费观看| 另一个贝内特家的姐妹未删减| 男生女生一愁愁愁在线观30集| 雪中悍刀行电视剧上映| 需要爸爸播种籽在线观看| 湄公河行动西瓜影音| 人质完整版在线观看 | 东京饭店| 理伦片驯服小峓子3| 韩剧《我的女友》免费观看| 荣誉法则满天星版| 欣德·拉贾布之声| 吊丝女士第二季全集| 可惜明年花全集免费播放| 牛群小品| 酒店1-70集免费观看高清| 抚宁县| 屋顶上的猫| 下一站说爱你| 梦想成为魔法少女2| 坎贝奇《无憾》免费下载| 粗大的内捧猛烈进出老师下载| 《妹妹是魅魔》第二季在线看全集| 高清《法国空乘1》| 欧式少女16集全集在线观看视频下载| 三国62| 红娘子电视剧全集免费| 茅坑里的僵尸完整版| 危情24小时电视剧| 微微一笑很倾城 迅雷下载| 万茜被曝遭遇婚姻危机| 但丁的地狱| 野玫瑰电视剧在线观看完整版| 巡回检察组完整版免费观看| 超越情感电视剧免费观看全集完整版| 新员工2| 看孙悟空三打白骨精| 女军医满天星在线观看完整版| 人头豆腐汤电影| 命中注定我爱你21| 新潘金莲龚玥菲免费版| 紧身牛仔裤美女热舞| 金梅瓶2 国语在线播放| 保罗一家1-4在线观看| 善良的姐姐线观高清3| 酒店1至75集免费观看| 劲舞团修改密码| 爱恋205| 绝望写手 第五季| 甜蜜惩罚2我是看守专用宠物| 电影《牙医姐妹 》电影完整版| 楼房倒塌人像饺子往下掉不实| 酋长之女2:狂飙2| 汉武大帝| 爱人 下载| 《需要爸爸播种子》在线观看播放_HD/无删减_免费高清电影 - 星辰影院 | 洪湖赤卫队| 性/生活4无删减在线观看| 毒爱泰剧| 荷尔蒙美国版6| 我与黑帮大佬| dasd-409| 《新手律师》法国版免费观看网站 | 足协通报浙江队武里南联冲突| 《半路夫妻》结局| 天宝伏妖录第二季| 昆明长丰中学| 末日村庄电影完整在线观看| 女战狼10国语原版高清| 济南炼油厂| 放荡的女人2| 流行曲谱| 庆余年第一季在线观看| 忍不住的继拇中字3| 美食的俘虏141| 法国空姐看完整免费高清原声奔跑吧 | 热辣滚烫电影完整版| 喜欢你时风好甜| 越南战争女兵的电影| 红场阅兵2025| 荒野求生21天无删减版什么时候出| 灌篮高手连载| 计春华简介| 需要爸爸播种子在线观看,正在播放《需要爸爸播种子》在线观看HD中字_无极影视 | 大电影奥特曼| 万古尊上短剧免费观看| 血腥的夜晚| 需要爸爸的种子免费观看| 神探夏洛克第四季第三集下载 | 断刀纪录片全集| 飞驰人生2免费观看全集高清版| 火烧岛 电影| 雪中行第二部50集免费观看| 《熟睡被义子侵犯电影| 年轻的妈妈hd| 君临天下之血溅太和殿| 护士交换粗吟配乱大交| エロください资源| 一起愁愁愁全部免费播放| 新红楼梦剧情| 婚庆摄像教程| 电影《美容院的特殊待遇》5纹身女演| 弱小的英雄第二季| 妈妈的职业2观看全集免费高清| 未生 电视剧| 美丽的桃子美国版5娃娃脸| 《屋顶工》拉拉在线观看| 帕丁顿熊3电影国语版免费观看| 《义子侵犯》完整版| 我家也有外星人| 满清十大酷刑电影| 龚《新金梅》| 《呕吐实验室》免费观| 下家三千金| 替弟还债| 浴血黑帮:不朽传奇| 时光就像一把杀猪刀| 韩国房产销售的秘密bd| 滚滚红尘 罗大佑| 电视剧开心小和尚| 再逢明月照九州| 丧尸世界大战| 《不被疼爱上司的夫人》演员表| 韩剧泡沫爱情| 赌圣周星驰国语| 平西王是谁| 高压监狱香港| 命案2023国语版在线播放| 小娘惹全集电视剧免费1-50集| 《奇怪的美发沙龙》演员名单| 风情万种野玫瑰电影| 招待外卖员电影| 电影《夺冠》| 一生一世完整版免费| 深圳卫视决胜制高点| 喜欢你时风好甜| 我女友的妈妈双字ID免费韩剧| 名侦探柯南 影音| 爱上女主播分集介绍| 需要爸爸的种,在线观看| 《爱情回来了》电视剧| 《八尺夫人意大利满天星》完整版| 老男孩在线观看| 饮食男女高清免费完整版在线观看| 天海翼在线写真视频| 第一炉香在线| 流光飞舞粤语| 正在播放:丈夫不在家的5天之间,被命令禁欲直到初夜为止的我身心都被性豪的公 | 壮志凌云啄木鸟满天星法版| 太原理工大学2020录取分数线| 友田真希中文字幕| 我变美的那夏天| 《漂白》| 美姊妹牙医在线完整播放电影| 孩子快抓紧妈妈的手| 夏日福星粤语版| 《美妙的爱情》| 绝望的主妇第八季| 《示范销售避孕套》2| 退钱哥希望大家记住落后就要挨打| 电影恋爱的味道| 战狼6电影在线观看免费版高清| 男男少年乖H调教跪趴SM文| 特种兵之火凤凰剧情| 风风风韩剧原版| 高清《佐佐木与宫野》| 四川40岁阿姨免费观看电视剧| 再逢明月照九州| 枭起青壤在线免费观看| 亲近相尾2中文版在线观看| 隋唐英雄传4部| 电视剧怪侠欧阳德| 1984美式保罗中文1—4| 母狮行动美剧第二季在线观看 | 丰满的妽妽3韩国电影| 与玛格丽特的午后| 海天雄鹰电视剧全集在线观看| 兔子先生第一季第6期24k高清无打码| 门事件电影直播| 甄嬛传48| 大明风华1-62集免费| 武契奇收到死亡威胁| 销售的销售秘密2HD中字国 | 强制诱惑| 亦舞之城电视剧在线观看| 动感之星小玲108集全集免费| 量子沙盘| 妈祖电视剧全集爱奇艺| 香港电影桃色凶器| 折腰电视剧结局| 宦海奇官粤语| 波多吉野电影。| 呼啸山庄全集观看| 相亲2下载| 《夫妻一场》大结局| 《画皮》丁程鑫版| 武夷山市| 我会好好的电影免费观看| 隔壁小蛙| 《妻子偿还》| 伪恋ova3| 写的比较细的开车故事| 《特殊的治疗》2李采潭中文| 慰安妇影片| 上位 电影| 木子檀檀子在线观看全集免费 | 妈妈在等你免费完整版电视剧| 法国空姐四在线观看| 蛇姬cos| xl司令动漫第一季| 游剑江湖高清| 《秘密囚禁》完整版| 娃娃脸9西班牙版| 小宇宙33号| 野花影视在线观看免费高清完整版| 《陆判官仙根》徐锦江在线观看 | 年轻的妈妈韩版带中译| 校花的贴身高手无删减版电视剧| 小蜜桃逃6完整版 | 价值16万手镯被扔进垃圾桶| 确山县| 时间都知道 电视剧免费观看| 铿锵锵锵锵锵在线观看完整版 | 新竹县| 最强车模| ZLJZLJZLJ日本妈妈| 妈妈的新男朋友| 值头发多少钱| 逆流而上的你免费观看完整版 | 年轻的女学生3| 虎符传奇电视剧| 满天星版《黑鹰坠落》女主| 超级富豪| 鼓手王澜| 一起嗟嗟嗟30分钟免费观看视频 | 龙门镖局多少集| 屋顶工垃拉电影免费观看| 当家主母电视剧免费观看| 情债电影在线观看| 坏妻子便利店被欺负后的故事梗概 | 风中奇缘全集| 妈妈的味道中文HD免费| 《二十一世纪爱情指南》免费观看全 | 女超人麦乐迪2013完整版| 情难自禁 2024 代高政| 刘罗锅别传| 牙医姐妹完整版在线观看| 张思德的故事| 公司职员 电影| 男女一起愁愁愁在线免费观看| 芭比公主之时尚童话| 电视剧传说| 茶啊二中第四季| 丈夫升职妻子陪上司吃饭 | 功夫教练| 维修工王李丹妮| 御赐小仵作| 真实的人类第一季| 篠田优电梯被困086在线观看| 多样的儿媳| 安全屋电影| 女员工的付出中字马少杰| 南陵王电视剧全集| 青花电影在线观看免费| 《xl司令》在线观看完整版动漫| 惊天下:女状元文武全集免费| 纯真的年代全集| 极品老师第三季免费观看完整版| 郭德纲最新相声全集| 牌坊下的女人全集| 圣特罗佩女孩1982满天星| 新娘十八岁电视剧国语版全集| 四川少女免费观看电视连续剧| 奔跑吧兄弟最新一季2024| 花与蛇1全集| 被拒绝的爱泰剧免费播放全集| 《王牌部队》| 岳円木下檀檩子温泉观看| 地狱奶奶| 余罪第一季全24集观看完整版| 手撕绿茶:姐姐超飒全集免费| 柳传志被选入小学教材引争议| 八零弃少:重生搞钱宠媳妇全集免费| 荣誉法则| 火口的两个人去模糊板完整免费观看 | 两个妈妈吗| 品色AV| 坏姐姐之拆婚联盟| 21世纪爱情指南免费观看高清好想要| 高清凤仙花未删减| 妖精的尾巴41| 结衣波多野电影| 《和讨厌的部长出差旅》在线| 代号九耳犬电视剧全集免费观看| 第一次遇见花香的那刻| 义姐是不是良喂养1-2集动漫在哪里看 | 真咲恵美| 凌云壮志(欧美)满天星法国夸克 | 沧元图3电视剧| 布兰迪《不当军事行为》在线| 噬血狂袭第五季| 蛇蝎美人百度影音| 痛的插曲| 风水弃少:改运旺家短剧全集| 巨蟒大战食人鳄| 97免费观看| 什么嗨曲好听| 爱你的基蒂 第三季| 需要爸爸种子免费观看电视剧| rio 全集| 异形庇护所第一季| 商务旅行戴绿色帽的女老板电影| 玉茗茶骨全集完整版| 为新中国前进| 站着再来一次30集全免费高清| 叶子楣电影| 电视剧海天之恋| 爱我多深原版不剪辑| 星克莱尔《妄想症》| 《东北剿匪记》电视剧| 《女特警满天星版》在线电影| 出轨的女人 qvod| 白袜子俱乐部| 金镖黄天霸| 《伊波拉病毒》普通话在线观看 | 让爹在弄一次吧第二季 | 男人的秘密免费观看全集| 三国62| 事物的秘密2浴室吃奶的更新时间 爱唯侦察2024年最新合集 | 美味风蛇图纸| 《女超人Melody满天星》在线观看 | 《西门大官人》高清免费观看| 狂飙电视剧百度网盘资源| 麦乐迪满天星免费观看完整版 | 巜性刑房3捆绑凌虐电影| 家教女老师| 牙狼garo 炎之刻印| MANTA所有歌曲TOTAKKA HAYA KIRGUZUX | 愉悦与苦痛的电影| 本乡爱的所有电影| 体能之巅3: 亚洲大挑战| 天使之恋在线观看| 混血儿的摇篮曲在线观看完整版| 爷们儿电视剧全集45集免费| 放羊的星星在线观看| 时间都知道电视剧免费观看完整版| 厨缘电视剧| 超神学院第二集| 三A级做爰片免费观看玉蒲团播放| 酋长的女儿2满天星版叫什么| 属于你我的森林| 《热血青春》凯帕克| 需要爸爸播种籽在线观看 | 美国伦理《生殖按摩》免费观看| 丁俊晖今晚直播现场| 三线轮回电影完整版在线观看| 黑暗森林满天星版美国| 非诚勿扰电视剧| 名侦探柯南绀青之拳免费观看 | 金泽文子| 八尺夫人满天星法版在线观看| 西条琉璃在线| 伽玛刀治疗肝癌| 掌中独宠电视剧免费观看| 铜锣铜钹铿锵锵免费观看| 传闻中的陈芊芊24集观看| 夫人马甲藏不住了| 私人航空电影法国在线观看| 高等教欲| 高清《求佛》po| 《贪婪之岛2》电影| 免费国产电视剧在线观看| 那年花开全集免费观看星辰| 誓言电视剧| 《图书馆的女友》5-6集结局中文版 | 激战丛林3免费观看| 一寸法师| 电视剧战争不相信眼泪| 美女战争| 《机械师6》电影在线看| 无敌秘书全集在线观看 | 战狼6免费观看全部下载高清| 知否知否应是绿肥红瘦 晋江| 越淘越开心新还珠格格| 错点鸳鸯电视剧全集优酷 | 女鼓手电影在线观看| 《绝对恋爱命令》动漫| 木下免费在线观看| 欢喜冤家电影| 美版花样男子| 乳房按摩电影| 正在播放销售的销售秘密3-在线观看- 最新热门电影电视剧-麻花影院 | 《九歌》完整版免费观看| 将军夫人全集免费| 《落魄贵族琉璃川》免费观看全集动漫 | 欧式少女第16集全集剧情介绍视频 | 电视剧青盲在线观看| 我的游泳女教练在线播放 | 使徒行者优酷| 致命游戏2024电视剧免费观看 | 高清《打蛇》电影在线观看| 伸冤人3在线| 澜沧| 韩国电影 奸臣| 公交车艳妇系列1一40| 芙蓉诀 电视剧| 魔镜号街头中文字幕免费完整版 | 无人区日本电影在线观看| 集中营电影| 白上之黑全集免费观看电影| 余罪第一季完整版| 行尸走肉第三集| 克罗斯凯登电影合集| 男按摩师吸乳房HD中字| 完美世界dj| 古惑仔3之只手遮天免费观看| 安娜的妈妈偷看儿子手机是哪一集 | 美女匪帮| 失乐园韩国| 高清《错爱2》短剧汪语琴免费观看| 《特殊的治疗室》中字| 《三十而已》电视剧| 门锁电影免费完整版| 女飞行员(法国)满天星女版在线观看| 坎贝奇品味人生观看| 前任攻略4| 黑狱圣女国语在线播放免费| 女员工5的付出中字| 朴亚珍《隐形帽》原版在线观看| 360大佬爱上我免费观看| 地狱默示录| 法国电影《农场保卫战》在线观看| 哈哈哈哈哈 第六季| 点燃我温暖你全集在线观看 | 满天星版《超女麦乐迪》在线观看| 默杀在线观看完整免费高清| 哈利 波特与死亡圣器下| 魔鬼恋人10| 男女一起愁愁愁免费在线观看| 女人的战争免费观看| 好男人电视剧| 老千电影| 男生和女生在一起愁愁愁电视剧在线观看30| 妈妈儿想你| 爱情公寓3没有如果是第几集| 随唐英雄全集| 女保险公司推销8中文| 很高兴认识你泰剧免费观看完整版| 枭雄电影| 欢乐颂1免费观看全集电视剧完整版| 巴西电影《营销技巧》| 送给老师的歌| 电竞国家集训队集体亮相| 像我这样的小可爱| jizz分类| 人体蜈蚣1电影| 天蚕变电视剧| 最新情色| 《大度》韩世雅和谁在一起了| 策驰影视2022| 高清《恶魔人》动漫| 斯卡布罗集市吉他| 美国式保罗1-4| 都市战神短剧全集| 非正式爱情| 《妻子去加班的夜》中文翻译| 天美影院电视剧在线观看免费视频下载安装| 战狼双人免费高清完整版下载| 你是我的英雄| 鹿鼎记陈小春版演员表| 揭东县| 《特殊客房》| 侃爷妻子或因穿着暴露坐牢| 聊斋奇谭2之天宫美人| 犬夜叉168| 三年成全影视大全免费播出| 囚欢七夜:冷心总裁虐恋妻| 楼房倒塌人像饺子往下掉不实| 梅州民生820| 三年免费观看在线观看大全第一集 |