Autor | Zpráva | ||
---|---|---|---|
Amunak Profil |
#1 · Zasláno: 6. 10. 2013, 14:37:25
Když jsem psal tento kód pro Více blikajících textů na stránce.., chtěl jsem tam taky udělat výchozí objekt s nastavením, kde by se vlastnosti přepsaly podle potřeby. Jde to vůbec udělat, aniž bych musel ten předávaný objekt projít cyklem?
function doSomething(suppliedConf) { var conf = { a: true, b: 15, c: "helloworlds!" } // do something } doSomething({a:false}); |
||
JaySee Profil |
#2 · Zasláno: 6. 10. 2013, 16:42:40
function doSomething(suppliedConf) { var conf = { a: true, b: 15, c: "helloworlds!" } for(var index in conf) { if(typeof options[index] == "undefined") options[index] = conf[index]; } } doSomething({ 'a' : false, 'b' : 10 }); |
||
pako Profil * |
#3 · Zasláno: 6. 10. 2013, 20:18:08
Ak na konfiguraciu nepotrebujes hodnoty, ktore sa vyhodnotia ako
false , mozes pouzit operator ||
var conf = { a: argumentConfig.a || 1000; } |
||
Amunak Profil |
#4 · Zasláno: 6. 10. 2013, 20:27:12
pako:
A i to by šlo "řešit" tak, že by výchozí hodnota byla u booleanů vždy false. Anebo porovnávat přes suppliedConfig.neco === undefined. Problém je, že při delších konfiguracích tam máš pak strašně moc zbytečného textu navíc. Ale to už by zase nevadil cyklus (který jinak taky relativně protahuje ten skript). Takže obě řešení jsou asi správná :) Takže v JS není něco jako v Javě a jiných jazycích - nějaká dědičnost, nebo tak něco? |
||
pako Profil * |
#5 · Zasláno: 6. 10. 2013, 21:28:10
Amunak:
To ma nenapadlo, dobra idea. Skus si precitat tento serial: http://www.zdrojak.cz/clanky/oop-v-javascriptu-i/ |
||
Amunak Profil |
#6 · Zasláno: 7. 10. 2013, 00:10:27
pako:
Díky, podívám se na to. |
||
Časová prodleva: 11 let
|
0