gpt4 book ai didi

javascript - 谷歌闭包编译器提示 typeof 调用中未声明的变量

转载 作者:行者123 更新时间:2023-11-28 03:45:22 25 4
gpt4 key购买 nike

我正在使用 Google 的闭包编译器 v20180101 为典型的现代浏览器(例如 Chrome 64)缩小 JavaScript。对于 v20170409,相同的代码编译没有错误。我在多个不同的打包上下文中使用同一段 JS,并且不想将其拆分为许多小文件。

相反,我添加了一些条件代码,使用 typeof 来查看某些函数是否已定义,如果没有,则定义它们。

这是一个非常基本的示例:

if (typeof foo === 'undefined') {
foo = function() { return "Foo!"; }
}

对此,clojure-compiler-v20180101 提示:

foo.js: ERROR - variable foo is undeclared

我可以添加一个声明 var foo 的 extern 文件,但这似乎违背了 typeof 检查的目的。另外,在其他情况下 foo 被声明两次,闭包编译器也会提示。

预先感谢您的帮助。

最佳答案

您需要声明变量:

/** @suppress {duplicate} */
var foo;
if (typeof foo === 'undefined') {
foo = function() { return "Foo!"; }
}

关于javascript - 谷歌闭包编译器提示 typeof 调用中未声明的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48533068/

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