Có một cái gì đó như "Die" trong JavaScript? Tôi đã thử với "Break", nhưng không hoạt động :]
Đã hỏi ngày 1 tháng 9 năm 2009 lúc 9:18Sep 1, 2009 at 9:18
7
throw new Error["my error message"];
Đã trả lời ngày 1 tháng 9 năm 2009 lúc 11:32Sep 1, 2009 at 11:32
Stephen Sorensensephen SorensenStephen Sorensen
11K12 Huy hiệu vàng31 Huy hiệu bạc45 Huy hiệu đồng12 gold badges31 silver badges45 bronze badges
5
Bạn chỉ có thể
myBlock: {
var a = 0;
break myBlock;
a = 1; // this is never run
};
a === 0;
7 một phạm vi khối nếu bạn dán nhãn nó. Ví dụ:myBlock: {
var a = 0;
break myBlock;
a = 1; // this is never run
};
a === 0;
Bạn không thể phá vỡ phạm vi khối từ trong một hàm trong phạm vi. Điều này có nghĩa là bạn không thể làm những thứ như:
foo: { // this doesn't work
[function[] {
break foo;
}[]];
}
Bạn có thể làm một cái gì đó tương tự mặc dù với các chức năng:
function myFunction[] {myFunction:{
// you can now use break myFunction; instead of return;
}}
Đã trả lời ngày 2 tháng 9 năm 2009 lúc 1:57Sep 2, 2009 at 1:57
Eli Greyeli GreyEli Grey
34.6K13 Huy hiệu vàng72 Huy hiệu bạc93 Huy hiệu đồng13 gold badges72 silver badges93 bronze badges
3
Bạn có thể chỉ cần sử dụng ví dụ
myBlock: {
var a = 0;
break myBlock;
a = 1; // this is never run
};
a === 0;
8$[document].ready[function [] {
alert[1];
return;
alert[2];
alert[3];
alert[4];
}];
Trả về sẽ trở lại chức năng người gọi chính Test1 []; và tiếp tục từ đó đến Test3 [];
function test1[]{
test2[];
test3[];
}
function test2[]{
alert[2];
return;
test4[];
test5[];
}
function test3[]{
alert[3];
}
function test4[]{
alert[4];
}
function test5[]{
alert[5];
}
test1[];
Nhưng nếu bạn chỉ cần thêm ném ''; Điều này sẽ hoàn toàn ngăn chặn việc thực thi mà không gây ra bất kỳ lỗi nào.
function test1[]{
test2[];
test3[];
}
function test2[]{
alert[2];
throw '';
test4[];
test5[];
}
function test3[]{
alert[3];
}
function test4[]{
alert[4];
}
function test5[]{
alert[5];
}
test1[];
Điều này được thử nghiệm với Firefox và Chrome. Tôi không biết làm thế nào điều này được xử lý bởi IE hoặc Safari
Đã trả lời ngày 4 tháng 11 năm 2011 lúc 14:09Nov 4, 2011 at 14:09
themhzthemhzthemhz
8.24519 Huy hiệu vàng82 Huy hiệu bạc109 Huy hiệu đồng19 gold badges82 silver badges109 bronze badges
3
Chỉ cần gọi
myBlock: {
var a = 0;
break myBlock;
a = 1; // this is never run
};
a === 0;
9 mà không bao giờ xác định nó. Kịch bản của bạn sẽ bị sập. :]Khi tôi làm điều này, tôi thường gọi
foo: { // this doesn't work
[function[] {
break foo;
}[]];
}
0 thay thế, nhưng nguyên tắc là như nhau..
Đã trả lời ngày 30 tháng 5 năm 2014 lúc 20:09May 30, 2014 at 20:09
BrilliandbrilliandBrilliand
13.1k6 Huy hiệu vàng46 Huy hiệu bạc58 Huy hiệu đồng6 gold badges46 silver badges58 bronze badges
3
Nếu bạn đang sử dụng nodejs, bạn có thể sử dụng
process.exit[];
Mike Szyndel
10.3k8 Huy hiệu vàng44 Huy hiệu bạc63 Huy hiệu Đồng8 gold badges44 silver badges63 bronze badges
Đã trả lời ngày 19 tháng 11 năm 2016 lúc 19:17Nov 19, 2016 at 19:17
Rickbsgurickbsgurickbsgu
1571 Huy hiệu bạc3 Huy hiệu đồng1 silver badge3 bronze badges
2
Có thể cuộn phiên bản của riêng bạn của Php's Die:
function die[msg]
{
throw msg;
}
function test[arg1]
{
arg1 = arg1 || die["arg1 is missing"];
}
test[];
Ví dụ về JSfiddle
Đã trả lời ngày 18 tháng 10 năm 2013 lúc 19:19Oct 18, 2013 at 19:19
KelmarkelmarKelmar
1652 Huy hiệu bạc5 Huy hiệu Đồng2 silver badges5 bronze badges
2
Bạn có thể thử với:
return;
công việc đó trong trường hợp quá trình dừng.
Đã trả lời ngày 22 tháng 1 năm 2019 lúc 14:50Jan 22, 2019 at 14:50
Yassine Chabliyassine ChabliYassine CHABLI
3.2612 Huy hiệu vàng19 Huy hiệu bạc41 Huy hiệu đồng2 gold badges19 silver badges41 bronze badges
Không có chức năng thoát tương đương với php die [] trong js, nếu bạn không sử dụng bất kỳ chức năng nào thì bạn chỉ có thể sử dụng return;
myBlock: {
var a = 0;
break myBlock;
a = 1; // this is never run
};
a === 0;
0Đã trả lời ngày 2 tháng 7 năm 2019 lúc 8:18Jul 2, 2019 at 8:18
Manu Josephmanu JosephManu Joseph
3594 Huy hiệu bạc10 Huy hiệu đồng4 silver badges10 bronze badges
Sử dụng Firebug và The Glorious ...
myBlock: {
var a = 0;
break myBlock;
a = 1; // this is never run
};
a === 0;
1Và không bao giờ để trình gỡ lỗi thực hiện bất kỳ bước tiến. Làm sạch hơn là ném một
foo: { // this doesn't work
[function[] {
break foo;
}[]];
}
2 thích hợp, bẩm sinh?Đã trả lời ngày 3 tháng 1 năm 2014 lúc 15:16Jan 3, 2014 at 15:16
Nourdinenourdinenourdine
7.24910 Huy hiệu vàng44 Huy hiệu bạc58 Huy hiệu đồng10 gold badges44 silver badges58 bronze badges
1
Chức năng chết toàn cầu [] cho mục đích phát triển:
myBlock: {
var a = 0;
break myBlock;
a = 1; // this is never run
};
a === 0;
2Sử dụng chết []:
myBlock: {
var a = 0;
break myBlock;
a = 1; // this is never run
};
a === 0;
3Đã trả lời ngày 23 tháng 1 năm 2020 lúc 17:55Jan 23, 2020 at 17:55
Gummiostgummiostgummiost
6147 Huy hiệu bạc15 Huy hiệu Đồng7 silver badges15 bronze badges
Không có sự bình đẳng chính xác của cấu trúc ngôn ngữ
foo: { // this doesn't work
[function[] {
break foo;
}[]];
}
3 của PHP trong JavaScript. foo: { // this doesn't work
[function[] {
break foo;
}[]];
}
3 trong PHP khá bằng với foo: { // this doesn't work
[function[] {
break foo;
}[]];
}
5 trong Java, kết thúc tập lệnh hiện tại và gọi các móc tắt. Như một số người dùng đề xuất; foo: { // this doesn't work
[function[] {
break foo;
}[]];
}
6 có thể được sử dụng trong một số trường hợp, tuy nhiên nó không bao giờ đảm bảo việc chấm dứt tập lệnh hiện tại. Luôn có thể có một khối xử lý ngoại lệ xung quanh câu lệnh foo: { // this doesn't work
[function[] {
break foo;
}[]];
}
7 của bạn- trừ khi bạn gọi nó trên khối tập lệnh cấp cao nhất, cuối cùng chỉ thoát khỏi khối tập lệnh bạn đang thực hiện.Javascript. foo: { // this doesn't work
[function[] {
break foo;
}[]];
}
3 in PHP is pretty much equal to foo: { // this doesn't work
[function[] {
break foo;
}[]];
}
5 in Java, which terminates the current script and calls shutdown hooks. As some users suggested; foo: { // this doesn't work
[function[] {
break foo;
}[]];
}
6 can be used in some cases, however it never guarantees the termination of the current script. There can be always an exception handling block surrounding your foo: { // this doesn't work
[function[] {
break foo;
}[]];
}
7
statement- unless you call it on the top most level script block, which eventually exits only the script block you're executing.Tuy nhiên, nó sẽ không ngăn được khối thứ hai được thực thi ở đây [in hello]:
myBlock: {
var a = 0;
break myBlock;
a = 1; // this is never run
};
a === 0;
4Đã trả lời ngày 18 tháng 4 năm 2016 lúc 1:44Apr 18, 2016 at 1:44
RegulusRegulusregulus
1.51212 Huy hiệu bạc18 Huy hiệu đồng12 silver badges18 bronze badges
Điều này nên loại công việc như chết [];
myBlock: {
var a = 0;
break myBlock;
a = 1; // this is never run
};
a === 0;
5Đã trả lời ngày 7 tháng 9 năm 2018 lúc 9:27Sep 7, 2018 at 9:27
Bạn có thể sử dụng Return False; Điều này sẽ chấm dứt kịch bản của bạn.
Đã trả lời ngày 4 tháng 11 năm 2014 lúc 4:28Nov 4, 2014 at 4:28
BugfixerBugFixerBugfixer
2.5172 Huy hiệu vàng25 Huy hiệu bạc42 Huy hiệu đồng2 gold badges25 silver badges42 bronze badges
2
myBlock: {
var a = 0;
break myBlock;
a = 1; // this is never run
};
a === 0;
6
Koby Douek
15.8K18 Huy hiệu vàng70 Huy hiệu bạc96 Huy hiệu Đồng18 gold badges70 silver badges96 bronze badges
Đã trả lời ngày 3 tháng 3 năm 2018 lúc 13:01Mar 3, 2018 at 13:01
Arimaarimaarima
11 Huy hiệu Đồng1 bronze badge
0