JavaScript 객체의 "functor"기능 만 바꾸고 싶습니다. JavaScript의 "functor"만 바꾸기
자바 스크립트에서이 작업을 수행 할 수있는 방법이 있나요 내가 PART 1에 액세스 할 수 있으며 개체의 기능을 수정할 필요가 없습니다 때문에이 필요// PART 1: Declaration
function obj() {
return obj.a + " " + obj.b;
};
obj.a = "a";
obj.b = "b";
confirm(obj()); // output: "a b";
// PART 2: Modification
// now replace only functor
// (not working this way as it replaces the whole object)
obj = function() {
return obj.b + " " + obj.a;
};
confirm(obj()); // expected output: "b a";
... 다음 코드는 문제를 보여줍니다 ?
복사 (예 :와에 대한 루프)은 모든 숨겨진 속성을 복사하지 않는 한 ... 작동하지 않는
UPDATE : 그것은 정의되지 수정 된 코드 ...
UPDATE2 :이 예를 들어 제대로 작동이 :
,536 (... 그러나 내 문제가 해결되지 않았다)obj = $.extend(function() { return obj.b + " " + obj.a; }, obj);
confirm(obj()); // output: "b a";
을 (jQuery를 필요)
모든 브라우저에서 정의되지 않음 undefined –
자바 스크립트 객체는 없으며 함수 만 존재합니다. 'a'와'b'는 함수의 속성이고, 그것들을 포함하는 객체는 없습니다. – Barmar
"for-loop"코드를 게시 할 수 있습니까? – Dogbert