Какая польза от использования init () в JavaScript? - PullRequest
59 голосов
/ 25 октября 2011

Итак, я просто хочу знать, знает ли кто-нибудь конкретное значение и использование выражения init () в JavaScript, никогда не знал, вроде новичка.

Ответы [ 3 ]

106 голосов
/ 25 октября 2011

JavaScript не имеет встроенной функции init(), то есть он не является частью языка.Но нередко (на многих языках) отдельные программисты создают собственную функцию init() для инициализации.

Для инициализации всей веб-страницы может использоваться определенная функция init(), и в этом случаеон, вероятно, будет вызван из document.ready или обработки onload, или это может быть для инициализации определенного типа объекта, или ... ну, вы называете его.

Что конкретно делает любая конкретная init()действительно до того, что человеку, который написал это, нужно было это сделать.Некоторые типы кода не требуют инициализации.

function init() {
  // initialisation stuff here
}

// elsewhere in code
init();
29 голосов
/ 14 января 2016

В JavaScript, когда вы создаете любой объект с помощью вызова конструктора, как показано ниже

шаг 1: создайте функцию, скажем Person ..

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

шаг 2: создайте экземпляр для этой функции ..

var obj=new Person('venkat')

// строка выше создаст экземпляр этой функции (Person) и вернет совершенно новый объект с именем Person {name: 'venkat'}

если вы не хотите создавать экземпляр этой функции и вызывать ее одновременно. Мы также можем сделать, как показано ниже.

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

в приведенном выше методе init поможет в создании экземпляров свойств объекта. в основном init - это вызов конструктора для вашего класса.

0 голосов
/ 10 мая 2017

NB. Имена функций конструктора должны начинаться с заглавной буквы, чтобы отличать их от обычных функций, например MyClass вместо myClass.

Либо вы можете вызвать init из функции конструктора:

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

Или, проще говоря, вы можете просто скопировать тело функции init в конец функции конструктора. Нет необходимости вообще иметь функцию init, если она вызывается только один раз.

...