javascript如何为函数和数组等对象创建替代语法?
我一直想知道的是,javascript(或一般语言)如何使用“替代”语法来声明内置对象的实例化?比如说javascript如何为函数和数组等对象创建替代语法?,javascript,jquery,object,syntax,prototype,Javascript,Jquery,Object,Syntax,Prototype,我一直想知道的是,javascript(或一般语言)如何使用“替代”语法来声明内置对象的实例化?比如说 // 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 = fu
// 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);
}
我很想知道,并期待听到你的回答,谢谢。没有JavaScript库可以改变语言的语法,因为JavaScript没有本机的功能来做到这一点。例如,jQuery“语法”就是简单的JavaScript语法。您也可以创建自己的名为
$
的函数,并编写返回对象的函数以允许这种“链接”代码样式
有些语言具有各种强大的宏功能,可以有效地生成新语法。JavaScript不是这些语言之一(没有一些外部工具)
TypeScript、PureScript和CoffeeScript等基本上都是预处理器,它们解析不同的语法以生成纯JavaScript。没有任何JavaScript库可以更改语言的语法,因为JavaScript没有本机的功能来实现这一点。例如,jQuery“语法”就是简单的JavaScript语法。您也可以创建自己的名为
$
的函数,并编写返回对象的函数以允许这种“链接”代码样式
有些语言具有各种强大的宏功能,可以有效地生成新语法。JavaScript不是这些语言之一(没有一些外部工具)
TypeScript、PureScript和CoffeeScript等基本上都是预处理器,它们解析不同的语法以生成纯JavaScript。您不能创建自己的语法,并期望它在股票JS引擎上工作,而股票JS引擎根据定义只执行JS语法。JS是通过它的语言定义、解析器和语法来实现的。jQuery没有什么独特之处,毕竟它只是一个JS库。如果你想使用你自己的语法,你需要将它转换成JS,比如CoffeeScript/等等。你可以使用你的自定义语法。。。但是你必须自己解析它。作为这类主题的进一步阅读,你可能会对学习编译器(一种流行的工具)和解析器(一种流行的工具)感兴趣。你不能创建自己的语法并期望它在一个股票JS引擎上工作,根据定义,它只做JS语法。JS是通过它的语言定义、解析器和语法来实现的。jQuery没有什么独特之处,毕竟它只是一个JS库。如果你想使用你自己的语法,你需要将它转换成JS,比如CoffeeScript/等等。你可以使用你的自定义语法。。。但是你必须自己解析它。作为这类主题的进一步阅读,你可能会对学习编译器(一种流行的工具)和解析器(一种流行的工具)感兴趣。谢谢你,所以这只是操纵当前语法的问题,而替代语法是我们无法理解的,至少对于javascript来说是如此。即使是用于操作或创建语法的库也只是修改当前语法的复杂解决方案。非常感谢。谢谢,所以这只是操纵当前语法的问题,而备用语法是我们无法触及的,至少对于javascript来说是如此。即使是用于操作或创建语法的库也只是修改当前语法的复杂解决方案。谢谢你,尖刻的。