gpt4 book ai didi

JavaScript 函数 : var func = someFunction() and var func = someFunction?

转载 作者:行者123 更新时间:2023-11-30 18:02:25 25 4
gpt4 key购买 nike

 var funcHi = function() { 
var a=6;
var b=5;
return a+b;
};

var withBrace = funcHi();
var withoutBrace = funcHi;

console.log("With braces: "+withBrace) //'Reference 1'
console.log("Without braces: "+withoutBrace) //'Reference 2'
console.log("Without braces: "+withoutBrace()) //'Reference 3'

代码非常简单明了。对于“引用 1”和“引用 3”,控制台会显示 11,但我不清楚我们在哪里使用“引用 2”。对于“refernce 2”,控制台只会显示完整的功能,而不是显示 11。很多时候,我们使用“reference 2”的东西(例如 window.onload = initAll),但它有什么用。

window.onload = initAll;  //What does it actually do? Why not 'window.onload = initAll()'

我不清楚它背后的概念。如果可能的话,有人可以给我一个关于这件事的一些好的类(class)的链接吗?

最佳答案

第一种情况:withBrace包含调用funcHi的结果,因此是11

第二种情况:withoutBrace 引用函数funcHi。因此withoutBrace === funcHi,可以说withoutBrace是一个函数,和funcHi是同一个函数。您可以通过 withoutBrace() 通过 withoutBrace 调用函数 funcHi 并得到 11 - 这是第三种情况.

var funcHi = function() { 
var a=6;
var b=5;
return a+b;
};

//assigning the result of calling funcHi to withBrace
var withBrace = funcHi();

typeof funcHi; //function
typeof withBrace; //number
withBrace === 11 //true, withBrace is 11, a result of calling funcHi

//assigning funcHi to withoutBrace
var withoutBrace = funcHi;

typeof funcHi; //function
typeof withoutBrace; //function
withoutBrace === funcHi; //true, they are the same function

funcHi(); //11
withoutBrace(); //11, they return the same thing since withoutBrace points to funcHi

关于JavaScript 函数 : var func = someFunction() and var func = someFunction?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16631411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com