| Autor | Zpráva | ||
|---|---|---|---|
| blizzboz Profil |
#1 · Zasláno: 13. 9. 2010, 14:58:34 · Upravil/a: blizzboz
Môže mi niekto vysvetliť prečo zápis:
var hashtable = {};
hashtable["name"] = 'Machine Gun Funk';
hashtable["interpret"] = 'Notorious B.I.G';
hashtable["album"] = 'Ready to Die';neni ekvivalentný zápisu: var hashtable = new Array(); hashtable["name"] = 'Machine Gun Funk'; hashtable["interpret"] = 'Notorious B.I.G'; hashtable["album"] = 'Ready to Die'; ? //oprava |
||
| Nox Profil |
#2 · Zasláno: 13. 9. 2010, 15:02:17 · Upravil/a: Nox
nemělo by být "new Array()"?
{} je objekt - literál, svázané s Object.prototype new Array() - instance objektu typu Array, svázané s Array.prototype Edit 1: když si klikneš na "Array", dostane tě to na https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array, kde je mj. psané Note that you shouldn't use it as an associative array, use Object instead. odkazující na http://www.andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/ Edit 2: možná si se spletl a myslel jsi var hashtable = []; v tom případě by to ekvivalentní bylo, [] je pole - literál Edit 3: http://www.json.org/ |
||
| Chamurappi Profil |
#3 · Zasláno: 13. 9. 2010, 15:04:00
Reaguji na blizzboza:
Protože {} je objekt (tedy obecný Object), nikoliv pole. Nové prázdné pole lze zapsat jako [].
Používat pole (tedy Array) na skladování něčeho jiného než sledu hodnot (očíslovaných indexy) není vhodné.
V obou kódech je nesmyslný var na řádcích 2 až 4.
|
||
| blizzboz Profil |
#4 · Zasláno: 13. 9. 2010, 15:12:06 · Upravil/a: blizzboz
Nox, Chamurappi:
jj malo tam byť new Array. a tie var tam tiež nemali byť(som nevyspatý). No vpodstate som si myslel že pole Array a asociatívne pole je ten istý typ a že je javasriptu jedno či sa ako id použije číslo alebo reťazec. |
||
| _es Profil |
#5 · Zasláno: 13. 9. 2010, 15:43:22
blizzboz:
Výraz {} je ekvivalentný výrazu new Object().
Výraz [] je ekvivalentný výrazu new Array().
|
||
|
Časová prodleva: 16 let
|
|||
0