2012-06-13 2 views
0

저는 자바 스크립트에서 객체 지향 프로그래밍에 익숙하지 않고 작업중인 프로젝트의 일부 기능을 이해하려고합니다.중첩 된 자바 스크립트 함수를 실행하는 방법은 무엇입니까?

내부 함수 ('this.getFieldset = function() {')가 실행되도록 나열하려면 어떻게해야합니까?

function Fieldset() { 

    this.id = ""; 
    this.content = document.createElement("DIV"); 
    this.content.id = "content"; 
    this.title = "Title"; 

    this.getFieldset = function() { 

     var div = document.createElement("DIV"); 
     div.id = this.id; 
     var span = document.createElement("SPAN"); 
     var fieldset = document.createElement("DIV"); 
     fieldset.id = "fieldset"; 
     var header = document.createElement("DIV"); 
     header.id = "header"; 
     span.appendChild(document.createTextNode(this.title)); 
     header.appendChild(span); 
     div.appendChild(header); 
     div.appendChild(this.content); 
     div.appendChild(fieldset); 

     return div; 
    } 
} 

var myFieldset = new Fieldset(); 
myFieldset.getFieldset(); 
+0

내가 MDN [읽어 것이 좋습니다 - 작업 Objects] (https://developer.mozilla.org/ko/Core_JavaScript_1.5_Guide/Working_with_Objects)를 참조하십시오. –

+1

어디에서 실행 하시겠습니까? – Sebas

답변

6

먼저 Fieldset의 인스턴스를 생성해야합니다, 당신은 그것의 기능 (전화 방식)를 호출 할 수 있습니다 :

var myFieldset = new Fieldset(); 

myFieldset.getFieldset(); 
+0

나는 이것을 실행할 때 myFieldset.getFieldset()이 DIV, SPAN 등을 생성하는 것으로 추정되는 것을 만들 것이라고 생각했다. 범위를 벗어나지는 말고 페이지에 쓰면 안된다? – fakeguybrushthreepwood

+1

@peteskiii : 아니요. 만든 'div'는 아무 곳에도 추가하지 않습니다. 그것은'getFieldset'에 의해 반환됩니다, 그래서 그것으로 무언가를하십시오;) –

+0

하지만이 코드를 실행할 때 아무 일도 전혀 일어나지 않습니다, 객체 검사관에 아무것도 보이지 않습니까? – fakeguybrushthreepwood

0
function Fieldset() { 

    this.id = ""; 
    this.content = document.createElement("DIV"); 
    this.content.id = "content"; 
    this.title = "Title"; 

    this.getFieldset = function() { 

     var div = document.createElement("DIV"); 
     div.id = this.id; 
     var span = document.createElement("SPAN"); 
     //var fieldset = document.createElement("DIV"); 
     //fieldset.id = "fieldset"; 
     var header = document.createElement("DIV"); 
     header.id = "header"; 
     span.appendChild(document.createTextNode(this.title)); 
     header.appendChild(span); 
     div.appendChild(header); 
     div.appendChild(this.content); 
     div.appendChild(fieldset); 

     window.alert("test"); 

     return div; 
    } 

    //add call to run function 
    this.getFieldset(); 

} 
+0

나는 그가 구현 외부에서 의미하는 것 같아요. –

+0

그는 그 말을 암시하지 않았으므로 나는 추측하지 않았다. 그들이 가정에 대해 말하는 것을 알고 있습니다. –

+0

달성하려는 내용을 더 잘 보여주기 위해 코드 예제를 업데이트하려고했습니다. – fakeguybrushthreepwood

관련 문제