我想知道如何连接方法调用而不调用它们(我指的是不使用() )。
例如,我知道如果对象的方法返回对象,我可以连接类似于jQuery中的方法:
$(myelement).attr('id','hello').addClass('my-class').etc(...但我在jasmine test framework或d3.js中看到,它们将对象与方法连接起来,而不调用它们,例如:
d3.svg.line.radial().etc(...我第一次想到它就像d3是object一样容易,.svg也是,.line也是,等等.
但是,如果我看一下D3.js源代码,或者只需输入dev工具控制台:
d3.svg.line上面说那条线是一个函数..。
function(){return ho(y)}那么,如果我将line与一个新的object/method连接起来,谁能告诉我是什么魔法将它从一个function转换成一个object呢?
发布于 2015-11-12 16:31:13
函数还可以具有以下属性:
var start = {};
start.middle = function(){
return "Middle";
}
start.middle.end = function(){
return "End";
}所以现在start.middle()返回"Middle",start.middle.end()返回"End"
发布于 2015-11-12 16:41:38
我认为这里的区别是:
line.radial()将使用行"module"例如:您想要创建一个有限的红线:
line.segment(x,y,red);line(x,y).color(red).cutEdges();或line(x,y).cutEdges().color(red);--你应该在你的应用程序中选择你想要的东西,不仅仅是它的外观。
https://stackoverflow.com/questions/33676150
复制相似问题