【发布时间】:2015-08-18 22:09:27
【问题描述】:
我有一个包含一堆....部分的页面。在其中一个中,我完成了一半并决定要停止,并且不运行此脚本标记的其余内容 - 但仍运行页面上的其他代码段。有没有办法做到这一点不将整个代码段包装在一个函数调用中?
例如:
<script type='text/javascript'>
console.log('1 start');
/* Exit here */
console.log('1 end');
</script>
<script type='text/javascript'>
console.log('2 start');
console.log('2 end');
</script>
应该产生输出
1 start
2 start
2 end
而不是1 end。
显而易见的答案是将脚本包装在一个函数中:
<script type='text/javascript'>
(function(){
console.log('1 start');
return;
console.log('1 end');
})();
</script>
虽然这通常是最好的方法,但也有不适合的情况。所以我的问题是,如果有的话,还有什么其他方法可以做到这一点?如果没有,为什么不呢?
【问题讨论】:
-
无条件退出?
-
我同意@artm 的想法 - 鉴于您(显然)想在没有条件的情况下退出,您当然可以从脚本块中删除
console.log('1 end');行!毫无疑问,还有更多内容,所以我建议您添加更多关于 为什么 您尝试退出 js 块的细节。最终,尽管我怀疑最好的方法是围绕设计和构建代码——在这方面使用内联脚本块并不重要;) -
@NathanRussell 我不确定您是否掌握了“示例”的概念……上面的代码不是实际的生产代码;它只是为了说明情况。在实际的生产系统中,“1 end”部分可能是您有时想要执行的东西而不是其他东西,或者它可能包含在另一个您无法修改的文件中,或者其他情况。我不知道在什么情况下需要这样做;我主要是出于好奇而问,因为我认为这是一个关于 SO 的好问题。