내가 아주 간단한 JS 응용 프로그램을 서면으로 객관적 접근 방법을 적용하려고하지만 바로 그것을 얻을 수가 어차피 ...목적 자바 스크립트
이 예에서 (테이블에서 데이터를 조작하는 몇 가지 기능이 있습니다 - 강조 행 링크를 클릭 한 후 임의의 색상으로 표시). 이 예에서 JSFiddle
var MainFun = function() {}
MainFun.prototype.highlight = function(value) {
$(".conversationid")
.filter(function() {
return $(this).html() == value;
})
.css('background', 'transparent')
.parent()
.css('background', getRandomColor());
}
function getRandomColor() {
return '#' + randHex() + "" + randHex() + "" + randHex();
}
function randHex() {
return (Math.floor(Math.random() * 106) + 150).toString(16);
}
var f = new MainFun();
<table>
<tr>
<td class="message">message1</td>
<td class="conversationid">123</td>
<td class="details"><a href="#"onclick="f.highlight('123');">click me</a></td>
</tr>
<tr>
<td class="message">message2</td>
<td class="conversationid">456</td>
<td class="details"><a href="#"onclick="f.highlight('456');">click me</a></td>
</tr>
<tr>
<td class="message">message3</td>
<td class="conversationid">123</td>
<td class="details"><a href="#"onclick="f.highlight('123');">click me</a></td>
</tr>
<tr>
<td class="message">message4</td>
<td class="conversationid">456</td>
<td class="details"><a href="#"onclick="f.highlight('456');">click me</a></td>
</tr>
에 일례가있다
는, MainFun 모든 기능을 포함해야 메인 objhect (하이라이트 getRandomColor 등)
인필자는 prototype을 사용하여 강조 기능을 사용하도록 만들었지 만 다른 기능과 동일하게하려고하면 "f undefined"라는 오류가 발생합니다. 어떻게 할 수 있는지 제안 해 주시겠습니까? JS에서의 객관적인 접근 방식은 다른 언어 들과는 상당히 다른 것 같습니다. 어떤 도움을 주셔서 감사합니다!
당신이 '객관적'접근 방식에 의해 무엇을 의미합니까? '객체 지향'을 의미합니까? –
작동하지 않는 기능 - 작동하지 않는 기능의 예를 들어 주시겠습니까? –
예, 프로토 타입을 사용하여 객체 지향 접근법을 의미합니다 ...이 코드를 완전히 객체 지향적으로 재 작성하려고합니다 ... – Smajl