【发布时间】:2015-03-26 23:12:00
【问题描述】:
跑过这段代码:
if(!function1()) return;
function2();
function3(array1[index1]);
返回后有一个即时分号是什么意思?我在 jquery 代码下找到了它。 jquery与它无关吧?
【问题讨论】:
标签: javascript syntax
跑过这段代码:
if(!function1()) return;
function2();
function3(array1[index1]);
返回后有一个即时分号是什么意思?我在 jquery 代码下找到了它。 jquery与它无关吧?
【问题讨论】:
标签: javascript syntax
Javascript 中的return 语句会终止一个函数。这段代码基本上说如果!function1()(与function1()的返回值相反)是true或truthy,则停止执行该函数。
也就是说,立即终止这个函数。分号是 javascript 中的语句终止符。如果!function1() 最终成为true 或truthy,则该函数将返回并且不会执行它下面的任何代码。
Return 可用于从函数中返回一个值,例如:
function returnFive(){
return 5;
}
或者,就像在本例中一样,如果——由于某种原因——我们不再需要继续,它是一种停止函数的简单方法。喜欢:
function isEven(number){
/* If the input isn't a number, just return false immediately */
if(typeof number !== 'number') return false;
/* then you can do even/odd checking here */
}
正如您所怀疑的,这与 jQuery 没有任何关系。分号在那里,以便 Javascript 引擎知道有两个语句:
if(!function1()) return;
function2();
不仅仅是一个语句,你可以看到它会完全改变程序:
if(!function1()) return function2();
【讨论】: