JS本身只提供语法解析与少部分内部函数支持,其他的均由宿主支持。比如在网页JS中的window, document, navigator等对象,均是由浏览器提供基于其它语言的代码,这些代码通常被隐藏,但很大程度上决定了JS的运行效率。如果你有兴趣,打开Chrome,按F12,调处Console,然后输alert(注意没有()),你就会发现[native code]这个东西。
其实我觉得先回答另一个问题,为什么javascript不能直接操作文件。如果要处理文件,待处理的文件必须经过用户上传,或者下载一个文件给用户。
主要还是安全性问题,不能让浏览器直接改硬盘上的文件,用户上传的文件可以读可以写。
nodejs虽然和js一样是V8引擎,但是它是服务器端的,就跟java,php一样,可以直接操作文件。
其实不管是js还是nodejs都可以操作文件的,原理就是根据请求文件的路径和文件名,从硬盘上读出来...我觉得你并不是想问这个,你想问的我一开始就说了。