A라는 클래스의 멤버함수(*)인 getter 및 setter를 jQuery 스타일로 만들어 보자.
즉, propertyName(value)면 propertyName이 value로 세팅되고,
propertyName() 하면 propertyName 값을 반환한다.
//ctor
function A() {
this.element = $('<div/>').appendTo('body');
}
A.prototype.X = function(x) { // #
if(x!=undefined) { // setter
this.element.attr("x", x);
}
else {
return this.element.attr("x");
}
}
Remarks
1. 함수 하나가 리턴 값을 가졌다 안 가졌다 하고, 입력 개수 체크도 안 하는 막장스러운 js의 성질 덕분에 이런 멋있는 일을 할 수 있다.
2. 그냥 this._x = x; 이런 식으로 쓸 수도 있는데 굳이 DOM에 attribute로 추가하려고 해 보았다.
* js에는 원래 클래스 개념이 없으므로 사실 멤버 함수 흉내를 낸 거지만.
# 먼 미래에 js를 까먹었을 때를 대비해서 써놓자면, prototype은 js의 키워드이다.
Subscribe to:
Post Comments (Atom)
창 핸들을 만드는 동안 오류가 발생했습니다
System.ComponentModel.Win32Exception was unhandled MyForm w = new MyForm IntPtr handle = wnd.Handle; // Exception occurs here class MyFo...
-
텍스트박스에서 엔터를 치면 자동으로 입력되게 하려고 keyup 이벤트 핸들러를 등록했다. 잘 동작하는 듯했는데 alert창을 닫아도 닫아도 계속 열리는 것이다. 크롬이어서 다행이지 IE였으면 무한히 열렸을 거야...스페이스바로 눌러보길 잘했...
-
진짜 되는 건 아니고 흉내낼 수는 있다. 새 창을 누르면 아무 것도 안 변한 것 같지만 PowerPoint 창 제목이 바뀌어 있다: 프레젠테이션1:2에서 :2 부분이 같은 파일을 연 창 여러 개 중 2번째라는 뜻이다('프레...
-
MathJax è Word MS Word 2007부터는 MathML을 문서에 바로 붙여넣을 수 있다. 이 블로그의 거의 대부분의 수식은 MathJax로 작성되어 있는데, 오른쪽 버튼 클릭하고 메뉴에서 MathML 또는 TeX 형식으로 ex...
No comments:
Post a Comment