您能告诉我下面的返回语句中的 Menu (return Menu;) 是什么吗?它是一个变量(未定义)还是内部函数的名称?
var Menu = (function () {
// A straightforward constructor.
function Menu(item_list, total_pages) {
// The this keyword is mandatory.
this.items = item_list;
this.pages = total_pages;
}
// Methods
Menu.prototype.list = function () {
console.log("Our menu for today:");
for (var i = 0; i < this.items.length; i++) {
console.log(this.items[i]);
}
};
return Menu;
}());
最佳答案
Is it a variable...?
有效。它来自函数声明:
function Menu(item_list, total_pages) {
// The this keyword is mandatory.
this.items = item_list;
this.pages = total_pages;
}
函数声明在作用域的当前执行上下文中创建规范所称的“绑定(bind)”。它实际上是一个变量。
因此return Menu;
从匿名函数中返回Menu
函数引用,并且外部var Menu = ...
赋值进行赋值它到包含范围内的 Menu
变量。
关于javascript - 函数的返回值是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42619155/