Tárgyak példákban javascript

A következő két lehetőség az objektumok létrehozásához egyenértékűek:

Két szintaxisa létezik tulajdonságokat adni az objektumot. Az első - egy pontot, a második - a szögletes zárójelbe:

Szögletes zárójelek főleg, ha a neve a tulajdonság egy változót:

Itt a tulajdonság neve „teszt” a kulcs egy asszociatív tömb, ahol ez az érték 5.

Az épülethez való végezzük ugyanúgy:

Ha az objektum nem rendelkezik ilyen tulajdonság, az eredmény „nem definiált”

Nincs hiba nem lesz kezelése nem létező tulajdonság, egyszerűen küldje vissza a különleges értéket definiálatlan.

Ellenőrzése globális változó

Gyakori megoldás - használat typeof:

Törli az ingatlan üzemeltető törli:

Tulajdonságok közvetlenül is megadható, ha létre egy objektum, egy listát zárójelek a következő formában:

A kapott objektum lehet az alábbi képlettel ábrázolható:

Például hozzon létre egy objektumot egy eljárás Rabbit Run

Egy új eljárás egy tárgy - egy függvény hozzárendelési függvény (n) tulajdonság rabbit.run.

Most már futtathatja

Nincs szó arról osztályok, példányok létrehozása, és hasonlók. Just - bármilyen tárgy bármikor felvehet egy új módszert vagy törölni egy már meglévőt.

Normális esetben kívánatos lenne, hogy a módszer nem csak az úgynevezett a tárgyat, de volt hozzáférése a tárgy maga, lehet változtatni az adatokat jelenleg.

Ehhez használja a this kulcsszó:

Ellentétben sok nyelven, az ez semmilyen módon nem kapcsolódik a tárgy, és egyszerűen azt jelenti, a tárgy okozta a funkciót.

További információ arról, hogyan működik ez megtalálható ebben a cikkben.

Iterációkhoz egész egy objektum tulajdonságait egy speciális fajta kialakítás. for..in:

Ez túlmutat a jelenlegi cikket, de általában - van egy másik formája a mellszobor ingatlan, amely megbízhatóbb, különösen akkor, ha egy könyvtár, mint a prototípus.

Ez a forma kiszűri tulajdonságokat, amelyek nem tartoznak a tárgy maga, és annak mintapéldánya. Tehát akkor is működik, ha az objektum prototípus új tulajdonságokat.

A kifinomultabb változata a felvétel:

  • nyomtatható változat

Vajon a cikket, ez a példa zavaros:

Ehhez használja a this kulcsszó:

És azt akartam kérdezni. Tehát kérem a tárgy tulajdonságainak a módszer:

Függetlenül attól, hogy a kezelés nélkül is lehetséges ez?

Helló Az én feladatom, hogy hozzáférjen a változók az oldalon, hanem az, hogy az osztály változók. Ebből a célból, én rendezni egy ciklus. Minden objektum tulajdonságai ablakban:

  1. var classA = function ()
  2. >
  3. var a = új classA ();
  4. var b = új classA ();
  5. var z = new Date ();
  6. A (var k ablakban)
  7. ha (typeof (ablak [k]) == "tárgy" ablak [k] instanceof classA)
  8. riasztás ( 'Variable' + k + 'egy classA');
  9. >
  10. >

Az opera és króm script dolgoznak ki jobbra, úgy találja, a és b változó. Nem mondható el a IE, ami egyszerűen egy hiba a 9. sorban „feltételezték az objektum.” Kiderült, hogy az IE egyszerűen nem látja ezeket a változókat a hurok. Ugyanakkor azt kell szkript dolgoztak IE.
Mi lehet a probléma?

Ez egy nagyon jó pont!

Csak azt, hogy rátaláltam és tapasztalt kellemetlen meglepetés - biztos volt benne, hogy js, mind a normál nyelv, az üzemeltető „=” hozzárendeli a jobb oldalon a bal és semmi több.

Segít megoldani a következő problémát!

Hoztam létre az objektumot.
I végigmenni a tömb (nem a tárgy) ciklust. A tömb elemeit tartalmazza a húr, ami általában sokszor megismétlődik, néha egy tömb sorainak néhány más.

Továbbá, egy objektum létre tulajdonság tartalmaz egy sor két elem - ebben az esetben a tulajdonságok az objektum még nem létezik, vagy van tárolva egy új tömböt hagyni és megint generált értékét az új tömb, amely be van ágyazva a következő szint (egy másik új tömb) stb

Így kell kapnia áramkörét típusa:

Svoystvo1: [string, objektum]
Property2: [string, objektum]
Property2: [[string, objektum], [string, objektum]]
Property2 [[string objektumot] [string objektumot] [string objektumot]]
Svoystvo3: [string, objektum]
Svoystvo4: [string, objektum]
.

Tehát ott több dimenziós tömb, az utolsó elem tömb nem érhető el. azaz riasztás (Object [property2]) kiadja az összes, de az utolsó beágyazott tömb (2).

funkció replace_string (J1, J2, J3) var f = 0;
var it = '';
it = szükséges + J1;
F = it.indexOf (j2);
míg a (! f = - 1) f = it.indexOf (j2);
ha (f> 0) it = it.substr (0, F) + J3 + it.substr (f + j2.length);
>;
>;
vissza
>;
old_str = "Fedorov Fedor Fedorovich";
new_str = replace_string (old_str, "e", "E");
riasztás (new_str);

srácok, mint hogy itt egy plusz sort, hogy kiírja a számát algoritmusok elkötelezett ezen funkció nevezetesen azáltal, hogy a leveleket a kis és nagy)

Kapcsolódó cikkek