脚本语言和编译语言

时间:2011-03-31 17:23:47

标签: java javascript jquery mootools

我有两个问题:

  1. Jquery / MooTools如何扩展Javascript的语法?我的意思是为什么你能为Jquery和MooTools提供Javascript中不存在的新语法?
  2. 由于MooTools允许用户拥有类,继承。像这样的解释语言越来越接近编译语言。他们最终会取代Java(在JVM上运行)吗?或者Java的特定方面是Javascript的扩展永远不会实现吗?
  3. 这可能是愚蠢的问题,但我真的想要一些关键词来解释它们。

    由于

5 个答案:

答案 0 :(得分:3)

JQuery给出重新定义语言印象的一种方法是使用$运算符。然而,可能不太清楚的是$只是在窗口(全局)范围内声明的函数,因为$是JavaScript中的有效变量名:

来自消息来源:

jQuery = window.jQuery = window.$ = function( selector, context ) {
    // The jQuery object is actually just the init constructor 'enhanced'
    return new jQuery.fn.init( selector, context );
},

答案 1 :(得分:1)

他们没有扩展javascript的语法。他们仍然必须遵守javascript的所有语法规则。

答案 2 :(得分:1)

jQuery没有扩展javascript的语法 - 它只使用一些花哨的技巧,比如使用$ variable。 MooTools的类实际上是一个实例化的类。既没有扩展javascript的语法,也只是通过巧妙地使用变量使其显示出来。

至于关于解释和编译语言的第二个问题,答案有点复杂,可能超出了我的范围。试试Google

答案 3 :(得分:1)

  

Jquery / MoonTool如何扩展   Javascript的语法?我的意思是为什么你可以在Javascript中使用Jquery和MoonTool的新语法?

你做不到。 Javascript语法非常灵活,因此您可以通过很多方法为现有语法添加新语义(含义/功能)。

  

由于MoonTool允许用户拥有   阶级,遗产。解读   像这样的语言越来越近了   编译语言。他们会吗   最终取代Java(运行于   JVM)?

解释与编译与语言语法或语义无关。此外,Javascript和Java现在通常都是JIT编译的。

  

或者是Java的特定方面   对Javascript的扩展会   永远不会实现?

静态类型检查一件事(当然,除非语言规范相应地改变。但这很可能是以理智的方式)。或原生支持正常的整数。

答案 4 :(得分:0)

jQuery和MooTools等库不会“扩展”JavaScript语法。这都是合法的JavaScript。他们只是以你不熟悉的方式使用它。例如,jQuery中的$只是变量的名称,因为JavaScript变量中可以包含$

此外,不,JavaScript是一种完全不同于Java的动物。 JavaScript 一种面向对象的语言,但它的完成方式不同。我不熟悉MooTools,但他们没有做任何特别的事情。看起来他们正在“改变”JavaScript,但事实并非如此。编译JavaScript是没有意义的。