我正在尝试使用快捷键返回。
window.abc=window.abc || console.log("works fine");
或
window.cde=window.cde && console.log("works fine");
但是如果我使用return而不是console,我将得到一个错误。
window.abc=window.abc && return;
是有诀窍还是有解释?
console.log()
是一个表达式,可以用作其他表达式或语句的一部分。return
是一个语句,不能用作另一个语句或表达式的一部分。
你可以这样做:
return .. || ..;
if (..)
return ..;
你不能这样做:
.. && return;
解释是return不是一个可以OR或AND的表达式。它不会产生值。这是一个声明。
你可能想用条件分支代替:
if (window.abc)
return;
如果您处于全局作用域,并且想要,例如,正如您在评论中指出的那样,要丢弃脚本文件的其余部分,您只需要将所有内容包装在(匿名)函数中。
(function() {
// ...
if (window.abc)
return;
// ...
})();