我正在尝试从模块内部访问全局变量或函数,但是它仍然会写入未定义testFunction的错误。
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// The webView is about to navigate to the specified url.
// Toast.makeText(MainActivity.this, "Login clicked", Toast.LENGTH_LONG).show();
if (interstitialAd.isLoaded()) {
interstitialAd.show();
interstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
AdRequest adRequest = new AdRequest.Builder()
.build();
interstitialAd.loadAd(adRequest);
}
});
}
return super.shouldOverrideUrlLoading(view, url);
}
答案 0 :(得分:1)
您在main.js中声明了testFunction()
,但您试图在TestModule.js中对其进行调用
您有几种选择:
testFucntion()
testFunction()
中插入runTestFunction()
的正文runTestFunction()
,例如::
TestModule.js:
export function runTestFunction(testFunction) {
testFunction();
}
main.js:
import { runTestFunction } from './js/TestModule.js';
const testFunction=()=>{
alert('hello');
}
runTestFunction(testFunction);
编辑: 跟进您对范围链的评论。
之所以“未声明”是因为在声明之前您已经导入了。该代码从上到下执行。这意味着您在尝试引用该函数后便对其进行了声明。