abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 02:20 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu, upozorňuje na svém blogu, že nový Inkscape 0.92 rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Problém by měl být vyřešen v Inkscape 0.92.2 [reddit].

Ladislav Hagara | Komentářů: 0
včera 02:02 | Komunita

Øyvind Kolås, hlavní vývojář grafických knihoven GEGL a babl, které využívá grafický program GIMP, žádá o podporu na Patreonu. Díky ní bude moci pracovat na vývoji na plný úvazek. Milník 1000 $, který by stačil na holé přežití, se již téměř podařilo vybrat, dalším cílem je dosažení 2500 $, které mu umožní běžně fungovat ve společnosti.

xkomczax | Komentářů: 12
21.1. 23:54 | Pozvánky

DevConf.cz 2017, již devátý ročník jedné z největších akcí zaměřených na Linux a open source ve střední Evropě, proběhne od pátku 27. ledna do neděle 29. ledna v prostorách Fakulty informačních technologií Vysokého učení technického v Brně. Na programu je celá řada zajímavých přednášek a workshopů. Letos je povinná registrace.

Ladislav Hagara | Komentářů: 0
21.1. 22:11 | Nová verze

Byla vydána verze 1.0.0 emulátoru terminálu Terminology postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
20.1. 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 4
20.1. 15:51 | Komunita

Mozilla.cz informuje, že nástroje pro webové vývojáře se možná oddělí od Firefoxu a stanou doplňkem. Nástroje pro webové vývojáře prošly velkým přepisem a tým, který se stará o jejich vývoj, by uvítal možnost jejich častějších aktualizacích nezávisle na vydávání nových verzí Firefoxu.

Ladislav Hagara | Komentářů: 10
20.1. 07:00 | Humor

Čtenářům AbcLinuxu vše nejlepší k dnešnímu Dni zvýšení povědomí o tučňácích (Penguin Awareness Day).

Ladislav Hagara | Komentářů: 0
20.1. 06:00 | Komunita

Bylo spuštěno hlasování o přednáškách a workshopech pro letošní InstallFest, jenž proběhne o víkendu 4. a 5. března v Praze. Současně byla oznámena změna místa. InstallFest se letos vrací zpět na Karlovo náměstí do budovy E.

Ladislav Hagara | Komentářů: 0
20.1. 02:48 | Komunita

Greg Kroah-Hartman potvrdil, že Linux 4.9 je jádrem s prodlouženou upstream podporou (LTS, Long Term Support). Podpora je plánována do ledna 2019. Aktuální jádra s prodlouženou podporou jsou tedy 3.2, 3.4, 3.10, 3.12, 3.16, 3.18, 4.1, 4.4 a 4.9.

Ladislav Hagara | Komentářů: 0
20.1. 00:11 | Zajímavý článek

Výrobce síťových prvků, společnost Netgear, spustila nový program, který slibuje vývojářům, expertům, ale i běžným uživatelům vyplacení finanční odměny za nalezení bezpečnostních chyby v jejich produktech. Za nalezení zranitelnosti v hardware, API nebo mobilní aplikaci nabízí odměnu od 150 do 15 tisíc dolarů (dle závažnosti).

Michal Makovec | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (74%)
 (3%)
 (10%)
Celkem 363 hlasů
 Komentářů: 25, poslední 21.1. 13:34
Rozcestník
Reklama

Dotaz: JavaScript namespace

19.8.2009 12:47 Sten Fil | skóre: 4
JavaScript namespace
Přečteno: 514×

Ahoj, nenapada vas proc se v JS zavedli "namespace" s teckou

frameworkXY.ui.Form

proc neni

frameworkXX_ui_Form

S tou teckou mi to pripada matouci, kdyz pres tecku se pristupuje k atributum objektu.

Stejne nemuzu v prg. pouzit

using frameworkXY.ui;

abych mohl psat jen

var xx = new Form ();

vzdy musim psat

var xx = new framework.ui.Form ();

 

Diky za nazory.

 

Odpovědi

Tarmaq avatar 19.8.2009 16:42 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: JavaScript namespace
treba proto, ze _ muze byt soucasti nazvu?
jinak misto using ti snad nic nebrani zkratit si to s:
var ui = framework.ui;
var xx = new ui.Form();
Don't panic!
8.9.2009 11:14 Sten Fil | skóre: 4
Rozbalit Rozbalit vše Re: JavaScript namespace

To by slo, ale z C# vim, ze v realu se mi to nehodilo. Bylo to matouci.

