2009-10-01 58 views
4

我的谷歌,荷兰国际集团这个一直不成功,所以这里的问题:关键字扩展JavaScript的

我想知道是否可以添加自己的关键字,在给定的框架扩展JavaScript语言。

例如

Object1 extends Object2 

中的代码会导致在执行这种方法

inherit(Object1, Object2) 

哪里继承的是,负责拷贝这些原型,加入了父类的构造,等功能..

这是可行的吗?如果是这样,怎么样?如果没有,这样做的任何其他好方法?

谢谢。

回答

3

您无法将关键字添加到该语言,但所有内容都是对象,并且所有内容都可以通过原型设计进行扩展。

我通常不会链接到crockford,但他实际上有quite a decent coverage of this,它将为您提供形式foo.inherits(bar);的语法,其格式约为人们所希望的。这是一个相当普遍的模式。

+0

为什么你通常不会链接到crockford? –

+3

因为我不同意他所说的关于我心爱的javascript的很多事情,并且我认为他的意见是不经过自我考虑而重复的。 – annakata

+0

@annakata百万倍这个。很高兴我并不孤单。 –

0

无法在JavaScript中添加新关键字,你可以创建自己漂亮的界面来创建类,也许从已有的无数图书馆,框架和工具包中获得灵感!

+0

实际上可以使用sweet.js为JavaScript创建关键字。在此页面上查看我的回答。 :) –

3

为此目的已经开发了几个JavaScript宏系统,包括sweet.js。使用Sweet.js宏系统,您可以用一个关键字替换一个关键字(例如,用关键字def替换function关键字。)但是,为了运行sweet.js脚本,您必须先使用sweet将它们编译为JavaScript。 js编译器。