使用关键字扩展javascript

时间:2009-10-01 20:04:50

标签: javascript language-features feasibility

我对Google的了解并未成功,所以问题就在这里:

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

例如

Object1 extends Object2
代码中的

将导致执行此方法

inherit(Object1, Object2)

其中inherit是一个负责复制原型,添加父构造函数等的函数。

这可行吗?如果是这样,怎么样?如果没有,还有其他好办法吗?

感谢。

4 个答案:

答案 0 :(得分:3)

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

我通常不会链接到crockford,但他实际上有quite a decent coverage of this ,它将为您提供foo.inherits(bar);形式的语法,这种语法与您希望的一样好。这是一种非常常见的模式。

答案 1 :(得分:3)

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

答案 2 :(得分:1)

很容易做到:

window.inherit = function(...params){your code here}

您可以在不使用window对象的情况下调用window的方法,因此可以像inherit(arr1, arr2)

那样调用

答案 3 :(得分:0)

无法向JavaScript添加新关键字,没有。你可以创建自己的漂亮界面来创建类,也许已经从众多的库,框架和工具包中汲取灵感了!