Если функция после своего выполнения ничего не возвращает в основной поток программы — это плохая функция. После знакомства с JQuery я был очарован тем, что любая функция возвращает сам объект, в рамках которого она запущена. Что это дает? Самое главное — возможность последовательно выполнить ряд операций над одним и тем же объектом, в одну строчку.
Приведу пример:
function coordinates(x, y){
x = parseInt(x);
y = parseInt(y);
x = isNaN(x)? 0: x;
y = isNaN(y)? 0: y;
this.x = x;
this.y = y;
}
coordinates.prototype = {
toString: function(){
return this.x+' '+this.y;
},
plus: function(that){
this.x += that.x;
this.y += that.y;
return this; /*!!! */
},
minus: function(that){
this.x -= that.x;
this.y -= that.y;
return this; /*!!!*/
}
}
var v1 = new coordinates(10, 10);
var v2 = new coordinates(20, 20);
v1.plus(v2).plus(v2); // Здесь могли быть и другие операции
alert(v1);
Очевидно, что в некоторых случаях (в данном примере это toString), вернуть объект в результате работы функции просто нелогично. И решение, естественно, лежит на плечах разработчика. Со своей стороны, я могу только рекомендовать не оставлять пустых функций. Если нет явного значения которое можно вернуть в основную программу, смело возвращайте сам объект!
codeart.ru
Приведу пример:
function coordinates(x, y){
x = parseInt(x);
y = parseInt(y);
x = isNaN(x)? 0: x;
y = isNaN(y)? 0: y;
this.x = x;
this.y = y;
}
coordinates.prototype = {
toString: function(){
return this.x+' '+this.y;
},
plus: function(that){
this.x += that.x;
this.y += that.y;
return this; /*!!! */
},
minus: function(that){
this.x -= that.x;
this.y -= that.y;
return this; /*!!!*/
}
}
var v1 = new coordinates(10, 10);
var v2 = new coordinates(20, 20);
v1.plus(v2).plus(v2); // Здесь могли быть и другие операции
alert(v1);
Очевидно, что в некоторых случаях (в данном примере это toString), вернуть объект в результате работы функции просто нелогично. И решение, естественно, лежит на плечах разработчика. Со своей стороны, я могу только рекомендовать не оставлять пустых функций. Если нет явного значения которое можно вернуть в основную программу, смело возвращайте сам объект!
codeart.ru