如何 'return' 打字稿中的外部函数定义
How to 'return' outside function definition in typescript
我需要在 typescript 上重写我的 tampermonkey 脚本。
在 typescript 上重写此 javascript 的正确方法是什么?
if (window.top != window.self ) {
return;
}
主要目标是在 运行 不在 window.top 中时停止执行脚本。
Typescript 编译器写入错误 TS1108:'return' 语句只能在函数体内使用。
这是我的做法。 Typescript 转译为 Javascript,但它不是 Javascript。
if(validateIfTop()){
// MAIN BODY OF YOUR USERSCRIPT GOES HERE
}
validateIfTop():boolean{
return window.top === window.self;
}
这应该可以修复当前的编译器错误。但是您的代码可能 运行 处于当前状态。只是 return 主脚本中的值没有意义。您可能想看看这个问题:Is it possible to stop JavaScript execution? 它解释了如何停止 javascript 脚本。
你不能 return 外部函数,但使用 throw Exception 你也可以停止执行 userscipts (tampermonkey):
if (window.top != window.self) {
throw new Error("Not on top");
}
我怀疑您的原始 JS 功能只是巧合,即它在运行时静默失败:
我会重构代码,使其被 if
块包围,正如 David 已经建议的那样。
我需要在 typescript 上重写我的 tampermonkey 脚本。
在 typescript 上重写此 javascript 的正确方法是什么?
if (window.top != window.self ) { return; }
主要目标是在 运行 不在 window.top 中时停止执行脚本。
Typescript 编译器写入错误 TS1108:'return' 语句只能在函数体内使用。
这是我的做法。 Typescript 转译为 Javascript,但它不是 Javascript。
if(validateIfTop()){
// MAIN BODY OF YOUR USERSCRIPT GOES HERE
}
validateIfTop():boolean{
return window.top === window.self;
}
这应该可以修复当前的编译器错误。但是您的代码可能 运行 处于当前状态。只是 return 主脚本中的值没有意义。您可能想看看这个问题:Is it possible to stop JavaScript execution? 它解释了如何停止 javascript 脚本。
你不能 return 外部函数,但使用 throw Exception 你也可以停止执行 userscipts (tampermonkey):
if (window.top != window.self) {
throw new Error("Not on top");
}
我怀疑您的原始 JS 功能只是巧合,即它在运行时静默失败:
我会重构代码,使其被 if
块包围,正如 David 已经建议的那样。