zoukankan      html  css  js  c++  java
  • 逗号表达式

    const fs = require('fs');
    const { parse } = require("@babel/parser");
    const traverse = require("@babel/traverse").default;
    const types = require("@babel/types");
    const generator = require("@babel/generator").default;
    
    let jscode = `
    
    function test2(a,b,c,d,e,f){
        return f = (e = (d = (c = (b = (a = 1000,a+50,b+60,c+70,a+2000), d+ 80,b+3000),e+90,c+4000),f+100,d+5000),e+6000);
    
    }
    console.log(test2());
    `;
    
    let ast = parse(jscode);
    
    
    const visitor =
    {
        SequenceExpression: {
            exit(path) {
                let expressions = path.node.expressions;
                let finalExpression = expressions.pop();
                let statement = path.getStatementParent();
                expressions.map(function (v) {
                    statement.insertBefore(types.ExpressionStatement(v));
                });
                path.replaceInline(finalExpression);
            },
        }
    
    }
    
    
    
    traverse(ast, visitor);
    let { code } = generator(ast);
    console.log(code);
  • 相关阅读:
    LDD3 第7章 Time,Delays and Deferred Work
    4412 gpio读取pwm
    LDD快速参考
    4412 4路pwm输出
    PCB六层板学习(一)
    STM32 TIM3 PWM输出 4路
    4412 学习目录总结
    4412 Linux定时器
    4412 SPI驱动
    4412 i2c驱动
  • 原文地址:https://www.cnblogs.com/angdh/p/15780774.html
Copyright © 2011-2022 走看看