는 다음과 같은 기능을 상상할 수 있습니다 : 나는 다른 기능을 가진 체인 방식의 기능을 만들 수있는 방법을 찾고 있어요JavaScript에서 체인 가능한 함수를 만드는 방법은 무엇입니까?
var x, y;
x = 'Notepad';
y = foo(x);
console.log(y); // Prints 'Notepad+'.
:처럼의
function foo(x) {
x += '+';
return x;
}
사용이 될 것입니다.
상상해 사용 :
var x, y;
x = 'Notepad';
y = x.foo().foo().toUpperCase(); // Prints 'NOTEPAD++'.
console.log(y);
어떻게 이런 짓을 했을까?
추가하기 전에 네이티브 유형의 속성을 확인하는 것이 좋습니다. 즉, if (String.prototype의! foo) {String.prototype.foo = function() {.. .}}' – keeganwatkins
열거 형을 깨지 않고 개체를 확장하려면 (semi-modern) ['Object.defineProperty'] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/)를 사용하십시오. Object/defineProperty) :'Object.defineProperty (String.prototype, {value : function() {return this + ";}})' 기본적으로'enumerable' 플래그는'false'로 설정됩니다. – Phrogz
@keeganwatkins 예 예 :). 나는 OP가 예를 들어 문자열에 대해서만 묻기 때문에 경고를 최소한으로 유지했다. 그러나 그것은 좋은 지적이다. –