천천히 성장하고있는 작은 라이브러리를 개발하고 있습니다. 그런 이유로 필자는 모든 기능을 myNamespace
에 넣기 때문에 추한 충돌을 피하고 별도의 파일로 분리하여 코드 관리가 쉬워졌습니다. 불행히도, 내가 그렇게했을 때 이전에 사용했던 것들을 깨뜨린 것입니다. 즉 Array 객체의 기능을 확장했습니다.내 네임 스페이스에있는 객체 확장하기
if(myNamespace === undefined) {
var myNamespace = {};
}
myNamespace.myArray = {
height: 0,
width: 0
};
myNamespace.myArray.prototype = [];
을 이제 내가 할 때 :
이testArray = myNamespace.myArray;
내가 할 수있을 수없는 것 : 그 문제가 해결되지 내 초기 접근했다
testArray.push("test");
어떻게 나는 고쳐? 네임 스페이스에 코드를 캡슐화하는 최선의 방법은 무엇입니까? 나는 그것이 정의 된/인스턴스화 된 객체를 혼란 스럽다는 것을 확신하지만, 실제로 그것을 수행하는 적절한 방법을 모른다.
정확히 무엇이 파손되었는지 자세히 설명해 주시겠습니까? 지금 게시 한 코드는 실제 기능을 전혀 보여주지 않습니다. – casablanca
그래, 좀 더 분명하게해야 겠어. 나는 그 질문을 편집 할 것이다. –
[나를위한 작품] (http://jsfiddle.net/alexdickson/KavXu/). – alex