JavaScript的链接方法和处理时间(Javascript chaining methods a

2019-08-17 21:01发布

我是用JavaScript API的工作,我看到这句话:

由于JavaScript是一种脚本语言,每行代码占用宝贵的处理器时间。 改善处理器时间的一种方式是链方法调用,以减少的行代码。 的对象,如esri.Graphic和esri.symbol。*提供setter方法返回对象本身,从而允许方法链接。

低效率:

var symbol = new esri.symbol.SimpleMarkerSymbol();
symbol.setSize(10);
symbol.setColor(new dojo.Color([255,0,0]));

更高效:

var symbol = new esri.symbol.SimpleMarkerSymbol().setSize(10).setColor(new dojo.Color([255,0,0]));

当链接的方法调用,你需要确定你的代码的效率和可读性之间的平衡。 如果你避开链接您的代码可能是更具可读性和可维护性; 但是,您将失去该链接提供的性能优势。

我明白了在Java中,写一个链法VS方法的栈应该向下编译到相同的字节码。 然而,由于这是一种脚本语言,这是否真的站得住脚? 另外,如果是这样,是否值得牺牲可读性为的代码段的性能的代码?

而对于在哪里,我从拿到本标准的引用: http://help.arcgis.com/en/webapi/javascript/arcgis/jshelp/inside_graphics.html

编辑:经过一些性能测试,我发现,它并不真正重要的方法是否被链接或没有。 (一次一个会更快,另一个时间,另一个是快)

Answer 1:

像这样的链接方法可以提高性能,但仅在您正在使用的API是建立在提供这种功能有限的情况下。 我想到的第一个例子是使用jQuery。

调用$(“#测试”)需要时间返回jQuery对象,引用#TEST。

当你链接一个方法,它重用该对象。

看看这个测试我为例进行说明。

http://jsperf.com/chaining-demo



文章来源: Javascript chaining methods and processing time