这 JavaScript 和 Java 有啥区别? 据说还有很多人不知道. 故事的起源是这样的: 从前, 有家叫 Netscape 的公司开发了一个名叫 Livescript 的脚本语言, 但是, 开发出来之后呢? 一直没啥名气. 公司正当愁要怎么提升知名度的时候, 另一家叫 Sun 的公司, 有一款编程语言叫 Java 的非常火, 这个 Netscape 公司就想要不来蹭个热度吧, 就把 Livescript 的名改成 JavaScript, 于是乎, Netscape 摇身一变成 JavaScript .
以上就是人称编程界蹭热度成功的故事, 以下才是最正经的作答方式:
Java 和 JavaScript 不同之处
● 出身不同:
JavaScript 与 Java 是由不同的公司开发的不同产品. JavaScript 是 Netscape 公司的脚本语言, 而 Java 是 SUN Microsystems 公司推出的新一代面向对象的程序设计语言.
● 嵌入方式不同:
在 html 文档中, 两种编程语言的标识不同, JavaScript 使用 <script></script> 来标识, 而 Java 使用 Applet 来标识.
● 语言类型不同:
JavaScript 是动态类型语言, 而 Java 是静态类型语言
● 所采取的变量不同
JavaScript 中的变量声明采用弱类型, 即变量在使用前不需作声明, 而是解释器在运行时检查其数据类型. Java 采用强类型变量检查, 即所有变量在编译之前必须作声明.
● 代码格式不同
JavaScript 的代码是一种谋咀址格式, 可以直接嵌入 HTML 文档, 并且可动态装载, 编写 HTML 文档就像编辑文本文件一样方便, 其独立文件的格式为 *.JS.Java 是一种与 HTML 无关的格式, 必须通过像 HTML 中引用外媒体那么进行装载, 其代码以字节代码的形式保存在独立的文档中, 其独立文件的格式为 *.class.
● JavaScript 采用动态联编, 即 JavaScript 的对象引用在运行时进行检查. Java 采用静态联编, 即 Java 的对象引用必须在编译时的进行, 以使编译器能够实现强类型检查.
● JavaScript 不直接对文本和图形进行操作, 它在 web 页面中与 HTML 元素组合一起发挥作用, 但它可以控制浏览器, 让浏览器直接对文本和图形进行处理. 而 Java 则可以直接对文本和图形进行操作.
Java 和 JavaScript 相同之处
● 它们的语法和 C 语言都很相似;
● 它们都是面向对象的 (虽然实现的方式略有不同);
● JavaScript 在设计时参照了 Java 的命名规则;
总而言之, JavaScript 除了长得和 Java 比较像之外, 语言风格相去甚远. JavaScript 在设计时所参考的对象不包括 Java, 而包括了像 Self 和 Scheme 这样的语言.
我目前是在职前端开发, 如果你现在也想学习前端开发技术, 在入门学习前端的过程当中有遇见任何关于学习方法, 学习路线, 学习效率等方面的问题, 你都可以申请加入我的前端学习交流裙: 前面: 603 中间: 985 最后: 993. 里面聚集了一些正在自学前端的初学者, 裙文件里面也有我做前端技术这段时间整理的一些前端学习手册, 前端面试题, 前端开发工具, PDF 文档书籍教程, 需要的话都可以自行来获取下载.
来源: http://www.jianshu.com/p/d023485c4801