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