2011-05-05 1 views
1

는 난 몰라,하지만 다음과 같은 일을 할 때 : -프로토 타입 변경 후 Javascript 전역 개체가 작동하지 않습니다! 내가 뭔가를 분명 실종 경우

Object.prototype.inherit = function(fromClass) { 
    fromClass.apply(this, Array.prototype.slice.call(arguments, 1)); 

    for(var key in fromClass.prototype){ 
    if(typeof fromClass.prototype[key] == 'function') 
     this.prototype[key] = fromClass.prototype[key]; 
    } 
}; 

그럼 난 더 이상 객체와 함께 작동하지 않을 수 있습니다. 나는 항상 정의되지 않는다. Similary 내가 어떤 방법을 Array.prototype에 '주입'하려고하면 배열 작업이 중단됩니다! Firefox 4.0.1을 사용하고 있습니다.

내가 누락 된 항목이 있습니까?

답변

1

사항, 사항, 는 Object.prototype에를 연장하지 마십시오 바랍니다.

감사합니다.

이제 질문에 대답 해보십시오. 더 이상 객체로 작업 할 수 없다는 것은 무엇을 의미합니까? for-in 루프에서 휴식을 취할 것입니다.

+0

작동하지 않는 것은'this'가'undefined '라는 것을 의미합니다. – AppleGrew

+0

설명해 주시겠습니까? 그리고 Array를 확장하는 것은 어떨까요? 또한 작동하지 않습니다. – AppleGrew

+0

코드 샘플을 게시 할 수 있습니까? for-in 루프는'Object.prototype'을 확장하여 중단됩니다. 'for (var n in obj) {...}' –

관련 문제