Javascript Object (deel I)
Zaterdag, 6 januari 2007 Indien u meer instantiëren objecten van een klasse, een methode is het bepalen van de klasse via de function()
- / / Klasse definitie
- param1,param2 ) { CmyClass functie (param1, param2) (
- = param1; dit. myProperty = param1;
- = param1+param2; dit. myAdding = param1 + param2;
- / /
- = function ( param1 ) { dit. mymethod = functie (param1) (
- "add: " + this . myAdding + " - Param: " +param1 ) ; alert ( "toe te voegen:" + dit. myAdding + "- Param:" + param1);
- )
- )
- / /
- CmyClass ( 10 , 20 ) ; var OBJ1 = new CmyClass (10, 20);
- CmyClass ( 20 , 40 ) ; var obj2 = new CmyClass (20, 40);
- / /
- "Hi from obj1" ) ; OBJ1. mymethod ( "Hi uit OBJ1");
- / /
- "Hi from obj2" ) ; obj2. mymethod ( "Hi uit obj2);
Toegezegde de klas - met een initiële parameters - kan creëren n exemplaren van mijn object, bij het maken van maatwerk met het zoekwoord new
Kan ook een oproep naar een methode die tijdens de initialisatie van het object, wordt opgericht en erop toe slechts de laatste zijn - zie regel 14:
- / / Klasse definitie
- param1,param2 ) { CmyClass functie (param1, param2) (
- = param1; dit. myProperty = param1;
- = param1+param2; dit. myAdding = param1 + param2;
- / /
- = function ( param1 ) { dit. mymethod = functie (param1) (
- "Result: " + this . myResult ) ; alert ( "Resultaat:" + dit. myResult);
- )
- / /
- ( ) { dit. _init = functie () (
- = this . myProperty * 100 ; dit. myResult = dit. myProperty * 100;
- )
- ; dit. _init ();
- )
- / /
- CmyClass ( 10 , 20 ) ; var OBJ1 = new CmyClass (10, 20);
- CmyClass ( 20 , 40 ) ; var obj2 = new CmyClass (20, 40);
- / /
- "Hi from obj1" ) ; OBJ1. mymethod ( "Hi uit OBJ1");
- / /
- "Hi from obj2" ) ; obj2. mymethod ( "Hi uit obj2);
Een manier zou verkeerd zijn - zie regel 6:
- / / Klasse definitie
- param1,param2 ) { CmyClass functie (param1, param2) (
- = param1; dit. myProperty = param1;
- = param1+param2; dit. myAdding = param1 + param2;
- ; dit. _init ();
- / /
- = function ( param1 ) { dit. mymethod = functie (param1) (
- "Result: " + this . myResult ) ; alert ( "Resultaat:" + dit. myResult);
- )
- / /
- ( ) { dit. _init = functie () (
- = this . myProperty * 100 ; dit. myResult = dit. myProperty * 100;
- )
- )
- / /
- CmyClass ( 10 , 20 ) ; var OBJ1 = new CmyClass (10, 20);
- CmyClass ( 20 , 40 ) ; var obj2 = new CmyClass (20, 40);
- / /
- "Hi from obj1" ) ; OBJ1. mymethod ( "Hi uit OBJ1");
- / /
- "Hi from obj2" ) ; obj2. mymethod ( "Hi uit obj2);
Een andere manier om een object on the fly (on-fly) is te verklaren een variabele / functie voor eenmalig gebruik:
- var MyObject = (
- myProperty: 10
- mymethod: function () (
- "Hi from " + this . myProperty ) ; alert ( "Hi from" + dit. myProperty);
- )
- );
- ; MyObject. Mymethod ();
Deze techniek is handig wanneer u wilt dat het creëren van een enkele istranza van een object en het als zodanig te behandelen. Dit wordt vaak gebruikt in de laatste Ajax-kader, als prototype en derivaten. Van dit feit, je kunt niet instantiëren een nieuw object, omdat de klasse verloren is gegaan.
U kan vervolgens gebruik maken van het prototype een klasse uit te breiden, zelfs leeg. Bijvoorbeeld:
- CmyClass functie () ()
- CmyClass. Prototype = (
- myProperty: 10
- mymethod: function () (
- "Hi from " + this . myProperty ) ; alert ( "Hi from" + dit. myProperty);
- )
- )
- CmyClass ( ) ; var obj = new CmyClass ();
- ; obj. mymethod ();
Of:
- CmyClass functie () (
- = 1000 ; dit. myOldProperty = 1000;
- )
- CmyClass. Prototype = (
- myProperty: 10
- mymethod: function () (
- "Hi from " + this . myProperty ) ; alert ( "Hi from" + dit. myProperty);
- "Hi from " + this . myOldProperty ) ; alert ( "Hi from" + dit. myOldProperty);
- )
- )
- CmyClass ( ) ; var obj = new CmyClass ();
- ; obj. mymethod ();




















