javascriptexitdie

How to terminate the script in JavaScript?


How can I exit the JavaScript script much like PHP's exit or die? I know it's not the best programming practice but I need to.


Solution

  • JavaScript equivalent for PHP's die. BTW it just calls exit() (thanks splattne):

    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 '';
    }