首页 > 解决方案 > Google 电子表格脚本编辑器中的 IEFE(立即执行函数表达式)

问题描述

我试图在Google Spreadsheet的脚本编辑器(工具 > 脚本编辑器)中定义一些 IEFE 样式的 Javascript 函数:

function sayHello() {
  return "HELLO";
}

var World = (function () {
  return {
    'say': function() {
      return "WORLD";
    }
  };
}();

所以在一个单元格中,=sayHello()会工作,但不是=World.say()。我想使用 IEFE 风格,因为我想命名我的各种 JS 函数,以便更好地管理和可维护性。

这可能吗?我尝试了其他 IEFE 方法来定义函数,但仍然失败。

TIA。

标签: javascriptgoogle-apps-scriptgoogle-sheetscustom-function

解决方案


这是不可能的。如文档中所写

自定义函数的名称必须使用语法声明function myFunction(),而不是var myFunction = new Function().

因此,IIFE/匿名函数和对象内部的函数不能用作自定义函数。


推荐阅读