Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用AS3和其他基于类的语言编写jQuery风格的函数链_Jquery_Flash_Oop_Coding Style_Chaining - Fatal编程技术网

用AS3和其他基于类的语言编写jQuery风格的函数链

用AS3和其他基于类的语言编写jQuery风格的函数链,jquery,flash,oop,coding-style,chaining,Jquery,Flash,Oop,Coding Style,Chaining,这不是我面临的具体问题,我可以做更多的选择,但我确实相信这个问题与此相关,因为这样做可能会有一个“正确的”OO答案,以及性能上的好处/损失。我在AS3中工作,但我相信这个问题与其他基于类的/oo语言相关 我试图找到一种方法,为一个具有不同参数的类提供Java风格的多个构造函数(这是另一个故事),但这让我想到了jQuery,以及它如何通过让它们(在可能的情况下)返回调用它们的对象来链接函数 它并不总是适合jQuery最整洁的代码,我想这与经典方法不同,但我想知道对于这种方法是否有什么要说的: //

这不是我面临的具体问题,我可以做更多的选择,但我确实相信这个问题与此相关,因为这样做可能会有一个“正确的”OO答案,以及性能上的好处/损失。我在AS3中工作,但我相信这个问题与其他基于类的/oo语言相关

我试图找到一种方法,为一个具有不同参数的类提供Java风格的多个构造函数(这是另一个故事),但这让我想到了jQuery,以及它如何通过让它们(在可能的情况下)返回调用它们的对象来链接函数

它并不总是适合jQuery最整洁的代码,我想这与经典方法不同,但我想知道对于这种方法是否有什么要说的:

//execute chains of methods on creation, as each returns its parent class (person)
var person:Person = new Person().male('a male', 25).wakeUp().lookAround();

//Or later
person.getUp().rubEyes();
…如果成员函数都返回一个通常不需要的对象,这是否意味着任何重大浪费/性能问题?

这似乎是一种保存代码并以更可读的方式表示函数序列的好方法,我想知道是否有人能提供帮助


提前感谢

是的,有一些话要对
person.getUp().rubEyes()说:从语义上看,它看起来更好。就这些

newperson().male('a male',25)
则完全不同。“男性”不像“打扮”那样是动词。我更喜欢:
新人({性别:男性,年龄:25})

如果不使用返回的对象,是否会对性能造成重大影响?不。首先,大多数(jit)编译器都足够聪明,能够发现返回的对象从未被使用过,因此根本不会执行这些指令。这是一种称为死代码消除的优化策略。其次,即使编译器不会执行这种优化,我们仍然在谈论一些微不足道的时钟周期。没什么你该担心的。总的来说,我建议您不要担心这些性能问题。最好将优化工作集中在编译器无法帮助您的代码部分(即设计、算法等)


祝你玩得开心

你可能想读一些关于感谢的有趣的读物——它没有说任何关于代码性能的东西,我猜返回值只是一个引用,不管它是什么类型。我认为这会更常见,但它是整洁的。有趣的答案-我当然可以看到你关于动词/动作的观点。我想,即使没有消除死代码,在像AS/JS/Java这样的语言中返回的也只是一个指针,指向的对象的大小是无关紧要的。