Avatar billede jacobs1 Nybegynder
25. december 2006 - 12:05 Der er 6 kommentarer

kald en function inde i function.

Hvordan kalder man en function inde i en function.?

Fx:
<script>
function start(){
  function anden(){
      function afspil(){
      alert("Sådan")
      }
  }
}
</script>

<a href="#" onclick="afspil();">Se alert boks</a>
Avatar billede elskermad.dk Nybegynder
25. december 2006 - 12:40 #1
sådan her kan du gøre det, men ved ikke om det er hvad du ønsker :)


<script type="text/javascript">
function start() {
  alert("Sådan")
}

function anden() {
  start();
}

function afspil() {
  anden();
}
</script>

<a href="#" onclick="afspil();">Se alert boks</a>
Avatar billede Slater Ekspert
25. december 2006 - 12:44 #2
I dit tilfælde, jacobs1, er start() ikke en funktion men et objekt. Javascript har bare ikke forskellige keywords til at initialisere dem.

For at få adgang til funktionen afspil, skal du først lave en instans af objektet afspil:

var a = new anden();
anden.afspil();

Det burde virke.
Avatar billede Slater Ekspert
25. december 2006 - 12:45 #3
hov.. der skulle naturligvis stå:
a.afspil();
Avatar billede Slater Ekspert
25. december 2006 - 12:51 #4
Og der skulle stå "instans af objektet anden()" i den forrige :S

Man skulle da tro jeg havde drukket.
Avatar billede jacobs1 Nybegynder
25. december 2006 - 16:46 #5
Hmm. Jeg tror viperine er nærmest min idé.
Helt konkret er det fordi jeg sidder og leger lidt med google maps api. Her bliver alt javaScripten først kald i en funktion som tjekker om browsen understøtter koden.


<script>
var a = new load ();


function load() {
      if (GBrowserIsCompatible()) {

function lavknap(){
alert(Sådan)
}


}
}
</script>

  <body onload="load()" onunload="GUnload()">
<a href="#" onclick="a.lavknap ();">lav knap</a>
</body>

Er det rigtigt, eller hvordan skulle det så skrives?
Avatar billede olebole Juniormester
27. december 2006 - 13:12 #6
<ole>

Linjen:
    var a = new load ();

- kan du først skrive efter de linjer, hvor funktionen (object-constructor'en) defineres ... ellers er det rigtig nok  =)

/mvh
</bole>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester