Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Ý nghĩa của javascript:void(0) là gì?

Toán tử void đánh giá biểu thức cho trước và trả về undefined. void(0) (hoặc void 0) là cách phổ biến để lấy giá trị primitive undefined.

Tại sao dùng javascript:void(0)?

Khi gán href cho thẻ <a> nhưng không muốn trang tải lại (reload) hoặc nhảy về đầu trang (#), dùng:

<a href="javascript:void(0)" onclick="myFunction()">Nhấn tôi</a>

So sánh các cách:

CáchHành viƯu/nhược điểm
href="#"Nhảy về đầu trang (scroll top)Gây nhảy trang, URL thêm #
href="javascript:void(0)"Không làm gìCũ, vi phạm CSP, lẫn JS vào HTML
<button>Không nav, không reloadKhuyến nghị nhất: semantic, accessible
<a> + preventDefault()Chặn mặc địnhTốt nếu cần link fallback

Cách hiện đại (Best Practice):

<!-- Dùng button cho hành động -->
<button type="button" onclick="myFunction()">Nhấn tôi</button>

<!-- Hoặc a tag với preventDefault -->
<a href="#section" id="myLink">Xem thêm</a>
<script>
    document.getElementById('myLink').addEventListener('click', function(e) {
        e.preventDefault(); // Chặn nhảy link
        myFunction();
    });
</script>

Kết luận: javascript:void(0) là kỹ thuật cũ (legacy). Hãy dùng <button> cho hành động, <a> cho điều hướng, kèm preventDefault() nếu cần.