我一直想知道的事情,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);
}
我很想知道并期待听到您的回答,谢谢。
答案 0 :(得分:5)
没有JavaScript库会改变语言的语法,因为JavaScript没有本地设施来做到这一点。例如,jQuery" syntax"只是简单的JavaScript语法。您也可以创建自己的名为$
的函数,并编写返回对象的函数以允许"链接"代码风格。
有些语言具有不同功能强大的宏设施,有效地允许编写新语法。 JavaScript不是这些语言之一(没有一些外部工具)。
TypeScript,PureScript和CoffeeScript之类的东西本质上是预处理器,可以解析不同的语法来生成纯JavaScript。