Errors: Stmt after return
Errors: Stmt after return
信息
Warning: unreachable code after return statement (Firefox)
错误类型
警告
哪里出错了?
在这些情况下,可能会发生返回语句后无法访问的代码:
- 在
return
语句之后使用表达式时,或
- 当使用分号较少的返回语句,但直接在后面包含一个表达式时。
当一个表达式存在于一个有效的return
语句之后时,会发出一个警告,指出该return
语句之后的代码是不可访问的,意味着它永远不能运行。
为什么在return
陈述后应该用分号?在没有分号的return
语句的情况下,可能不清楚开发者是否打算在下面的行上返回语句,或者停止执行并返回。这个警告表明这个return
陈述的写法是不明确的。
如果这些语句遵循它,警告将不会显示为分号无返回:
throw
break
var
function
示例
无效的情况
function f() {
var x = 3;
x += 4;
return x; // return exits the function immediately
x -= 3; // so this line will never run; it is unreachable
}
function f() {
return // this is treated like `return;`
3 + 4; // so the function returns, and this line is never reached
}
有效的情况
function f() {
var x = 3;
x += 4;
x -= 3;
return x; // OK: return after all other statements
}
function f() {
return 3 + 4 // OK: semicolon-less return with expression on the same line
}