在node.js中,我假设通过扩展V8,内置(例如JSON,Math等)本机代码驻留在解释器中,或者它们是javascript代码,其解释方式与其他用户相同 - 书面代码?
例如,对JSON.stringify(my_data)
的调用是否会跳转到已编译的机器代码,还是只运行更多JS代码?
答案 0 :(得分:1)
这似乎是JSON字符串化的原因: https://github.com/joyent/node/blob/master/deps/v8/src/json-stringifier.h
快速浏览回购邮件会让您了解用本机代码编写的内容(以及不是什么): https://github.com/joyent/node/tree/master/deps/v8/src
答案 1 :(得分:0)
浏览V8源代码,我认为它是两者的混合。 JSON由json-parser.h中的本机代码支持; (至少部分)数学在math.js中实现为JavaScript。