如果是指weqqjs代码转换,在JavaScript中,如何计算字符串形式的“1+1”得到结果2,那么
首先:eval(\"1+1\") 可以得到2,严格模式无法使用此方法,因为eval会被禁用
然后还可以这样深圳网络公司:new Function(\"return 1+1\")(); 通过function构造函数构造一个计算表达式函数js代码转换,直接运行得到return的结果。
前段时间见过一个东西叫做:js模拟器,通过JavaScript编写的js类库,可以运行字符串形式的js代码,能够打破严格模式的限制。
最终,你可以手动编写解析器,解析字符串,手动根据字符串的内容进行计算(字符串拆解为数字和运算符,然后根据运算符操作数字,可以采用栈结构保存他们,在js中使用数组就行)
如果你是指,js语言是如何做到计算1+1这样原本是字符串的JavaScript代码的:
js里面有语法分析器,词法分析器,会对js的源代码进行分析,形成语法树,然后可以根据语法树得到中间代码,最终编译为本地二进制代码并且缓存(如果这段js用的不多,也可能不编译,只是执行中间代码或者语法树,二进制代码是动态生成的)