Questo add 'dataValidate' all'oggetto finestra
Sì, lo farà.
Ad esempio, se ci si trova all'interno di un altro ambito;
function foo() {
var bar = 4;
window.bar = bar;
}
Ora hai fatto bar
globale, e può accedervi da qualsiasi luogo . Senza lo window.bar = bar
, avresti potuto accedervi solo entro foo()
.
Si vedrà comunemente questo essere utilizzato alla fine di un IIFE, a pubblicare lavoro nel resto del mondo (ad esempio jQuery);
(function() {
var jQuery;
// Setup jQuery
window.jQuery = jQuery;
}());
Si potrebbe vedere invece persone che fanno questo;
function foo() {
bar = 4; // Note the lack of `var`
}
Questo ha lo stesso effetto attraverso l'uso di "impliciti globali"; ma genererà un errore nella modalità rigorosa ES5 ed è generalmente considerato una cattiva pratica (il programmatore ha pensato di renderlo globale oppure ha semplicemente omesso accidentalmente var
?).
Copia 'dataValidate' su una variabile globale con lo stesso nome. – donkeydown