{"id":460,"date":"2008-09-02T17:14:02","date_gmt":"2008-09-02T15:14:02","guid":{"rendered":"https:\/\/devpath.pro\/?p=460"},"modified":"2008-09-02T17:14:02","modified_gmt":"2008-09-02T15:14:02","slug":"ita-i-namespaces-in-javascript","status":"publish","type":"post","link":"https:\/\/fabiocicerchia.it\/web\/ita-i-namespaces-in-javascript","title":{"rendered":"[ITA] I Namespaces in Javascript"},"content":{"rendered":"\n

Come creare script in javascript mantenendo la compatibilit\u00e0 con gli altri framework utilizzati all’interno di un sito (es: prototype, jquery, mootools, ecc)? Un bel namespace sarebbe perfetto\u00a0<\/p>\n\n\n\n

\u00a0Basta definire dei nodi nel DOM del documento e il gioco \u00e8 fatto…\u00a0Creando un namespace si evita la confusione di dover capire a quale framework o script appartiene una funzione, cos\u00ec evitiamo il conflitto che ci pu\u00f2 essere utilizzando funzioni e variabili con nomi comuni o duplicati.<\/p>\n\n\n\n

function registerNS(ns) {
var nsParts = ns.split(\".\");
var root = window;
for(var i = 0; i < nsParts.length; i++) {
if(typeof root[nsParts[i]] == \"undefined\") root[nsParts[i]] = new Object();
root = root[nsParts[i]];
}
}
registerNS('namespace.sub_namespace1.sub_namespace2');<\/pre>\n\n\n\n

Questa funzione vi eviter\u00e0 molto debug alla ricerca di errori su centinaia o migliaia di righe di codice, dove nel migliore dei casi il tutto \u00e8 compresso e la comprensione del codice \u00e8 pressoch\u00e8 impossibile.<\/p>\n","protected":false},"excerpt":{"rendered":"

Come creare script in javascript mantenendo la compatibilit\u00e0 con gli altri framework utilizzati all’interno di un sito (es: prototype, jquery, mootools, ecc)? Un bel namespace sarebbe perfetto\u00a0 \u00a0Basta definire dei nodi nel DOM del documento e il gioco \u00e8 fatto…\u00a0Creando un namespace si evita la confusione di dover capire a quale framework o script appartiene […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","footnotes":""},"categories":[14],"tags":[33,11,12,34],"aioseo_notices":[],"author_meta":{"display_name":"fabio","author_link":"https:\/\/fabiocicerchia.it\/author\/fabio"},"featured_img":null,"coauthors":[],"tax_additional":{"categories":{"linked":["Web<\/a>"],"unlinked":["Web<\/span>"]},"tags":{"linked":["dom<\/a>","italian<\/a>","javascript<\/a>","namespace<\/a>"],"unlinked":["dom<\/span>","italian<\/span>","javascript<\/span>","namespace<\/span>"]}},"comment_count":"0","relative_dates":{"created":"Posted 16 years ago","modified":"Updated 16 years ago"},"absolute_dates":{"created":"Posted on September 2, 2008","modified":"Updated on September 2, 2008"},"absolute_dates_time":{"created":"Posted on September 2, 2008 5:14 pm","modified":"Updated on September 2, 2008 5:14 pm"},"featured_img_caption":"","series_order":"","_links":{"self":[{"href":"https:\/\/fabiocicerchia.it\/wp-json\/wp\/v2\/posts\/460"}],"collection":[{"href":"https:\/\/fabiocicerchia.it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fabiocicerchia.it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fabiocicerchia.it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fabiocicerchia.it\/wp-json\/wp\/v2\/comments?post=460"}],"version-history":[{"count":0,"href":"https:\/\/fabiocicerchia.it\/wp-json\/wp\/v2\/posts\/460\/revisions"}],"wp:attachment":[{"href":"https:\/\/fabiocicerchia.it\/wp-json\/wp\/v2\/media?parent=460"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fabiocicerchia.it\/wp-json\/wp\/v2\/categories?post=460"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fabiocicerchia.it\/wp-json\/wp\/v2\/tags?post=460"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}