JavaScript-эквивалент PHP файлов

Есть ли что-то вроде "умереть" в JavaScript? Я пробовал с "break", но не работает:)

Ответ 1

Вы можете только break область блока, если вы ее наклейте. Например:

myBlock: {
  var a = 0;
  break myBlock;
  a = 1; // this is never run
};
a === 0;

Вы не можете разбить область блока внутри функции в области. Это означает, что вы не можете делать такие вещи, как:

foo: { // this doesn't work
  (function() {
    break foo;
  }());
}

Вы можете сделать что-то подобное, но с функциями:

function myFunction() {myFunction:{
  // you can now use break myFunction; instead of return;
}}

Ответ 2

throw new Error("my error message");

Ответ 3

Вы можете просто использовать пример return;

$(document).ready(function () {
        alert(1);
        return;
        alert(2);
        alert(3);
        alert(4);
});

Возврат вернется к основной функции caller test1(); и продолжить оттуда до test3();

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<script type="text/javascript">
function test1(){
    test2();
    test3();
}

function test2(){
    alert(2);
    return;
    test4();
    test5();
}

function test3(){
    alert(3);
}

function test4(){
    alert(4);
}

function test5(){
    alert(5);
}
test1();

</script>
</body>
</html>

но если вы просто добавите throw ''; это полностью остановит выполнение, не вызывая ошибок.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<script type="text/javascript">
function test1(){
    test2();
    test3();
}

function test2(){
    alert(2);
    throw '';   
    test4();
    test5();
}

function test3(){
    alert(3);
}

function test4(){
    alert(4);
}

function test5(){
    alert(5);
}
test1();

</script>
</body>
</html>

Это проверено с помощью firefox и chrome. Я не знаю, как это обрабатывается IE или Safari

Ответ 4

Просто позвоните die(), не определяя его. Ваш script выйдет из строя.:)

Когда я это делаю, я обычно называю discombobulate(), но принцип тот же.

(На самом деле, это то, что выбрасываете ReferenceError, что делает его примерно таким же, как ответ на случайный ответ, - но он короче для ввода в целях отладки.)

Ответ 5

Можно свернуть собственную версию PHP die:

function die(msg)
{
    throw msg;
}

function test(arg1)
{
    arg1 = arg1 || die("arg1 is missing"); 
}

test();

Пример JSFiddle

Ответ 6

Если вы используете nodejs, вы можете использовать

process.exit(<code>);

Ответ 7

используйте firebug и славный...

debugger;

и никогда не позволяйте отладчику сделать какой-либо шаг вперед. Чище чем бросать правильный Error, не так ли?

Ответ 8

Нет точного выравнивания языковой конструкции die PHP в Javascript. die в PHP в значительной степени равен System.exit() в Java, который завершает текущий script и вызывает выключения. Как предлагали некоторые пользователи; throw Error может использоваться в некоторых случаях, однако он никогда не гарантирует прекращение текущего script. Всегда может быть блок обработки исключений, окружающий ваш оператор throw, если вы не вызываете его в верхнем блоке script, который в конечном итоге выходит только из блока script, который вы выполняете.

Однако это не помешает выполнению второго блока (печатает привет):

<script type="text/javascript">
  throw new Error('test');
</script>
<script type="text/javascript">
  document.write("hello");
</script> 

Ответ 9

Вы можете использовать return false; Это закончит ваш script.

Ответ 10

Это должно работать вроде die();

function die(msg = ''){
    if(msg){
        document.getElementsByTagName('html')[0].innerHTML = msg;
    }else{
        document.open();
        document.write(msg);
        document.close();
    }
    throw msg;
}

Ответ 11

Вы можете попробовать с:

return 0;

эта работа в случае остановки процесса.

Ответ 12

В JS нет функции выхода, эквивалентной php die(), если вы не используете какую-либо функцию, вы можете просто использовать return;

return;

Ответ 13

<script>
     alert("i am ajith fan");
     <?php die(); ?>
     alert("i love boxing");
     alert("i love MMA");
</script>