PHP의 다이와 동등한 JavaScript
JavaScript에 "죽음"과 같은 시스템이 있습니까? 나는 "휴식"으로 시도했지만 작동하지 않습니다. :)
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;
}}
throw new Error("my error message");
간단히 return;
예제 를 사용할 수 있습니다.
$(document).ready(function () {
alert(1);
return;
alert(2);
alert(3);
alert(4);
});
반환은 메인 호출자 함수 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>
그러나 던지기 만하면 ''; 이렇게하면 완전히 실행이 중지됩니다.
<!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에서 어떻게 처리 방법 모르겠습니다.
die()
전화 하지 않고 전화 . 펼쳐집니다. :)
이렇게하면 보통 discombobulate()
대신 부르지 만 원칙은 같습니다.
(사실, 이것이하는 일은을 던지는 것입니다 ReferenceError
. 이것은 거의 어리석은 대답과 거의 같지만 디버깅 목적으로 입력하는 것이 더 짧습니다.)
자신의 버전의 PHP 주사위를 굴릴 수 있습니다.
function die(msg)
{
throw msg;
}
function test(arg1)
{
arg1 = arg1 || die("arg1 is missing");
}
test();
nodejs를 사용하는 경우 다음을 사용할 수 있습니다.
process.exit(<code>);
방화범과 영광스런 ...
debugger;
디버거가 앞으로 나아갈 수 있도록하지 마십시오. 적절한 Error
, innit를 던지는 것보다 더 깨끗합니까?
Javascriptdie
에서 PHP 의 언어 구조 와 정확히 일치하는 것은 없습니다 . PHP에서 거의 동일한 것입니다 에서 자바 현재 스크립트를 종료하고 종료 후크를 호출합니다. 일부 사용자가 제안했듯이; 일부 경우에 사용할 수 있지만 현재 스크립트의 종료를 보장하지 않습니다. 명령문을 둘러싼 예외 처리 블록은 항상 최상위 수준의 스크립트 블록에서 호출하여 실행중인 스크립트 블록 만 종료하지 않는 한 항상있을 수 있습니다 .die
System.exit()
throw Error
throw
그러나 두 번째 블록이 여기서 실행되는 것을 막지는 못합니다 (hello 인쇄).
<script type="text/javascript">
throw new Error('test');
</script>
<script type="text/javascript">
document.write("hello");
</script>
당신은 시도 할 수 있습니다 :
return 0;
중지 프로세스의 경우 작동합니다.
JS에서 php die ()에 해당하는 함수 종료는 없습니다. 함수를 사용하지 않는 경우 간단히 return을 사용할 수 있습니다.
return;
return false를 사용할 수 있습니다. 스크립트가 종료됩니다.
이것은 die ();
function die(msg = ''){
if(msg){
document.getElementsByTagName('html')[0].innerHTML = msg;
}else{
document.open();
document.write(msg);
document.close();
}
throw msg;
}
<script>
alert("i am ajith fan");
<?php die(); ?>
alert("i love boxing");
alert("i love MMA");
</script>
참고 URL : https://stackoverflow.com/questions/1361437/javascript-equivalent-of-php-s-die
'IT' 카테고리의 다른 글
Android SQLite 데이터베이스 : 느린 삽입 (0) | 2020.09.04 |
---|---|
Android : 여러 선택 옵션이있는 팝업 만들기 (0) | 2020.09.04 |
Ubuntu에 새로 설치 한 후 사용자 'root'@ 'localhost'(암호 : YES 사용)에 대한 액세스가 거부되었습니다. (0) | 2020.09.04 |
Android CollapsingToolbarLayout 축소 리스너 (0) | 2020.09.04 |
Python을 사용하여 폴더에서 최신 파일을 가져 오는 방법 (0) | 2020.09.04 |