Appearance
简介
JavaScript 是什么?
JavaScript 是一种脚本编程语言。
JavaScript 能做什么?
JavaScript 是图灵完备的,理论上来说,其它语言能做的,JavaScript 都能做。
那为什么在浏览器上面不能读写本地文件?
因为浏览器出于安全考虑,默认情况下不允许读写本地文件。也就是说 Javascript 能做什么,不能做什么,要看它的运行环境的。在 NodeJs 上面很多都可以做,是因为 NodeJs 提供了很多额外的 API。JavaScript 什么都能做指的是计算上,逻辑上是可以的。如果你想控制挖掘机,也可以啊,只要提供合适的 API 给 JavaScript 就可以了。
这里让我想到了知乎上面有人提问说,毕设答辩,老师说 node 不可能写后台怎么办?
我觉得这个老师确实是有问题的,都不是说知识没有更新的问题了。是对于编程语言的认识就不足,把编程语言和运行环境分开来了。
我本科毕业的时候(2018 年)就有同学用 NodeJs 写后台,那个时候其实我也没有用过 NodeJs。但是他和我说是用 Javascript 这个语言的时候,我并没有惊讶。虽然我只有在浏览器上面运行过 Javascript,但是我知道只要把浏览器中运行 Javascript 的那个环境摘出来,那么 Javascript 就可以运行在任何地方。
所以编程语言和运行环境要分开来,不要混在一起。 比如说 Java 虚拟机是一个运行环境,Java 语言是编程语言。并不是只有 Java 才可以运行在 Java 虚拟机上面,也不是 Java 只能运行在 Java 虚拟机上面。kotlin,scala, groovy,Clojure 等等都可以运行在 Java 虚拟机上面。GraalVM 也可以将 Java 编译生成机器码,脱离 Java 虚拟机运行。
语言是语言,环境是环境。菜就多练!输不起就别玩!