Avatar billede mikoalngelo Nybegynder
06. marts 2004 - 17:35 Der er 10 kommentarer og
1 løsning

Overføring af variabler ved funktionskald fra et brugerdef. objek

Dette spørgsmål er forholdsvist hypotetisk:

Jeg laver et objekt:

function Obj(noget)
{
  this.Skriv = Skriv;
}
function Skriv(something)
{
  alert(something);
}
EtObjekt = new Obj("nemlig!!!");
EtObjekt.Skriv();

I ovenstående eksempel, skal jeg have overført noget til Skriv, så something = noget.

Altså, det skal være sådan, at jeg i objekt-funktionen kan få nogle parametre i handlings-funktionen til at blive noget bestemt, defineret i objekt-funktionen.

Jeg håber i kan forstå det.

Et mere definerende eksempel:

function Obj(noget)
{
  this.Skriv(noget) = Skriv;
}
function Skriv(something)
{
  alert(something);
}
osv...

Hvis nu det virkede, så ville der ske det, som jeg beskrev tidligere...
Avatar billede olebole Juniormester
06. marts 2004 - 17:51 #1
<ole>

Jeg må vist snart til at skrive en E-artikel om OOP  :)
Dette kunne være en mulighed:

function myObj(noget) {
    this.val = noget;
    this.skriv = skriv;
}
function skriv() {
    alert(this.val)
}
var bla = new myObj("En Value");
bla.skriv();
bla.val = "En anden value";
bla.skriv();

/mvh
</bole>
Avatar billede mikoalngelo Nybegynder
06. marts 2004 - 19:53 #2
Ja, det virker, men jeg ville nu hellere have det på en anden måde. Men det er lige meget, egentligt, så bare glem det. Svar...
Avatar billede olebole Juniormester
06. marts 2004 - 20:00 #3
Jamen, du spørger blot ... mon ikke, jeg skulle have et svar?  :)
Prøv at forklare en gang til - så kikker jeg på det
/mvh
Avatar billede mikoalngelo Nybegynder
06. marts 2004 - 20:08 #4
For eksempel:

Jeg vil have et objekt, hvor der er defineret en funktion, hvor man skal skrive objekt.funktion("noget"), og så skal den kaldes med parametrene "noget" OG "something", som skal være defineret i objektet...
Håber det beskriver det...

PS: Det vil være en god ide med en artikel, og jeg er sikker på, at den vil blive 5 p. værd, med den kodestandard du holder dig.
PPS: Prøv lige at hjælpe mig lidt inde på http://www.eksperten.dk/spm/473578 ... PLEASE :) (Jeg skal nok gi dig lidt p...
Avatar billede olebole Juniormester
06. marts 2004 - 20:27 #5
Mon ikke, det er noget i denne retning, du tænker på:

function myObj() {
    this.something = "blabla";
    this.skriv = skriv;
    return this;
}
function skriv(arg) {
    alert(this.something + " - " + arg)
}
var mitObj = new myObj();
mitObj.skriv("noget");

Ellers må du bare sige til. Jeg kikker lige på det andet også  :)
/mvh
Avatar billede mikoalngelo Nybegynder
07. marts 2004 - 10:45 #6
Nej... Det er ikke helt sådan. Jeg troede, at dette ville virker:

function myObj(noget){
  this.noget = noget;
  this.skriv = skriv("nemlig");
}

function skriv(andet) {
  alert(this.noget + "\n" + andet);
}

Objektet = new myObj("sådan, ");
Objektet.skriv(); // skal kalde alert("sådan, " + "\n" + "nemlig");

Håber det beskriver det godt nok...
Avatar billede olebole Juniormester
07. marts 2004 - 13:16 #7
Det giver stadig ikke rigtig mening - men dette er (måske) en måde at gøre det på:

function myObj(noget){
    this.noget = noget;
    this.andet = "nemlig";
    this.skriv = skriv;
}
function skriv() {
    alert(this.noget + "\n" + this.andet);
}

Objektet = new myObj("sådan, ");
Objektet.skriv(); // skal kalde alert("sådan, " + "\n" + "nemlig");

/mvh
Avatar billede mikoalngelo Nybegynder
07. marts 2004 - 15:51 #8
Ja, så bruger jeg bare den, for den giver stadigvæk det samme resultat...
tak for svaret... Jeg accepterer
Avatar billede mikoalngelo Nybegynder
07. marts 2004 - 15:52 #9
PS: Kan du ikke lige give lidt karma... trænger til det :) (Hvis det ikke strider mod reglerne at bede om karma (uansat værdi))...
Avatar billede olebole Juniormester
07. marts 2004 - 16:17 #10
Jeg bruger af princip ikke karma-funktionen. Når E engang får den rettet, så tøsedrengene ikke kan gemme sig bag anonymitet, vil jeg overveje at tage den i brug  :)

Normalt står voksne mennesker jo ved deres meninger og udtalelser, men desværre har vi en lang række pattebørn omkring os her i forummet - og jeg har bemærket mig, der er stor utilfredshed med, disse blot hælder en spand lort ned i deres karma-givning, men ikke har 'cahunes' til at stå ved deres udtalelser med deres nick.

Jeg er ganske enig med kritikerne i, at en sådan anonym opslagstavle nok er det sidste, vi har brug for på Eksperten. Så indtil den bliver udformet mere fornuftigt, vil jeg tillade mig at ignorere, der eksisterer en karma-funktion ... sorry, det er ikke noget personligt  :)
/mvh
Avatar billede mikoalngelo Nybegynder
07. marts 2004 - 16:20 #11
none taken.
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