据说就是把表达式解析成一棵树(AST),然后从树的叶子末尾开始,逐层向上计算,用一个简单的 AST-like Object 写出来大概就是这个亚子: { expA: { expA: 6, expB: { expA: 3, expB: 7, operator: '*' }, operator: '-' }, expB: 88, operator: '+' } 真实情况下具体怎么玩的,就等真正的 JS 大佬来解答了。感觉蛮有意思的,先插个眼,有时间再来写个 parser。
据说就是把表达式解析成一棵树(AST),然后从树的叶子末尾开始,逐层向上计算,用一个简单的 AST-like Object 写出来大概就是这个亚子:
真实情况下具体怎么玩的,就等真正的 JS 大佬来解答了。
感觉蛮有意思的,先插个眼,有时间再来写个 parser。