【发布时间】:2013-04-22 16:03:16
【问题描述】:
我正在尝试理解 CoffeeScript 生成的这段 JavaScript 代码。
我习惯于将函数定义为:
function Animal(name) {...}var Animal = function(name){...};
但 CoffeeScript 会产生以下结果:
var Animal = (function() {
function Animal(name) {
this.name = name;
}
return Animal;
})();
问题:
- 在匿名函数中创建“命名”函数有什么作用?
- 这样定义 Animal 函数与两种项目符号方式中的一种相比有什么优势?
奖金问题 这些是等价的吗?
//Methodology #1
function Animal(name) {...}
//Methodology #2
var Animal = function Animal(name) {...};
【问题讨论】:
标签: prototypal-inheritance prototype-programming javascript