JavaScript init函数及其使用

时间:2013-12-05 18:34:08

标签: javascript

我是JavaScript的新手,看到了一个coode,其中在声明对象时使用init函数。我尝试搜索“JavaScript init函数”,但它不会将我带到任何正确的文档。此外,它没有为我提供此功能的确切应用......

我已经建立了一个关于它的样子的函数

var1 = Class.extend({
 init : function(){ alert ('Hi'}
}

问题:

  1. init如何调用?它是否与面向对象概念中的init(初始化)方法类似。
  2. 请举例说明如何调用init函数?

2 个答案:

答案 0 :(得分:0)

初始化在大多数框架中用于在对象初始化后调用。它被称为automaticaly,因此您只需在初始化对象后输入要执行的代码。它类似于构造函数,但它不一样。对于一个很酷的javascript框架的骨干的例子(你看到这个init函数只在框架中它不是原生的javascript方法) 构造函数在Backbone设置结构之前运行。在结构的构造函数内部调用initialize。所以基本上如果你需要在Backbone设置结构之前增加任何东西,如果你需要在Backbone设置结构后使用构造函数,请使用初始化。

答案 1 :(得分:0)

init是一个自定义函数名,它可以由框架或对象构造函数调用,通常保留post构造方法的位置。例如,我为jQuery插件声明它,如下所示:

;(function($, window, document, undefined) {
    // Create the defaults once
    var pluginName = "Display", defaults = {    
      cols : 32,
      rows : 16
    };

// The actual plugin constructor
 function Display(element, options) {
   // Object variables
   this.options = $.extend({}, defaults, options);
   this.size = {};
   // Post construct
   this.init();
 }

 // methods of the Display 
 display.prototype =  {
   init : function() {
    this.setSize(this.options.rows, this.options.cols);
   },
   setSize : function(rows, cols) {
      // calculates size
   }
 };

 // JQuery Plugin declaration
 // ...  

})(jQuery, window, document);

通过此操作,调用(从正确的范围)到new Display()将调用init方法。