2009-06-03 52 views
52

tôi thấy this question và tôi tự hỏi về những điều tương tự trong JavaScript.sự khác biệt giữa 'và "trong JavaScript?

Nếu bạn sử dụng ký tự' hoặc nhân vật" khi thực hiện chuỗi trong Javascript, ứng dụng là gì dường như cư xử giống nhau. Vậy sự khác biệt giữa hai nhân vật này là gì?

Ưu điểm duy nhất mà tôi đã thấy trong sử dụng 'để xây dựng chuỗi là tôi có thể làm công cụ như:

var toAppend = '<div id="myDiv1"></div>'; 

Thay vì:

var toAppend = "<div id=\"myDiv1\"></div>"; 

Có sự khác biệt đáng kể giữa họ rằng tôi nên biết?

Trả lời

63

Chúng tương đương với tất cả ý định và mục đích. Nếu bạn muốn sử dụng một trong hai bên trong một chuỗi, bạn nên sử dụng một cái khác để tạo chuỗi, như bạn đã lưu ý. Ngoài ra, tất cả đều giống nhau.

17

Không có sự khác biệt. Lý do cho sự tồn tại của nó là chính xác những gì bạn đề cập

-1

dụ của bạn là ví dụ tốt nhất để mô tả sự khác biệt giữa hai ....

2

Tôi nghĩ rằng có sự khác biệt khác. Nếu bạn làm như sau

var str1 = 'The \' character'; 
var str2 = 'The " character'; 
var str3 = "The ' character"; 
var str4 = "The \" character"; 
document.write (str1.replace("'","%26"); 
document.write (str2.replace('"',"%22"); 
document.write (str3.replace("'","%26"); 
document.write (str4.replace('"',"%22"); 

Document.write sẽ thất bại cho str1 và str4. Đó là sự khác biệt, nhưng tôi không biết nếu có một cách giải quyết để làm cho họ làm việc.

+1

Trong trình duyệt nào các tài liệu này không ghi được? Tôi đã thất bại để khiến họ thất bại. (Khi tôi đặt đủ dấu ngoặc đóng vào mã đó) –

33

Mặc dù không có sự khác biệt về mặt kỹ thuật trong Javascript, đáng lưu ý là các chuỗi được trích dẫn đơn lẻ là not valid JSON, mỗi lần. Tôi nghĩ rằng mọi người tự động giả định rằng vì JSON là JS hợp lệ, nên các chuỗi JS hợp lệ cũng là JSON hợp lệ, which isn't necessarily true.

Ví dụ: {'key': 'Some "value"'} không hợp lệ JSON, trong khi {"key": "Some 'value'"} là.

2

Thực hành tốt, theo Mozilla, là sử dụng "" trong HTML (nơi '' không thể được sử dụng) trong khi đặt '' trong Javascript (cả hai "" và "" có thể sử dụng một cách thờ ơ) ...

+0

Dấu nháy đơn có thể được sử dụng trong HTML: http://stackoverflow.com/questions/273354/are-single-quotes-allowed-in-html –

+0

Có, theo tiêu chuẩn , nhưng "một số khách hàng HTML (không phải trình duyệt cần thiết) có vấn đề tương đồng về trích dẫn đơn" ... Vì vậy, tôi khuyên bạn nên làm theo hướng dẫn của Mozilla. – davidbourguignon

Các vấn đề liên quan