初学者Javascript:What';这是';函数xyz(){}';和';var xyz=函数(){}';?
可能重复:初学者Javascript:What';这是';函数xyz(){}';和';var xyz=函数(){}';?,javascript,Javascript,可能重复: 我一直在学习CodeAcademy的Javascript课程,有一些事情让我不知所措。我理解函数是如何工作的,我正试着去理解OOP和对象/方法 我的问题是,创建这样的函数有什么区别: function countTo(number){ for (var i=1; i<=number; i++){ console.log(i); } } countTo(15); var countToTwo = function(number){ f
我一直在学习CodeAcademy的Javascript课程,有一些事情让我不知所措。我理解函数是如何工作的,我正试着去理解OOP和对象/方法 我的问题是,创建这样的函数有什么区别:
function countTo(number){
for (var i=1; i<=number; i++){
console.log(i);
}
}
countTo(15);
var countToTwo = function(number){
for (var i=1; i<=number; i++){
console.log(i);
}
};
countToTwo(27);
函数countTo(number){
对于(var i=1;i来说,第一个是函数声明,并且是“highed”,这意味着它可以在上下文中的任何位置立即使用
第二个是函数表达式,与任何其他变量声明/赋值一样处理。countToTwo
的声明被挂起并立即在声明的范围内的任何位置可用,但赋值保持在完全相同的位置
它的缺点是,在解析表达式之前,无法调用声明为表达式的函数
这段代码应该说明得更清楚一些
foo();
//blah();
function foo(){
alert('hoisted and works');
}
var blah = function(){
// not hoisted, would fail if called
}
你说得对-没有出现在我面前,因为原来的问题没有足够的描述性!谢谢。没问题,很高兴被重定向到这样一个很好的描述性答案。