JavaScript 和 Java 有什么区别?

IT技术 java javascript
2021-01-31 19:30:14

JavaScript 和 Java 有什么区别?

6个回答

Java 和 Javascript 很相似,就像 Car 和 Carpet 很相似。

我更喜欢关于火腿和仓鼠的版本。
2021-03-12 19:30:14
不幸的是,我不能声称原创。然而,我不记得我第一次听到它的地方。
2021-03-27 19:30:14

一个本质上是一个玩具,专为编写小段代码而设计,传统上被没有经验的程序员使用和滥用。

另一种是用于 Web 浏览器的脚本语言。

以下是两种语言之间的一些差异:

  • Java 是一种静态类型语言;JavaScript 是动态的。
  • Java 是基于类的;JavaScript 是基于原型的。
  • Java 构造函数是只能在对象创建时调用的特殊函数;JavaScript“构造函数”只是标准函数。
  • Java 要求所有非块语句以分号结尾;JavaScript 在某些行的末尾插入分号。
  • Java 使用基于块的作用域;JavaScript 使用基于函数的作用域。
  • Java 有this非静态方法的隐式作用域和类的隐式作用域;JavaScript 具有隐式全局作用域。

以下是我认为是 JavaScript 的特殊优势的一些特性:

  • JavaScript 支持闭包;Java 可以使用匿名类模拟某种“闭包”。(Java 的未来版本可能会支持真正的闭包。)
  • 所有 JavaScript 函数都是可变参数的;Java 函数只有在显式标记时才是可变参数。
  • JavaScript 原型可以在运行时重新定义,并对所有引用对象立即生效。Java 类不能以影响任何现有对象实例的方式重新定义。
  • JavaScript 允许独立于其原型重新定义对象中的方法(想想 Ruby 中的特征类,但在类固醇上);Java 对象中的方法与其类相关联,并且不能在运行时重新定义。
晚了 2 年,但非常感谢你这么周到的解释。它比选定的答案更有用和信息量更大,值得 IMO 多得多的选票
2021-03-10 19:30:14
在这种情况下,我都赞成。我们需要正确的答案,但是天啊,像我们这样的极客,我们真的需要更多这种幽默
2021-03-31 19:30:14
您也可以在这里使用强类型和松散类型,而不是静态类型和动态类型。
2021-04-07 19:30:14

看看维基百科链接

尽管名称如此,JavaScript 本质上与 Java 编程语言无关,尽管两者都具有通用的 C 语法,并且 JavaScript 复制了许多 Java 名称和命名约定。该语言最初被命名为“LiveScript”,但在 Netscape 和 Sun 之间的联合营销协议中重新命名,以换取 Netscape 将 Sun 的 Java 运行时与他们当时占主导地位的浏览器捆绑在一起。JavaScript 中的关键设计原则继承自 Self 和 Scheme 编程语言。

一切。

Netscape 以这种方式命名 JavaScript,目的是让粗心的人误以为它与 Java(当时的流行语)有关,并且它成功了。

这两种语言完全不同。

是的,它奏效了。@Greg Hewgill,世界可能会更美好,但 Javascript 可能不会是今天的样子。
2021-03-17 19:30:14
Javascript 最初被称为 Livescript,如果他们没有重命名,今天的世界可能会变得更美好!
2021-03-22 19:30:14
我怀疑这是否会引起混淆——这对公司有什么好处?我怀疑其意图是利用 Java 的成功,尽管效果如您所说。
2021-03-26 19:30:14
通过调用与类似名称无关的东西来“驾驭 Java 的成功”?对我来说,这听起来很像“为营销目的造成混乱”。
2021-04-01 19:30:14
Sun 在“Sun Java Desktop”中再次尝试了这种命名技巧,它本质上是 Gnome 的品牌版本,与 Java 无关。
2021-04-05 19:30:14