2013-01-04 4 views
1
이 작동

에서 외부 객체 ...자바 스크립트 HTML 호출 외부 파일

html 파일 (편의를 위해 myJS.js라는) 외부 자바 스크립트 파일의

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<script type="text/javascript" src="src/myJS.js"></script> 
</head> 
<body onload="myJS();"> 
</body> 
</html> 

내용 ...

myJS = function() 
{ 
    document.write("Hello world"); 
}; 

그러나,이 ...

HTML 파일을 작동하지 않습니다 ...

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<script type="text/javascript" src="src/myJS.js"></script> 
</head> 
<body onload="myJS.myFunction();"> 
</body> 
</html> 

외부 자바 스크립트 파일 ...

myJS = function() 
{ 
    myFunction = function() 
    { 
     document.write("Hello world"); 
    }; 
}; 

왜? 모든 도움을 미리 감사드립니다.

답변

3

다른 함수 내에서 선언 된 함수는 해당 함수의 속성이되지 않습니다. 당신은 그래서 myJSmyFunction 중 수의라는 또 다른 기능은 생성 myJS 당신이

myJS = {  
    myFunction: function() 
    { 
     document.write("Hello world"); 
    } 
}; 
+0

같은 JSON 객체가이 클로저의 예겠습니까 만들고 싶어처럼

보인다? – Extermiknit

+0

@MartinJacobs 아니, 그냥 메서드가있는 객체입니다. – Musa

0

스크립트가이 개 전역 함수를 생성 ...

을 할 수있는 방법으로하여 myFunction의 객체가 될하려는 경우 독립적으로 호출 될 수 있습니다. 당신이

myJS = { 
    myFunction: function() { 
     document.write("Hello world"); 
    } 
} 
관련 문제