Sự khác biệt giữa "javascript :;" và "javascript:" trong thuộc tính neo href
?Sự khác biệt giữa "javascript :;" và "javascript:" trong thuộc tính href?
Trả lời
Giống như sự khác biệt giữa tệp Javascript và tệp Javascript trống với chỉ ;
.
Không có gì:
eval("");
//undefined
eval(";");
//undefined
Xem http://www.ecma-international.org/ecma-262/5.1/#sec-7.9.1
Khi nào, như các chương trình được phân tách từ trái sang phải, kết thúc của dòng đầu vào của thẻ được gặp và phân tích cú pháp là không thể phân tích cú pháp luồng mã thông báo đầu vào thành một Chương trình ECMAScript hoàn chỉnh, sau đó dấu chấm phẩy tự động được chèn vào cuối luồng đầu vào .
Vì vậy, tệp trống sẽ là Chương trình không hợp lệ, sau đó dấu chấm phẩy được chèn tự động và nó trở thành bằng một Chương trình chỉ bằng dấu chấm phẩy.
Nó chỉ xảy ra với tôi rằng đây lại là một trường hợp đó prooves JSON không phải là một tập hợp con của Javascript: trống JSON là không hợp lệ:
JSON.parse("");
//SyntaxError: Unexpected end of input
eval("");
//undefined
: P
javascript:
cho biết giao thức giả có thể được sử dụng để đánh giá JavaScript. Vì vậy, một dấu chấm phẩy duy nhất sau khi nó bằng một kịch bản có chứa chỉ ;
là một biểu thức trống không làm gì cả. javascript:
mà không có bất cứ điều gì khác sau khi nó là một tập lệnh trống mà cũng không có gì. Trong cả hai trường hợp, giá trị trả về là undefined
, điều quan trọng vì url javascript:
trả lại nội dung khác sẽ dẫn đến nội dung trang được thay thế bằng bất kỳ nội dung nào được trả về.
Tuy nhiên, bạn không nên sử dụng số javascript:
url ở tất cả - chúng không còn được dùng nữa. Sử dụng onclick
và hoặc là một href hữu ích hoặc #
nếu không có phiên bản không phải của liên kết. Nhớ để ngăn chặn mặc định sự kiện trong trường hợp đó mặc dù.
Cảm ơn câu trả lời của bạn, tôi chỉ muốn sửa bạn rằng nội dung trang không được thay thế bằng những gì 'javascript:' trả về, thử 'javascript: 10' hoặc' javascript: 'google.com'' , nó sẽ không làm gì cả. – dhblah
Ngoài ra tôi sẽ không đồng ý rằng javascript: không nên được sử dụng, vì nó luôn luôn có thể là ai đó sẽ quên 'return false;' on onclick hoặc chức năng sẽ ném một ngoại lệ và bạn sẽ có một khó chịu và khó khăn để tìm ra lỗi. – dhblah
http://jsfiddle.net/ThiefMaster/MJ4nb/ - nó * được * thay thế bằng kết quả của biểu thức ...Một ngoại lệ được ném sẽ không thành vấn đề nếu bạn 'preventDefault()' đủ sớm (tôi thường làm điều đó trong dòng đầu tiên của trình xử lý sự kiện nếu nó được thực hiện vô điều kiện) – ThiefMaster
javascript:
cho biết rằng có một tuyên bố javascript đến thay vì liên kết đến một trang khác. ;
là câu lệnh javascript. Tuy nhiên, ;
sẽ không thực thi bất cứ điều gì, vì vậy đây là một no-op.
javascript:;
là javascript:
với và bổ sung dấu chấm phẩy. Ngoài ra, không có sự khác biệt.
- 1. Sự khác biệt giữa href = "", href = "#" và href = "javascript: void (0)" là gì?
- 2. Sự khác biệt chính xác giữa thuộc tính currentTarget và thuộc tính đích trong javascript
- 3. sự khác biệt giữa 'và "trong JavaScript?
- 4. Sự khác biệt giữa typeof và instanceof trong JavaScript
- 5. Trong Javascript, sự khác biệt giữa 'Object.create' và 'new'
- 6. Sự khác biệt giữa Ruby 1.9 và Javascript regexp
- 7. Sự khác biệt Javascript giữa eval() và gắn thẻ script
- 8. Sự khác biệt giữa Javascript regexp literal và constructor
- 9. Javascript: Sự khác biệt giữa location.hostname và document.domain?
- 10. JavaScript: Whats sự khác biệt giữa 'tài liệu' và 'HTML'
- 11. Sự khác biệt giữa Thuộc tính Canvas và Lề số
- 12. Sự khác biệt giữa instanceof và thuộc tính hàm tạo
- 13. Sự khác nhau giữa JavaScript Array và Object ngoại trừ thuộc tính .length là gì?
- 14. "javascript :;" cho href thuộc tính trong thẻ neo HTML
- 15. Sự khác biệt giữa Thuộc tính phụ thuộc SetValue() & SetCurrentValue()
- 16. Sự khác biệt giữa các ngày trong JavaScript
- 17. phát hiện sự khác biệt giữa hai chuỗi với Javascript
- 18. khác biệt giữa điều này và tự trong JavaScript
- 19. Lấy thuộc tính href của hình ảnh bằng Javascript
- 20. Sự khác biệt giữa contentDocument và contentWindow thuộc tính truy cập khung nội tuyến/khung hình javascript
- 21. đóng cửa Javascript - sự khác biệt giữa các
- 22. Sự khác biệt giữa các thuộc tính đối tượng JavaScript được trích dẫn và không được trích dẫn
- 23. sự khác biệt giữa thuộc tính ghi đè và thuộc tính gán nonatomic là gì?
- 24. Sự rõ ràng về sự khác biệt giữa "LexicalEnvironment" và "VariableEnvironment" trong ECMAScript/JavaScript
- 25. Sự khác biệt giữa offsetHeight và clientHeight
- 26. Sự khác biệt giữa các thuộc tính thuộc tính trong mục tiêu-c
- 27. Sự khác biệt JavaScript giữa chức năng và chức năng mới
- 28. Sự khác biệt giữa toFixed() và toPrecision()?
- 29. Mẫu đơn JavaScript - sự khác biệt?
- 30. Sự khác biệt giữa thuộc tính phụ thuộc và thuộc tính đính kèm trong WPF là gì?
Đầu tiên có dấu chấm phẩy, dấu chấm phẩy thứ hai không có. – VisioN
tự hỏi về sự giống nhau? cả hai đều là ** xấu ** – Ejaz