javascript如何为函数和数组等对象创建替代语法?

时间:2015-01-19 18:06:13

标签: javascript jquery object syntax prototype

我一直想知道的事情,javascript(或一般语言)如何使用'alternate'语法来声明内置对象的实例化?例如。

// This being the same as..
var array = new Array('hi','there');

// This.
var array = ['hi','there'];

// or
var myFun = new Function("a","b","return a * b");

// being the same as..
var myFun = function(a,b){ return a * b }

如果我在自己的图书馆工作,有什么方法可以做到这一点吗?说我想为特定的东西制作一些新的语法?原型方法中有什么东西吗?或者这是否超出了开发人员的捕获范围,只有在W3的掌握之内?

John Resig的jQuery似乎有一个独特的语法

$('.class').css({'color':'#000'});

为了获得这种级别的定制,他还需要做些什么吗?或是这样做的事情......

// Obviously just a very simple example.
var $ = function(param){
    return document.querySelectorAll(param);
}

我很想知道并期待听到您的回答,谢谢。

1 个答案:

答案 0 :(得分:5)

没有JavaScript库会改变语言的语法,因为JavaScript没有本地设施来做到这一点。例如,jQuery" syntax"只是简单的JavaScript语法。您也可以创建自己的名为$的函数,并编写返回对象的函数以允许"链接"代码风格。

有些语言具有不同功能强大的宏设施,有效地允许编写新语法。 JavaScript不是这些语言之一(没有一些外部工具)。

TypeScript,PureScript和CoffeeScript之类的东西本质上是预处理器,可以解析不同的语法来生成纯JavaScript。