Autor | Zpráva | ||
---|---|---|---|
Yur4Y Profil |
#1 · Zasláno: 24. 10. 2010, 21:14:46 · Upravil/a: Yur4Y
Zdravím,
typeof Function.prototype.call function x() { return this.x * arguments[0]; } x.call({x: 4}, 5); //vracia 20 podľa očakávania function x() { return this.x * arguments[0]; } x.call.call(null, {x: 4}, 5); Vie mi niekto vysvetliť, prečo nad call nejde zavolať ďalšiu metódu call? Samozrejme nejde o nič, čo by som nevedel vyriešiť inak, zaujíma ma to z toho teoretického hľadiska. |
||
_es Profil |
#2 · Zasláno: 24. 10. 2010, 21:43:06 · Upravil/a: _es
Yur4Y:
Výraz x.call.call(null, {x: 4}, 5); sa mi zdá divný.
Ja to vlastne (x.call).call(null, {x: 4}, 5); , teda je v tom výraze jedno, či tam je funkcia x alebo úplne iná funkcia.
A asi sa potom funkcia call pokúša spustiť globálny objekt, v prehliadači window , ako funkciu.
|
||
Časová prodleva: 8 dní
|
|||
Yur4Y Profil |
#3 · Zasláno: 1. 11. 2010, 13:09:38
Myslím, že už som pochopil, o čo ide. Ďakujem za vysvetlenie.
|
||
Časová prodleva: 13 let
|
0