2013-09-02 9 views
2

그래서, 나는이 같은 다른 질문을 검토 한 자바 스크립트 파일을 다른 외부에서 함수를 호출하고 정말 질문에 대한 답변하지 않았습니다. 한마디로외부 자바 스크립트

: 나는 HTML, 자바, VB, 그리고 어떤 언어 MIRC를 사용합니다 (10 세 미만 조금 지났)와 함께 일했습니다.

나는 자바 스크립트에 새로운 해요,하지만 때문에 내 다른 컴퓨터 언어 노하우의 ... 난 자바를 사용하여, 내가 클래스의 수업과 같은 기능을 만들 수 있다는 것을 알고.

하지만, HTML/자바 스크립트로, 나는 다른 하나 개의 외부의 .js 파일에서 함수를 호출하는 방법을 모르겠어요.

의가 있다고 가정 해 봅시다 : 내가 언제부터 함수를 호출하고 다른 함수 내부 클래스에서 이러한 기능을 사용하는 '주'의 .js 파일에서 사용할 수있는 플레이어 클래스를 만들고 싶어. 예를 들어.

나는 플레이어의 .js 파일에

function isDead() { 
if (health < 10 || energy < 10) 
{ 
return dead = 'true'; 
    } 
    else { return dead; } 
} 

가 있고, 주요 하나, 내가 가진 경우. item.js에서

function fight() { 
if (isDead() == 'true') 
{ 
    energy -= 10; 
    health -= 10; 
    Swords(); 
} 


document.getElementById("energy").innerHTML = energy; 
document.getElementById("health").innerHTML = health; 
document.getElementById("sword").innerHTML=sword; 

} 

나는

var swordDamage = 0; 

function Swords(){ 
if (swordDamage < 3) 
swordDamage +=1; 
else 
return sword -=1; 
} 

(난 그냥이 질문을 위해 그것을 만든 것처럼 마음 당신이 실제로 아직 (I합니다 (칼을 시험하지 않았다)했다.)

했다 .

나는 main.js 파일에 다른의 .js 파일의 기능에 호출 할 필요가 특별한 방법이 있나요

예 : main.function();

또는 html 문서로 저장하고 스크립트를 작성하는 것이이 문제를 해결하는 데 도움이됩니까?

답변 해 주셔서 감사합니다.

+0

아마도 자바 스크립트 객체를 사용하는 몇 가지 기초를 배운다. 자바 스크립트에는 클래스가 없으며 클래스처럼 사용할 수있는 속성과 프로토 타입 상속을 가진 객체가 있습니다.인스턴스의 * health *, * energy *, * dead * 등의 전역 변수를 작성한 다음 getter 및 setter를 사용하여 값을 조정하는 것이 훨씬 좋습니다. 코드를 별도의 파일에 저장하는 경우 개발 환경에서 코드를 수행 할 수 있지만 여러 파일에 걸쳐있는 코드보다 한 코드에 모든 코드를 갖는 것이 더 효율적입니다. 여러 파일에있는 경우 올바른 순서로로드해야합니다. – RobG

답변

6

난 당신이 와서 동일한 환경에서 왔습니다. 나는 codeacademy.com을 많이 도와 준 javascript 과정을 수행했다.

그럼 난 당신이 같은 샘플 구현해야합니다 :

fighter.js

function Fighter(){ 
    this.health = 100; 
    this.energy = 100; 

    this.isDead = function() { 

     if (health < 10 || energy < 10) 
     { 
      return dead = 'true'; 
     } 
     else { 
      return dead; 
     } 
    } 

    this.Punch = function(otherFighter){ 
     otherFighter.energy -= 10; 
     otherFighter.health -= 10; 

    } 

    this.AtackWithItem(item, fighter){ 
     otherFighter.energy -= item.damage; 
     otherFighter.health -= item.damage; 
    } 
} 

main.js

function initFight() { 

    var fighterA = new Fighter(); 
    var fighterB = new Fighter(); 

    document.getElementById("energy").innerHTML = energy; 
    document.getElementById("health").innerHTML = health; 
    document.getElementById("sword").innerHTML=sword; 

    fighterB.punch(fighterA); 
    document.getElementById("energy").innerHTML = energy; 
    document.getElementById("health").innerHTML = health; 
    document.getElementById("sword").innerHTML=sword; 

    var sword = new item(); 
    fighterA.AtackWithItem(sword,fighterB); 
    document.getElementById("energy").innerHTML = energy; 
    document.getElementById("health").innerHTML = health; 
    document.getElementById("sword").innerHTML=sword; 


} 

item.js

function item(){ 
    this.type = "Swords" 
    this.damage = 20; 
} 

모든 파일 전투기 .js, main.j s와 item.js은 태그로 참조됩니다

<script src="../item.js"></script> 
<script src="../fighter.js"></script> 
<script src="../main.js"></script> 

을 index.html을에.

희망이 도움 당신은 ...

+0

이렇게 빨리 답변 해 주셔서 감사합니다. 프로그래밍에 필요한 방향을 더 잘 보여줍니다! netbeans 또는 시각적 웹 개발과 같은 프로그램과 달리 메모장에서이 모든 작업을 수행하고 있다고 덧붙여 야합니다. 나는 처음부터 완전히 무언가를 시도하고 싶었다. – ProgrammingFreak

+0

나는 WebStorm-JetBrains와 Sublime Text 2 IDE를 권장한다. 나의 대답이 유용하다면, 유효한 anwser로 표시해라. –

관련 문제