Это не дубликат При объединении методов в PHP Можно ли определить, какой метод был вызван первым?
Интересно, существует ли общее правило для порядка выполнения в методе цепочки? При выполнении следующего кода:
obj.method1().method2();
Что запускается первым: method1()
или method2()
?
Я предполагаю, что method1()
необходимо обязательно вызвать перед method2()
. В противном случае, поскольку method1()
еще не вызван, method2()
не имеет возвращаемого объекта для обработки. Вот экспериментальное подтверждение для JavaScript: http://jsfiddle.net/Imabot/sjo9gxfq/60/
Но я нашел пример против предыдущего оператора с D3. js, где объекты кажутся выделенными перед созданием :
d3.select('body')
.selectAll('p')
.data(dataset)
.enter()
.append('p')
.text('Paragraph');
Что называется первым?