Autor | Zpráva | ||
---|---|---|---|
marq Profil * |
#1 · Zasláno: 30. 3. 2018, 23:19:18
ahoj je rozdíl mezi
var mojefunkce = function() { ... } function mojefunkce() { ... } a další věc: napsal jsem toto var fce = (function() { var id = 15; var vraceni = function() { return id; } return { vratitID = vraceni } }()); ale když to napíšu tak aby se ta funkce sama NEspustila, ale spouštím jí až potom tj. var fce = function() { var id = 15; var vraceni = function() { return id; } return { vratitID = vraceni } } fce(); |
||
Kajman Profil |
#2 · Zasláno: 30. 3. 2018, 23:46:25
K druhému dotazu. Je rozdíl do proměnné dát výsledek zavolání funkce, která vrací funkci (první verze) a dát do proměné funkci, která teprve svým zavoláním tu funkci vrací. Pokud chcete zavolat funkci v proměnné, musíte za ní dát kulaté závorky.
var fce = (function() { var id = 15; var vraceni = function() { return id; } return { vratitID : vraceni() } }()); alert(fce.vratitID); var fce = (function() { var id = 15; var vraceni = function() { return id; } return { vratitID : vraceni } }()); alert(fce.vratitID()); var fce = function() { var id = 15; var vraceni = function() { return id; } return { vratitID : vraceni }; } alert(fce().vratitID()); var fce = function() { var id = 15; var vraceni = function() { return id; } return { vratitID : vraceni() }; } alert(fce().vratitID); |
||
Kajman Profil |
#3 · Zasláno: 30. 3. 2018, 23:51:10
Zkuste si projít tyto příklady
johnresig.com/apps/learn |
||
marq Profil * |
#4 · Zasláno: 31. 3. 2018, 00:40:21
Kajman:
díky, trochu sem to prozkoušel a var fce = (function() { var id = 15; var cislo = 19; var vraceni = function() { return id; } var soucet = function() { return id + cislo; } var zmena = function() { id -= 1; } return { vratitID : vraceni, secti : soucet, zmenit: zmena } }()); console.log(fce.vratitID()); fce.zmenit(); console.log(fce.vratitID()); a tady při tom var fce = function() { var id = 15; var cislo = 19; var vraceni = function() { return id; } var soucet = function() { return id + cislo; } var zmena = function() { id = 13; } return { vratitID : vraceni, secti : soucet, zmenit : zmena }; } console.log(fce().vratitID()); fce().zmenit(); console.log(fce().vratitID()); |
||
Kajman Profil |
V první verzi si vrátíte objekt s metodami. V druhé verzi pokaždé vytváříte objekt nový.
Abyste nevytvářel v druhé verzi stále nový objekt, uložte si ho. var mujObjekt=fce(); mujObjekt.vratitID(); mujObjekt.zmenit(); mujObjekt.vratitID(); |
||
marq Profil * |
#6 · Zasláno: 31. 3. 2018, 00:50:36
co se týká toho odkazu... tu funkci assert mám nahradit console.log?
|
||
Kajman Profil |
#7 · Zasláno: 31. 3. 2018, 00:54:45
Z toho odkazu nic nemusíte nikam kopírovat. Je tam tlačítko run a to assert vykoná a vypíše. Kód si můžete upravovat po dvojkliku - někdy to je potřeba ke splnění úkolu.
|
||
marq Profil * |
#8 · Zasláno: 31. 3. 2018, 00:58:12
uf, zítra se na to budu muset ještě jednou asi pořádně podívat a projít ty příklady v odkazu... a co se týká té úplně první otázky?
ahoj je rozdíl mezi var mojefunkce = function() { ... } function mojefunkce() { ... } |
||
Kajman Profil |
#9 · Zasláno: 31. 3. 2018, 01:00:41
Ano rozdíl tam je, viz výsledek tlačítka run na páté stránce
johnresig.com/apps/learn/#5 ale důsledky rozdílu nechám na někom jiném, kdo se v js vyzná. |
||
Časová prodleva: 6 let
|
0