博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uglify2之transform
阅读量:5107 次
发布时间:2019-06-13

本文共 1051 字,大约阅读时间需要 3 分钟。

所有的节点的transform方法都对应同一个函数:

node.DEFMETHOD("transform", function(tw, in_list){            var x, y;            tw.push(this);            if (tw.before) x = tw.before(this, descend, in_list);            if (x === undefined) {                if (!tw.after) {                    x = this;                    descend(x, tw);                } else {                    tw.stack[tw.stack.length - 1] = x = this.clone();                    descend(x, tw);                    y = tw.after(x, in_list);                    if (y !== undefined) x = y;                }            }            tw.pop();            return x;        });

不同的是每个节点可以有不同的descend方法 

AST_Node的descend方法为一个空函数

以下节点有自定义的descend方法

AST_LabeledStatement,AST_SimpleStatement,AST_Block,AST_DWLoop,AST_For,AST_ForIn,

AST_With,AST_Exit,AST_LoopControl,AST_If,AST_Switch,AST_Case,AST_Try,AST_Catch,

AST_Definitions,AST_VarDef,AST_Lambda,AST_Call,AST_Seq,AST_Dot,AST_Sub,

AST_Unary,AST_Binary,AST_Conditional,AST_Array,AST_Object,AST_ObjectProperty

转载于:https://www.cnblogs.com/gniavaj/p/4243677.html

你可能感兴趣的文章
下一代操作系统与软件
查看>>
【iOS越狱开发】如何将应用打包成.ipa文件
查看>>
[NOIP2013提高组] CODEVS 3287 火车运输(MST+LCA)
查看>>
Yii2 Lesson - 03 Forms in Yii
查看>>
Python IO模型
查看>>
Ugly Windows
查看>>
DataGridView的行的字体颜色变化
查看>>
Java再学习——关于ConcurrentHashMap
查看>>
如何处理Win10电脑黑屏后出现代码0xc0000225的错误?
查看>>
局域网内手机访问电脑网站注意几点
查看>>
c++ STL
查看>>
json数据在前端(javascript)和后端(php)转换
查看>>
[Serializable]的应用--注册码的生成,加密和验证
查看>>
Groovy中那些神奇注解之ToString
查看>>
Day19内容回顾
查看>>
第七次作业
查看>>
MySql update inner join!MySql跨表更新 多表update sql语句?如何将select出来的部分数据update到另一个表里面?...
查看>>
我最宏大的个人愿望
查看>>
北漂周记--第5记--拼命编程
查看>>
比赛总结一
查看>>