2011-10-25 946 views
46

Por lo tanto, solo quiero saber si alguien sabe el significado particular y el uso de la declaración init() en JavaScript, nunca lo supo realmente, como una novedad.¿Cuál es el uso del uso de init() en JavaScript?

+0

init es sólo una abreviatura de iniciado. Por lo general, se usa para crear un "nuevo objeto()". Al igual que la función init() en jQuery, devuelve un nuevo objeto jQuery. – William

+1

@LiamWilliam - initialize – UpTheCreek

Respuesta

90

JavaScript no tiene una función incorporada init(), es decir, no es parte del idioma. Pero no es raro (en muchos idiomas) que los programadores individuales creen su propia función init() para la inicialización.

Una función particular init() se puede utilizar para inicializar toda la página web, en cuyo caso probablemente se llamaría desde el procesamiento document.ready o onload, o podría ser inicializar un tipo particular de objeto, o ... bien , lo que sea

Lo que cualquier init() hace específicamente depende de lo que la persona que lo escribió lo necesite. Algunos tipos de código no necesitan ninguna inicialización.

function init() { 
    // initialisation stuff here 
} 

// elsewhere in code 
init(); 
+14

Me gusta cómo lo expresaste: muy claro. Estoy borrando mi respuesta y +1 – attack

+0

¿Sigue siendo así? Ahora tengo un código que hace algo como esto: 'var bEvent = function() {...}();' y luego, '$ (function() { // Funciones de inicio bEvent.init() }) ' – Jeff

+1

@Jeff - ¿Es lo que todavía es el caso? En su ejemplo, 'bEvent' debe referirse a un objeto que tiene un método' init() ', que debería ver que se crea en algún lugar dentro del cuerpo de la función que no se muestra. – nnnnnn

16

En JavaScript cuando se crea un objeto a través de una llamada al constructor, como a continuación

paso 1: crear una función de decir persona ..

function Person(name){ 
this.name=name; 
} 
person.prototype.print=function(){ 
console.log(this.name); 
} 

paso 2: crear una instancia para esta función ..

var obj=new Person('venkat') 

// above line creará una instancia de esta función (Person) y devolverá un br y el nuevo objeto llamado persona {nombre: 'venkat'}

si no desea crear una instancia de esta función y llamar al mismo time.we también puede hacer, como a continuación ..

var Person = { 
    init: function(name){ 
    this.name=name; 
    }, 
    print: function(){ 
    console.log(this.name); 
    } 
}; 
var obj=Object.create(Person); 
obj.init('venkat'); 
obj.print(); 

en el anterior El método init lo ayudará a crear instancias de las propiedades del objeto. básicamente init es como una llamada de constructor en tu clase.

-1

NB. Los nombres de las funciones de constructor deben comenzar con una letra mayúscula para distinguirlos de las funciones ordinarias, p. MyClass en lugar de myClass.

O se puede llamar init de su función constructora:

var myObj = new MyClass(2, true); function MyClass(v1, v2) { // ... // pub methods this.init = function() { // do some stuff }; // ... this.init(); // <------------ added this }

o más simplemente usted podría copiar el cuerpo de la función init hasta el final de la función constructora. No es necesario tener realmente una función init en absoluto si solo se llama una vez.

+1

Y compruebe http: // stackoverflow.com/questions/3526916/javascript-class-call-method-when-object-initialized –

Cuestiones relacionadas