【问题标题】:How to work with javascript functions in an anonymous function in the browser console?如何在浏览器控制台的匿名函数中使用 javascript 函数?
【发布时间】:2016-10-27 13:45:42
【问题描述】:

我发现了一种定义函数的有趣方法:

! function() {
  function myFunction() {
    return returnValue;
  }
}();

但是,这个功能不能直接从浏览器控制台调用,怎么实现呢?

【问题讨论】:

  • 它是匿名的——你不能。如果你需要随时调用它,你需要定义它。
  • benalman.com/news/2010/11/… - 关于 IIFE 的有趣读物
  • 您需要先将其引用分配给一个变量。
  • 你不能调用它,因为它的作用域是你的外部函数。这就是你这样做的原因之一,以阻止更高层次的污染,他们不需要知道的函数/变量。这听起来真的很像XY Problem - 你想实际实现什么?
  • 匿名函数是无名的,所以如果你不将它们分配给 var,它们将被执行并且没有句柄。它们非常适合范围控制和一次性执行。否则,您必须返回某个时间并将其分配给 var 句柄或类似的东西。

标签: javascript anonymous-function web-console


【解决方案1】:

这是一个围绕你的函数的 IIFE(立即调用的函数表达式)。

我建议对您编写的代码使用这种方法:

!function() {
  function myFunction() {
    return 'hello';
  }

  window['myFunction'] = myFunction;
}();

现在在控制台中调用myFunction。 以前 myFunction 隐藏在您的 IIFE 中,并未作为全局变量公开。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-14
    • 1970-01-01
    • 2014-05-12
    • 1970-01-01
    • 1970-01-01
    • 2021-06-13
    • 2020-10-04
    • 2014-04-30
    相关资源
    最近更新 更多