Javascript 这两个类的定义有什么区别?

Javascript 这两个类的定义有什么区别?,javascript,Javascript,在我看来他们是一样的。但我知道这两者之间一定有一些区别 谁知道哪一个更好 差别很小。运行代码之前,JavaScript解释器会将function name()语法“翻译”为var name=function语句 如果你想更多地了解这一点,我可以推荐这篇文章:由Ben Cherry撰写 顺便说一句,请注意这些是函数,而不是类。JavaScript没有类,它有对象继承。第一个是匿名函数,它是赋值表达式的一部分。函数在赋值时创建 第二个是函数声明。它是“highed”,这意味着它的创建在任何表达式计算

在我看来他们是一样的。但我知道这两者之间一定有一些区别


谁知道哪一个更好

差别很小。运行代码之前,JavaScript解释器会将
function name()
语法“翻译”为
var name=function
语句

如果你想更多地了解这一点,我可以推荐这篇文章:由Ben Cherry撰写


顺便说一句,请注意这些是函数,而不是类。JavaScript没有类,它有对象继承。

第一个是匿名函数,它是赋值表达式的一部分。函数在赋值时创建

第二个是函数声明。它是“highed”,这意味着它的创建在任何表达式计算之前发生


请注意这两者之间的区别

var gem = function() {  
};

function gem() {    
};
而这个

// TypeError, because the function has not been assigned
gem();

var gem = function() {};

我认为他们两个都是一样的,他们之间没有什么不同。妮特:这两个都不是“阶级”。JavaScript没有类,任何函数都可以用作构造函数。答案(到目前为止)适用于所有函数。可能重复@Adam:是的,您可以创建新对象。但它仍然是一个函数,而不是一个类。:-)
// Works because the function declaration was hoisted.
gem();

function gem(){}