Avatar billede pixelpaw Nybegynder
24. februar 2002 - 04:24 Der er 16 kommentarer og
1 løsning

function forklaring

hvad er forskellen på

Array.prototype.find = function(var) {
}

og

function Array.prototype.find(var) {
}

??
Avatar billede hoejrup Nybegynder
24. februar 2002 - 08:40 #1
1. x = f(y), dvs at x er en funktion af y. Overført er Array.prototype.find en funktion af
funtion(var). Dvs. at hver gang du indsætter værdien var i funktionen, så bliver resultatet overført til Array.prototype.find.

2. Du opretter en funktion med navnet Array.prototype.find

/per
Avatar billede paask Nybegynder
25. februar 2002 - 00:27 #2
Idéen er at nedarve en funktion til et objekt (her objektet Array), eller rettere dets class, og det gøres ved brug af prototype property'en. I det første eksempel defineres en funktion kaldet find og bliver samtidigt nedarvet til Array objektet.

Du kunne også have defineret funktionen som
function find(var){
}
og derefter overført metoden til objektet med
Array.prototype.find = find;

Uanset hvad resulterer det i, at du kan benytte funktionen, metoden vi har tildelt objektet, på samtlige arrays sidenhen med ditArray.find();

Mht. til anden del, så ville jeg umiddelbart tro heojrup har ret i, at Array.prototype.find ville blive defineret som hele navnet på din funktion, uden nedarvning eller andet som planen jo er.

Skål ;0)
Avatar billede barklund Nybegynder
25. februar 2002 - 14:00 #3
Prøv at skrive:

function Array.prototype.find(var) {
    trace("hej");
}
test = [1,6];
test.find();

Og se hvad der sker...

For generelt er

function myFunction(params) {}

Det samme som:

myFunction = function(params) {}

Så det ville jeg faktisk også tro var tilfældet for prototyping, men ved det faktisk ikke... Jeg ikke i nærheden af en flash, men hvad er resultatet?

/Barklund
Avatar billede paask Nybegynder
25. februar 2002 - 14:16 #4
Hej Barklund.

Jeg forsøgte med det samme igår, men når jeg definerer med

function Array.prototype.find(var){
}

får jeg en error meddelelse, denne...

Scene=Scene 1, Layer=Layer 1, Frame=1: Line 3: '(' expected
    function Array.prototype.find(var) {

men hvordan den parantes-start skulle høre hjemme, det fatter jeg jo ikke.

Jeg tror man er nødt til at definere prototyping direkte med ... = ...
I modsætning til normale functions.
Avatar billede barklund Nybegynder
25. februar 2002 - 14:20 #5
Årh ja... Det er ikke fordi det er prototyping, men fordi strukturen:

function functionName(para) {}

Forventer functionName til at være en variabel uden sti...

Du kan heller ikke skrive:

function _root.myFunction() {}

Men jeg ved ikke om man kan:

with(_root) {
    function myFunction() {}
}

For så kan man måske også:

with(Array.prototype) {
    function find(var) {}
}

Prøv det...

/Barklund
Avatar billede paask Nybegynder
25. februar 2002 - 14:33 #6
Ingen error meddelelse denne gang, men det virker desværre stadig ikke. Idéen var ellers meget god, men jeg tror bare vi skal holde os til

Array.prototype.functionNavn = function(parametre) {
substatements;
}

... der virker og alle er glade :0)

Jeg kan desuden personligt også bedre li' den syntaks, men det er da lidt underligt at with ikke ville du...
Avatar billede barklund Nybegynder
25. februar 2002 - 14:35 #7
Selvfølgelig... Jeg bruger næsten altid denne syntaks selv ved simple funktioner, der ikke behøver dette...

Men det er altid rart at prøve at forstå, hvordan AS egentlig er skruet sammen - for det er temmelig besværligt....
Avatar billede paask Nybegynder
25. februar 2002 - 14:37 #8
Præcist! Jeg er blevet betydeligt mere hooked på at forstå præcist hvorfor og hvordan det hele fungerer... spændende men til tider lidt langhåret :0)
Avatar billede pixelpaw Nybegynder
25. februar 2002 - 14:37 #9
Jeg skal lige lege lidt med det når jeg får tid, for jeg har aldrig brugt denne syntaks før.
Avatar billede paask Nybegynder
25. februar 2002 - 14:40 #10
Hvad var sammenhængen egenligt paw?! Bare en tankestreg eller et konkret eksempel?
Avatar billede pixelpaw Nybegynder
25. februar 2002 - 14:55 #11
Jeg vil bare gerne vide/lære det.
Avatar billede paask Nybegynder
25. februar 2002 - 14:57 #12
ActionScript - the Definitive Guide - chapter 12 - Objects and Classes.

Den bog er guld værd :0)
Avatar billede pixelpaw Nybegynder
25. februar 2002 - 15:08 #13
det står sikkert også i The Flash Bible et sted, men jeg har den ikke her på arb
Avatar billede pixelpaw Nybegynder
13. marts 2002 - 12:43 #14
Lukker lige her, havde lidt glemt at jeg havde et åbent spg.
Avatar billede hoejrup Nybegynder
18. marts 2002 - 16:43 #16
Det er faktisk en meget god forklaring! ;0)

/per
Avatar billede paask Nybegynder
18. marts 2002 - 17:55 #17
Tak for links pixelpaw ! Herlig læsning.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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