Lets función imaginar como esto:¿Cómo hacer función encadenable en JavaScript?
function foo(x) {
x += '+';
return x;
}
uso de ella sería como:
var x, y;
x = 'Notepad';
y = foo(x);
console.log(y); // Prints 'Notepad+'.
Busco una forma de crear la función que está en cadena con otras funciones.
Imagínese uso:
var x, y;
x = 'Notepad';
y = x.foo().foo().toUpperCase(); // Prints 'NOTEPAD++'.
console.log(y);
¿Cómo voy a hacer esto?
es una buena idea comprobar al menos una propiedad en los tipos nativos antes de agregarla, es decir, 'if (! ('Foo' en String.prototype)) {String.prototype.foo = function() {.. .}} ' – keeganwatkins
Si desea extender un objeto sin romper la enumeración, use el (semi-moderno) [' Object.defineProperty'] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/ Object/defineProperty): 'Object.defineProperty (String.prototype, {value: function() {return this +" + ";}})'. Por defecto, el indicador 'enumerable' se establece en' false'. – Phrogz
@keeganwatkins si, es :). Supongo que el OP solo estaba preguntando sobre las cadenas como ejemplo, así que mantuve las advertencias al mínimo, pero ese es un buen punto. –