所以,假设我有一个小程序,它为用户提供一个警告,表示Hello,即函数内部。每个人都说你应该调用这样的函数:
var thefunct = awesomefunct();
然而它仍然完美无缺:
awesomefunct();
两者之间有什么区别,为什么我不能使用第二个呢?我知道这两种方法都有效但我所有的程序员朋友都告诉我使用第一种方法。为什么呢?
答案 0 :(得分:3)
不同之处在于函数的return语句将分配给第一个变量thefunct
,而第二个只运行函数并且不存储return语句。
说我有这样的功能:
function doSomething(a, b) {
return (a*b)
}
将结果存储在变量中是个好主意,因为函数返回结果,它不会将它分配给先前声明的全局变量。
答案 1 :(得分:3)
如果你跑
awesomefunct()
你打电话给这个功能。所以当你输入:
var thefunct = awesomefunct();
运行该函数并将结果分配给thefunct变量。
之后只需输入
thefunct
不要调用该函数。所以除了你在第一个1上捕获返回值之外,其他2之间没有那么大的区别。
答案 2 :(得分:2)
你关心回报价值吗?使用:
var thefunct = awesomefunct();
不关心回报价值?使用:
awesomefunct();
答案 3 :(得分:2)
您可能误解了代码的作用。
编写thefunct
并未调用函数awesomefunct
,在编写var thefunct = awesomefunct();
时已经调用了您的函数,在这种情况下thefunct
现在包含awesomefunct
的返回值1}}
答案 4 :(得分:1)
第一种函数调用:
awesomefunct();
运行该函数,但返回值(如果有)不存储在任何地方。
第二种函数调用:
var thefunct = awesomefunct();
运行该函数,并在变量thefunct中存储函数返回的任何内容(0,"我真棒",一个对象,无论它是什么)。