【发布时间】:2026-01-02 02:00:02
【问题描述】:
我能问一下为什么有时我们创建一个函数,我们最终会得到一个分号,而有时却没有
function test(){
};
function test(){
}
【问题讨论】:
标签: javascript
我能问一下为什么有时我们创建一个函数,我们最终会得到一个分号,而有时却没有
function test(){
};
function test(){
}
【问题讨论】:
标签: javascript
取决于你如何声明函数。
var myfunc = function() {}; // use semicolon
function myfunc() {} // don't use semicolon
【讨论】:
检查压缩http://javascriptcompressor.com/中的以下代码
var test = function (){
}
a = 10;
就像 var test=function(){}a=10; ,也就是 SyntaxError
这样的声明函数不会有问题
function test(){
}
压缩码function test(){}a=10;是有效的一个
【讨论】:
要将答案置于上下文中,您需要处理两种情况。
函数声明 - 显式声明一个函数:
function someFunction(){
// some code
}
函数表达式 - 将函数声明为表达式:
var someFunction = function(){
// some code
};
注意第二种情况只需要分号。当涉及到函数提升的概念时,区别很重要。
函数提升基本上意味着你必须考虑你希望你的函数在什么时候在运行时是“可见的”(执行上下文)。案例 1 使该函数在脚本中的任何位置都可见,这意味着无论您在脚本中的何处声明了该函数,您始终可以调用它。该函数在执行上下文中被提升到更高的位置。另一方面,情况 2 不会发生这种情况,因此您只能在声明它的行下方调用该函数。
【讨论】: