Autor | Zpráva | ||
---|---|---|---|
ServIT Profil |
#1 · Zasláno: 12. 12. 2016, 11:52:05
Zdravím,
Zeptám se na úplně trapnou věc, ale nějak si nedokážu odpověď najít sám, tak to zkusím zde nedávno jsem zkoušel CKEditor a jeden plugin v něm nefungoval. Kouknu na zdroják (machr nejsem, ale trochu programování rozumím ) a zaujala mně jedna maličkost, hlavní skript začínal závorkou. K čemu to je, jsem v tu chvíli neřešil, ale dnes jsem hledal řešení, jak obejít vytuhnutí javascriptu, když loguju do konzole (výtuh u FF2, který máme na pokladnách, novější tam nedám), a v jednom elegantním řešení bác, zase ta závorka .. window.console = window.console || (function(){ var c = {}; c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile = c.clear = c.exception = c.trace = c.assert = function(s){}; return c; })(); proč tam před function tu závorku strčil - respektive to celé dal do závorek ? nebo tady kód jednoho CK pluginu : /* Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ (function(){function a ...... ( Jaký to má smysl ? Předem díky za nápovědu |
||
pcmanik Profil |
ServIT:
Autor tu vytvára nový closure aby premenné a funkcie neboli viditeľné z globálneho scope. A zároveň sa ihneď po načítaní skriptu daný kód vykoná. (function() { ... })(); Neviem vždy dobre vysvetlovať :D tak si o tom môžeš prečítať trochu viac - najmä sekciu self-invoking functions. |
||
ServIT Profil |
#3 · Zasláno: 12. 12. 2016, 13:45:02
Strašně moc díky za nakopnutí, ani jsem nevěděl, jak se to jmenuje :)))
|
||
Časová prodleva: 7 let
|
0