확장 프로그램
코드:
var blogModule = (function ( my) {
my.AddPhoto = function () {
//내부 코드 추가
};
return my;
}(blogModule));
말하기:
메서드에 자신을 전달한 다음 부품 조립과 비슷한 메서드 확장을 구현합니다.
코드:
var blogModule = (function (my) {var oldAddPhotoMethod = my.AddPhoto;
my.AddPhoto = function () { // 오버로드된 메서드, 이전 메서드는 oldAddPhotoMethod를 통해 계속 호출할 수 있습니다.}; return my;}(blogModule));
설명:
장점은 호출할 수 있다는 것입니다. 이전 방법.
복제 및 상속
코드:
var blogModule = (function (old) { var my = {}, key; for (key in old) { if (old.hasOwnProperty(key)) { my[key] = old[key]; } } var oldAddPhotoMethod = old.AddPhoto = function () { // 복제 후 다시 작성되었습니다. 물론 oldAddPhotoMethod를 계속 호출할 수 있습니다. } (blogModule));
말씀:
간단한 복제 구현
파일 전체에서 개인 객체 공유
코드:
var blogModule = (function (my) { var _private = my._private = my._private || {}, _seal = my._seal = my._seal || function () { my._private 삭제; my._unseal 삭제 }, _unseal = my._unseal || 함수 () { my._private = my._seal; = _unseal; }; return my; } (blogModule || {}));
말해 보세요:
blogModule._seal()은 내부 변수를 비공개화합니다. 내 생각에는 이 구현이 최고는 아니지만 잠금 해제 및 잠금 기능을 배울 수 있습니다.