javascript - 在定义它的函数调用之外调用函数
问题描述
我正在尝试记录myNewFunction()
,结果显示未定义。
function outer() {
let counter = 0;
function incrementCounter() {
counter++
}
return incrementCounter;
}
const myNewFunction = outer();
console.log(myNewFunction())
console.log(myNewFunction())
console.log(myNewFunction())
解决方案
我正在尝试记录 myNewFunction(),结果显示未定义。
因为myNewFunction
, 这与incrementCounter
不返回任何内容相同:
function incrementCounter() {
counter++
// no return statement here
}
如果没有明确的 return 语句,则函数返回undefined
. 如果您希望它返回新值,counter
请执行此操作。
function outer() {
let counter = 0;
function incrementCounter() {
counter++;
return counter;
}
return incrementCounter;
}
const myNewFunction = outer();
console.log(myNewFunction())
console.log(myNewFunction())
console.log(myNewFunction())
推荐阅读
- php - 需要帮助让 PHP 项目在我的 wampserver 上运行
- python - 向注册表单添加更多字段
- timezone - 试图理解日期时间字符串中的“PT1H”
- php - 如何加载 codeigniter CSS、图像、Js
- metaprogramming - Introspection:我们如何在一个类中得到一个类的名称?
- javascript - 在javascript中加载div之前的图像
- windows - 特定月份和年份的文件
- gurobi - 已安装 gurobi ,导入时不反映
- css - 页面加载动画在加载时闪烁(缩放变化)
- c# - 将 HTTPClient.ReadAsAsync 结果反序列化为对象列表