Takze bud mam using celeho namespace a nebo pisu plnou kvalifikaci.

 

8.9.2009 09:13 Mazarik
Rozbalit Rozbalit vše Re: JavaScript namespace

Pretoze to nie su namespacy ako ich pozname z inych jazykov, ale vlastnosti/atributy objektu.

8.9.2009 11:12 Sten Fil | skóre: 4
Rozbalit Rozbalit vše Re: JavaScript namespace

Presne to mam na mysli. Proc nazvou objekt, tridu, metodu

xx.bubla.Neco

misto

xx_bubla_Neco

a tecky by zustali pro pristup k atributum.

xx_bubla_Neco.Metoda1 ();

Kdyz chcou pouzit ty tecky tak s tim maji spousty komplikaci, jelikoz se jedna o objekt v objektu objektu atd.

Nechapu proc si to komplikuji.

???

8.9.2009 11:26 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: JavaScript namespace
Kdyz chcou pouzit ty tecky tak s tim maji spousty komplikaci, jelikoz se jedna o objekt v objektu objektu atd.
A o jaké přesně komplikace jde? Já jen že mne žádná nenapadá. Jmenný prostor je prostě objekt, na tom není nic divného.
Ještě na tom nejsem tak špatně, abych četl Viewegha.
8.9.2009 11:45 Sten Fil | skóre: 4
Rozbalit Rozbalit vše Re: JavaScript namespace

soubor AAA/UI/Button.js

function AAA_UI_Button ()
{
}
AAA_UI_Button.prototype.Metoda1 = function ()
{
};
AAA_UI_Button.prototype.Metoda2 = function ()
{
};

soubor AAA/UI/Label.js

function AAA_UI_Label ()
{
}
AAA_UI_Label.prototype.Metoda1 = function ()
{
};
AAA_UI_Label.prototype.Metoda2 = function ()
{
};

pouziti:

var btn1 = new AAA_UI_Button ();

var lbl1 = new AAA_UI_Label ();

btn1.Metoda1 ();

lbl1.Metoda2 ();

S trochou nadsazky mam dva soubory a v kazdem jednu tridu.

Coz mi pripada jasne. Zkuste to prepsat do teckove notace?

 

8.9.2009 13:06 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: JavaScript namespace
var AAA = { }
AAA.UI = { }
AAA.UI.Label = function() { }
AAA.UI.Label.prototype.Metoda1 = function() { }

var btn1 = new AAA.UI.Label()
btn1.Metoda1()
Nebo tak nějak, nejsem v objektovém modelu JavaScriptu úplně zběhlý, abych psal kód po paměti. Podle mě hledáte problém, kde není.

Drobný dotaz: které řešení víc zasviní globální jmenný prostor? :-)
Ještě na tom nejsem tak špatně, abych četl Viewegha.
8.9.2009 13:50 Sten Fil | skóre: 4
Rozbalit Rozbalit vše Re: JavaScript namespace

Problem nehledam, jen mne tak napadlo se zeptat co si o tom mysli ostatni.

Rozhodne diky za vas nazor.

Co se tyce "zasvineni globalniho jmenneho prostoru".

To je nejaky problem, ze tam na jedne urovni bude

AAA_UI_Button

AAA_UI_Label

Kvuli rychlosti nebo kvuli cemu by to melo vadit?

8.9.2009 14:11 Mazarik
Rozbalit Rozbalit vše Re: JavaScript namespace

Problem to nie je, ale zasvini sa tym globalny menny priestor. Potom v debugery vidite velke mnozstvo objektov zacinajucich na AAA_UI. Nic nebrani tomu, aby ste to tak pouzivali, ale vacsine ludi to vyhovuje s bodkovou notaciou, ako mozete vidiet v najznamejsich knizniciach. Ak je to s bodkovou notaciou, tak sa da velmi dobre vyuzivat this.

8.9.2009 19:23 Michal
Rozbalit Rozbalit vše Re: JavaScript namespace

On je problém hlavně v tom, že javascript je úplně odlišný od jazyků jako je Java, C/C++, Php. Bohužel všichni se snaží používat postupy z těchto jazyků i v Javascriptu a to je chyba. Dám příklad jak pracovat OOP v Javascriptu. Jde o to co nejvíce využít toho, že javascript ma closures.

var ui = {};
//neco jako trida v javascriptu
var ui.Button = function (name) {
 return {
  getName : function () {
   return name;
  };
 }
};
var objectButton = ui.Button('nazev');
objectButton.getName();

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.