我在Django应用程序的模板中有代码js:

bookList = new BookList();
bookList.init();
updateBookUrlList();


在这段代码中,我得到一个错误:Uncaught TypeError: BookList is not a constructor

我在外部文件book-list.js中有以下代码:

var BookList=function(){};
BookList.prototype.init=function(){this.$eventslist=$(".event-list"),...


我不知道我的代码出了什么问题。

编辑:

我将代码更改为:

function BookList() {};


但是现在我得到了错误:TypeError: bookList.init is not a function

最佳答案

仅从以下位置更改函数声明:

var BookList = function () {


至:

function BookList() {


当您将函数分配给变量时,不能在声明它之前调用它。但是通过第二种方法,该函数将在代码的任何部分都可用,甚至在声明之前也可以使用。

10-08 15:35