Có một cách viết tắt sau -Shorthand cho nhiều HOẶC biểu thức trong câu lệnh if
if(tld == "com" || tld == "net" || tld == "co" || tld == "org" || tld == "info" || tld == "biz")
{
//do something;
}
Có một cách viết tắt sau -Shorthand cho nhiều HOẶC biểu thức trong câu lệnh if
if(tld == "com" || tld == "net" || tld == "co" || tld == "org" || tld == "info" || tld == "biz")
{
//do something;
}
bạn có thể sử dụng một mảng
if(["","com","net","co","org","info","biz"].indexOf(tld) > -1) {
// do something
}
hoặc nếu bạn đang sử dụng jquery:
$.inArray(tld, ["com","net","co","org","info","biz"])
Bạn quên '! = -1' là' 0' sẽ là kết quả hoàn toàn hợp lệ ('com'). – ThiefMaster
Cẩn thận với mã IF đầu tiên, dưới dạng một chuỗi rỗng - '[" ",' - cũng đánh giá thành * false *, * undefined * và * null *. Do đó, nếu ** tld ** là một trong số đó, thì IF đầu tiên vẫn sẽ vượt qua! Sử dụng tốt hơn 'if ([" com "," net "," co "," org "," thông tin "," biz "]. IndexOf (tld)> -1)' –
Sử dụng một regexp:
if (/^(com|net|co|org|info|biz)$/i.test(tld)) {
// do something
}
sẽ xử lý như thế nào nếu tld là "cot" chứa "co"? Ok, bạn đã thêm phần bắt đầu và kết thúc như tôi đã đăng. – hackartist
không phải là chậm hơn về hiệu suất? – ShalomSam
@ShalomSam Tôi không biết, đó không phải là tối ưu hóa vi mô mà tôi đã thử nghiệm. –
cậu nghĩ về việc sử dụng câu lệnh switch? một cái gì đó như thế này:
switch(tld)
{
case 'com':
case 'net':
case 'co':
...
...
// do something for all of them
break;
default:
// if you want you can have default process here
break;
}
tôi đã suy nghĩ về nó .. nhưng bạn lý tưởng muốn sử dụng một chuyển đổi khi bạn có thực hiện khác nhau trên các trường hợp khác nhau. Và nhiều hơn nữa tôi đang tìm kiếm một cách viết tắt, không làm cho mã của tôi dài hơn. Cảm ơn bạn đã trả lời mặc dù nhiều đánh giá cao! – ShalomSam
@Hamish Nó nói javascript, Tôi đã chỉnh sửa các thẻ cho phù hợp. – purtip31
Hãy xem http://stackoverflow.com/a/10479102/298479 - Tôi đã giải thích một vài phương pháp để làm những gì bạn muốn và cũng liên kết với một so sánh hiệu suất trong trường hợp có vấn đề với bạn. – ThiefMaster
@ purtip31 - Thanx. – ShalomSam