TypeError:使用闭包时,Foo不是函数

时间:2019-01-22 18:04:24

标签: javascript

我正在练习闭包,运行简单的闭包时出现此错误

  

TypeError:猫头鹰不是函数

我认为我做对了所有事情。

const revers = (str) => {
  return str.split("").reverse().join("");

    const inner = () => {
       console.log(str);
    }

    return inner;
} 

 const owl = revers("owls are cool");

 owl();

1 个答案:

答案 0 :(得分:1)

我不应该使用str.split("").reverse().join("");

上的收益

所以我将其放在变量中并记录到内部函数中。我想这是使用闭包的实用方法。因为我不必在功能范围之外调用console.log。

const revers = (str) => {
  let spl = str.split("").reverse().join("");

    const inner = () => {
       console.log(spl);
    }
    return inner;

} 

 const owl = revers("owls are cool");

 owl();

输出

looc era slwo