为什么不以特定于浏览器的字节码发送JavaScript文件?
JavaScript没有通用的字节码,但大多数JavaScript引擎都有自己的字节码。由于JavaScript文件以源代码字符串的形式传输,它们必须在执行之前将源代码字符串解析/编译为字节码 但是,由于我们可以在HTTP请求中指定用户代理类型(例如浏览器类型和版本),我们不能让服务器为每个浏览器保留字节码并相应地响应以节省客户端的时间吗 是什么阻止我们采取这种方法?我认为浏览器不会有任何问题,即使一些JavaScript文件是以字节码给出的,而另一些是以源字符串给出的。类似地,我们在Python中有.pyc文件,它与.py文件一起运行良好 [更新] 我能想到的潜在好处如下为什么不以特定于浏览器的字节码发送JavaScript文件?,javascript,webkit,bytecode,javascriptcore,Javascript,Webkit,Bytecode,Javascriptcore,JavaScript没有通用的字节码,但大多数JavaScript引擎都有自己的字节码。由于JavaScript文件以源代码字符串的形式传输,它们必须在执行之前将源代码字符串解析/编译为字节码 但是,由于我们可以在HTTP请求中指定用户代理类型(例如浏览器类型和版本),我们不能让服务器为每个浏览器保留字节码并相应地响应以节省客户端的时间吗 是什么阻止我们采取这种方法?我认为浏览器不会有任何问题,即使一些JavaScript文件是以字节码给出的,而另一些是以源字符串给出的。类似地,我们在Pytho
- 所有引擎都需要公开其字节码格式
- 服务器需要保存很多不同的字节码文件,甚至需要动态编译它们
- 浏览器检测充满危险(用户代理、代理缓存)
- 字节码规则可能在浏览器的次要版本之间更改
- 性能提升可能不会那么显著(尤其是与网络传输时间相比)