从脚本标记调用JS类

时间:2016-10-02 16:52:09

标签: javascript class

我在body:

之前导入的脚本中声明了一个类
$(document).ready(function(){

  var FamilleTree = function() {
  };
  FamilleTree.prototype.someAlert=function() {
    alert("test");
  }
});

之后,我在脚本标记中的主体内部有以下代码:

$(document).ready(function(){
    var famtree= new FamilleTree();
    famtree.someAlert();
});

但是当我加载页面时,这是来自firefox的错误:

ReferenceError: FamilleTree is not defined

在调用之前定义了类,为什么它不可访问?

1 个答案:

答案 0 :(得分:1)

FamilleTree的范围仅限于闭包(document.ready中的函数)。当您从另一个函数调用时,该变量不再在范围内。尝试在$(文档)之外声明FamilleTree。就像这样:

var FamilleTree = function(tree) {
  this.tree=tree
};

$(document).ready(function(){

  FamilleTree.prototype.drawTree=function() {
    $('#tree1').tree({
        data: this.tree,
        dragAndDrop: true
    });
  }
});