Đây chỉ là một ví dụ đơn giản về những gì tôi đang cố gắng để làm:Có thể sử dụng .contains() trong câu lệnh switch không?
switch (window.location.href.contains('')) {
case "google":
searchWithGoogle();
break;
case "yahoo":
searchWithYahoo();
break;
default:
console.log("no search engine found");
}
Nếu nó không thể/khả thi điều gì sẽ là một lựa chọn tốt hơn?
Giải pháp:
Sau khi đọc một số câu trả lời tôi thấy sau đây là giải pháp đơn giản.
function winLocation(term) {
return window.location.href.contains(term);
}
switch (true) {
case winLocation("google"):
searchWithGoogle();
break;
case winLocation("yahoo"):
searchWithYahoo();
break;
default:
console.log("no search engine found");
}
bạn đã cố sử dụng regex chưa? –
Không. Nó sẽ phải là 'chuyển đổi (đúng) {trường hợp location.href.contains (" google ") ...' đó là đồng bằng ngớ ngẩn – mplungjan
Có, nhưng nó sẽ không làm những gì bạn mong đợi. Biểu thức được sử dụng cho công tắc được đánh giá * một lần * - trong trường hợp này sẽ đúng/sai là kết quả, không phải là một chuỗi. – user2864740