Avatar billede srf Nybegynder
23. september 2013 - 14:45 Der er 1 kommentar og
1 løsning

Problem med objekt og metode

Hej

Jeg er kørt helt fast i en JavaScript-opgave. Den er på begynderniveau og skulle nok ikke være så vanskelig, men jeg har et anstrengt forhold til funktioner og metoder, så jeg vil være taknemlig for hjælp til en løsning.

Opgaven er ret bunden og består i at gøre scriptet herunder færdigt:

Add a method named update() to the object that you create using a constructor. This method should take one parameter and update one of the properties of the object. Test your method by writing code to display an object's properties in the web page, in the "display" <div>.

<!doctype html>
<html lang="en">
<head>
<title>Objects and Methods</title>
<meta charset="utf-8">
<script>
window.onload = init;

function anObject(property1, property2, property3) {
  this.property1 = property1;
  this.property2 = property2;
  this.property3 = property3;

  // your code here
}

function init() {

  // your code here.

}
 
</script>
</head>
<body>
<div id="display">
</div>
</body>
</html>


Jeg bruger et antal undervisningsforløb til mine objekter og opretter dem med titel, den retning de hører ind under, samt et tal der angiver hvordan de er prioriteret i det endelige skema. Det er meningen at update-metoden skal bruges til at ændre prioriteringen fra at være 1, 2 og 3 til at være A, B og C.

Alt det giver mig mindst to problemer. Det første er this.update, som jeg ikke ved præcist hvordan jeg får til at virke. Jeg har forsøgt mig med at bruge et eksempel fra w3schools (http://www.w3schools.com/js/tryit.asp?filename=tryjs_create_object3) som model. Det giver de tilføjelser, som jeg har markeret med // - både selve this.update og opdateringerne i init(), men jeg føler mig ikke sikker på de er rigtige.

Andet problem er det der skal følge efter div.innerHTML. Jeg formoder det er noget med at kalde metoden, måske også noget med at angive et argument og ydermere håndtere scope... men her bliver forvirringen mærkbar :(

Endelig, tænker jeg, ville det være fint hvis det til sidst kan vises på websiden med en onclick-funktion, så brugeren ser titel, retning og gammel prioritering med "Klik her for at se den nye prioritering". Så er jeg i hvert fald oppe på tre problemer.

/Stig


<!doctype html>
<html lang="en">
<head>
  <title>Curriculum Planning</title>
  <meta charset="utf-8">
  <script>
    window.onload = init;
   
    function Course(title, programme, rating) {
        this.title = title;
        this.programme = programme;
        this.rating = rating;
       
        this.update = function() {
        };
    }
    //støttet på w3schools:
            //this.update = function(new_rating) {
            //this.rating = new_rating;
            //}


    function init() {
        var real = new Course("Real Time Software", "Software Construction", "3");
        var xml = new Course("XML and Web Technologies", "Software Construction", "1");
        var database = new Course("Database Design", "Software Construction", "2");
        var web = new Course("Web Application Development", "Interaction Design", "1");
        var user = new Course("User Experience Design", "Interaction Design", "2");
        var computer = new Course("Computer Games", "Interaction Design", "3");

    //støttet på w3schools:
            //real.update("C");
            //xml.update("A");
            //database.update("B");
            //web.update("A");
            //user.update("B");
            //computer.update("C");

        var div = document.getElementById("display");
        div.innerHTML = //...
    }
  </script>
</head>
<body>
  <div id="display">
  </div>
</body>
</html>
Avatar billede MadsHaupt Juniormester
29. september 2013 - 17:47 #1
En metode er det samme som en funktion.

Eksempel:
Metode abc:
function abc() {

}


Og parametre er det der stå inde i mellem de to penenteser.

Eksempel:
function abc(paramtre) {

}


Og constructøren er det der stå inde i metoden.

Eksempel:
function abc() {
// constructøren:
this.msgbox = function(msg) {
alert(msg);
};
}
Avatar billede srf Nybegynder
04. november 2013 - 11:26 #2
Tak for indlægget. Det var dog stadig lidt langt væk fra en løsning, så jeg vælger at lukke her.
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

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