首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在JavaScript中终止脚本?

如何在JavaScript中终止脚本?
EN

Stack Overflow用户
提问于 2009-02-15 17:14:50
回答 18查看 435.9K关注 0票数 192

如何像PHP的exitdie那样退出JavaScript脚本?我知道这不是最好的编程实践,但我需要这样做。

EN

回答 18

Stack Overflow用户

回答已采纳

发布于 2009-02-15 09:17:34

JavaScript equivalent for PHP's die。顺便说一句,它只是调用exit() (感谢splattne):

代码语言:javascript
复制
function exit( status ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Brett Zamir (http://brettz9.blogspot.com)
    // +      input by: Paul
    // +   bugfixed by: Hyam Singer (http://www.impact-computing.com/)
    // +   improved by: Philip Peterson
    // +   bugfixed by: Brett Zamir (http://brettz9.blogspot.com)
    // %        note 1: Should be considered expirimental. Please comment on this function.
    // *     example 1: exit();
    // *     returns 1: null

    var i;

    if (typeof status === 'string') {
        alert(status);
    }

    window.addEventListener('error', function (e) {e.preventDefault();e.stopPropagation();}, false);

    var handlers = [
        'copy', 'cut', 'paste',
        'beforeunload', 'blur', 'change', 'click', 'contextmenu', 'dblclick', 'focus', 'keydown', 'keypress', 'keyup', 'mousedown', 'mousemove', 'mouseout', 'mouseover', 'mouseup', 'resize', 'scroll',
        'DOMNodeInserted', 'DOMNodeRemoved', 'DOMNodeRemovedFromDocument', 'DOMNodeInsertedIntoDocument', 'DOMAttrModified', 'DOMCharacterDataModified', 'DOMElementNameChanged', 'DOMAttributeNameChanged', 'DOMActivate', 'DOMFocusIn', 'DOMFocusOut', 'online', 'offline', 'textInput',
        'abort', 'close', 'dragdrop', 'load', 'paint', 'reset', 'select', 'submit', 'unload'
    ];

    function stopPropagation (e) {
        e.stopPropagation();
        // e.preventDefault(); // Stop for the form controls, etc., too?
    }
    for (i=0; i < handlers.length; i++) {
        window.addEventListener(handlers[i], function (e) {stopPropagation(e);}, true);
    }

    if (window.stop) {
        window.stop();
    }

    throw '';
}
票数 86
EN

Stack Overflow用户

发布于 2011-09-28 22:12:26

即使在没有句柄、事件等的简单程序中,最好将代码放在"main“函数中,即使它是唯一的过程:

代码语言:javascript
复制
<script> 
function main()
{
//code

}
main();
</script>

这样,当你想停止程序时,你可以使用"return“。

票数 56
EN

Stack Overflow用户

发布于 2017-09-20 02:51:08

如果你不关心这是一个错误,只要写:

代码语言:javascript
复制
fail;

这将阻止您的主(全局)代码继续执行。对调试/测试的某些方面很有用。

票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/550574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档