我对Google的了解并未成功,所以问题就在这里:
我想知道是否可以添加我自己的关键字来扩展给定框架中的JavaScript语言。
例如
Object1 extends Object2
代码中的将导致执行此方法
inherit(Object1, Object2)
其中inherit是一个负责复制原型,添加父构造函数等的函数。
这可行吗?如果是这样,怎么样?如果没有,还有其他好办法吗?
感谢。
答案 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添加新关键字,没有。你可以创建自己的漂亮界面来创建类,也许已经从众多的库,框架和工具包中汲取灵感了!