JavaScript和Java有什么区别?
Java和Javascript类似,Car和Carpet相似.
一个本质上是一个玩具,设计用于编写小块代码,传统上由没有经验的程序员使用和滥用.
另一种是用于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对象中的方法与其类绑定,不能在运行时重新定义.
看看维基百科的链接
尽管有名称,JavaScript本质上与Java编程语言无关,尽管两者都具有通用的C语法,并且JavaScript复制了许多Java名称和命名约定.该语言最初被命名为"LiveScript",但在Netscape和Sun之间的联合营销协议中重新命名,以换取Netscape将Sun的Java运行时与他们当时占主导地位的浏览器捆绑在一起.JavaScript中的关键设计原则继承自Self和Scheme编程语言.
一切.
Netscape以这种方式命名JavaScript,让那些粗心大意的人认为它与Java有关,这是当时的流行语,并且它成功了.
这两种语言完全不同.
Java是针对JavaScript的,因为火腿是仓鼠
JavaScript是一种面向对象的脚本语言,允许您创建动态HTML页面,允许您处理输入数据和维护数据,通常在浏览器中.
Java是一种编程语言,核心库和虚拟机平台,允许您创建几乎在每个平台上运行的编译程序,而无需以原始格式或重新编译方式分发源代码.
虽然两者具有相似的名称,但它们实际上是两种完全不同的编程语言/模型/平台,并且用于解决完全不同的问题集.
此外,这直接来自维基百科的Javascript文章:
一个常见的误解是JavaScript与Java类似或密切相关; 事实并非如此.两者都具有类C语法,面向对象,通常是沙盒,并且广泛用于客户端Web应用程序,但相似之处到此为止.Java有静态类型; JavaScript的输入是动态的(意味着变量可以包含任何类型的对象,并且不能被限制).Java是从已编译的字节码加载的; JavaScript被加载为人类可读的代码.C是他们最后的共同祖先语言.
除了完全不同的语言之外,根据我的经验:
Java起初看起来很不错,后来它变得很烦人.
JavaScript起初看起来很糟糕且绝望,然后你逐渐开始喜欢它.
(但这可能与我对OO编程的函数式编程的偏好有很大关系......;)
一切.他们是无关的语言.
它们是具有不相关谱系的独立语言.Brendan Eich最初在Netscape创建了Javascript.它最初被称为摩卡.选择Javascript作为名称是一个点头,如果你愿意的话,那就是当时的Java程序设计语言,由Patrick Naughton,James Gosling等人在Sun开发.人.
就像每个人的说法一样,它们完全不同.
但是,如果您需要Java应用程序的脚本语言,Javascript实际上是一个非常好的选择.有一些方法可以让Javascript在JVM中运行,并且一旦你这样做就可以非常无缝地访问和操作Java类.