Single vs Double quotes ('vs ")


250

ฉันมักจะใช้คำพูดเดียวเมื่อเขียน HTML ของฉันด้วยมือ ฉันทำงานกับ HTML ที่แสดงผลจำนวนมากซึ่งมักจะใช้เครื่องหมายคำพูดคู่ สิ่งนี้ทำให้ฉันสามารถระบุได้ว่า HTML นั้นเขียนด้วยมือหรือสร้างขึ้น นี่เป็นความคิดที่ดีหรือไม่?

ความแตกต่างระหว่างสองคืออะไร? ฉันรู้ว่าทั้งคู่ทำงานและได้รับการสนับสนุนจากเบราว์เซอร์สมัยใหม่ทั้งหมด แต่มีความแตกต่างจริงหรือไม่ที่หนึ่งดีกว่าจริง ๆ ในสถานการณ์ที่แตกต่างกันอย่างไร


2
ที่เกี่ยวข้อง: stackoverflow.com/questions/273354/html-single-quotes-a-problemและstackoverflow.com/questions/242766/...
ЯegDwight

5
ในการตอบคำถามเกี่ยวกับการใช้เครื่องหมายคำพูดเดี่ยวหรือสองครั้งเพื่อระบุว่า HTML ที่เขียนด้วยมือกับ HTML นั้นสร้างขึ้นได้หรือไม่อาจไม่ใช่ความคิดที่ดี ในขณะที่รหัสที่ไม่สอดคล้องกัน (ใช้งานเดี่ยวในบางสถานที่, เพิ่มเป็นสองเท่าในคนอื่น ๆ ) อาจเขียนด้วยมือฉันแน่ใจว่าผู้คนมากมาย (รวมถึงตัวฉันเอง) ใช้เครื่องหมายคำพูดทุกที่ แต่รหัสของเราไม่ใช่คอมพิวเตอร์ )
Doktor J

@ คำตอบของ Aito นั้นถูกต้องแน่นอนและควรได้รับการยอมรับ ... โดยส่วนตัวแล้วฉันใช้เครื่องหมายอัญประกาศเดี่ยวสำหรับแอตทริบิวต์สั้น ๆ เช่นคำหลัก / แท็กเดียว, URL และการอ้างอิง; ทุกสิ่งที่ไม่ได้ตั้งใจจะให้มนุษย์อ่าน สำหรับข้อความที่ยาวขึ้นหรือสิ่งใดก็ตามที่อาจมีช่องว่างหรืออัญประกาศ / อัญประกาศเดี่ยว - เป็นเนื้อหาฉันใช้เครื่องหมายคำพูดคู่ มันเป็นเรื่องของสไตล์ของคุณ (หรือสไตล์ที่คุณใช้)
cedbeu

1
ชำระเงิน 10 เว็บไซต์หลักและดูว่าเว็บไซต์ส่วนใหญ่ใช้อะไรเช่น stackoverflow, youtube / google, wikipedia จนถึงตอนนี้ฉันมีปัญหาในการค้นหาเว็บไซต์สำคัญ ๆ ที่ใช้ราคาเดียว
Timo Huovinen

คำตอบ:


391

W3 org กล่าวว่า :

ตามค่าเริ่มต้น SGML กำหนดให้ค่าแอตทริบิวต์ทั้งหมดคั่นด้วยเครื่องหมายอัญประกาศคู่ (ASCII ทศนิยม 34) หรือเครื่องหมายอัญประกาศเดี่ยว (ASCII ทศนิยม 39) สามารถใส่เครื่องหมายอัญประกาศเดี่ยวได้ภายในค่าแอตทริบิวต์เมื่อค่าถูกคั่นด้วยเครื่องหมายอัญประกาศคู่และในทางกลับกัน ผู้เขียนอาจใช้การอ้างอิงอักขระตัวเลขเพื่อแสดงเครื่องหมายคำพูดคู่ ( ") และเครื่องหมายคำพูดเดี่ยว ( ') "สำหรับคำพูดสองผู้เขียนยังสามารถใช้อ้างอิงเอนทิตีตัวละคร

ดังนั้น ... ดูเหมือนจะไม่แตกต่าง ขึ้นอยู่กับสไตล์ของคุณเท่านั้น


38
และความสม่ำเสมอ (กับ 'หรือ ") อาจส่งผลให้อัตราการบีบอัดสูงขึ้นในกรณีที่คุณแสดงหน้าบีบอัด (gzip, deflate)
cherouvim

2
@Aito นั่นสำหรับ SGML สำหรับ HTML ไม่จำเป็นต้องคั่นค่าแอตทริบิวต์ทั้งหมด
Pacerier

4
ฉันขอแนะนำว่าเดี่ยวมากกว่าคู่ - ทำไมต้องใช้สองเมื่อสามารถทำงานได้
Ujjwal Singh

7
@JohnHunt: เพิ่งทำการทดสอบอย่างรวดเร็วกับไฟล์ 1823 ไบต์ js (เป็น Backbone Model แบบสุ่มจากแอปพลิเคชันแบบสุ่ม) เอาต์พุต gzip ถ้าเครื่องหมายคำพูดทั้งหมดเหมือนกัน (อย่างใดอย่างหนึ่ง'หรือ") คือ 809 ไบต์ การผสมเข้าด้วยกันทำให้เอาต์พุตมีขนาดสูงสุด 829 ไบต์ สิ่งนี้อาจไม่เกี่ยวข้องกับคุณ แต่นั่นไม่ได้หมายความว่ามันไม่เกี่ยวข้องกับทุกคน
cherouvim

3
ถ้าใครบอกว่า "โอ้มันช่างเป็นสิ่งที่มีศักยภาพต่ำน่าจะไม่เกี่ยวข้อง" กับสิ่งที่ "ไม่น่าจะเป็นไปได้ร้อย" การเสียชีวิตของเข็มนับพัน ด้วยความพยายามอย่างสมเหตุสมผลทุกสิ่งที่คุณสามารถบันทึกได้นั้นคุ้มค่าที่จะประหยัด IMO
สัญญาบอกว่าฉันถูก

67

ฉันใช้"เป็นระดับสูงสุดและ'เป็นระดับที่สองอย่างที่ฉันคิดว่าคนส่วนใหญ่ทำ ตัวอย่างเช่น

<a href="#" onclick="alert('Clicked!');">Click Me!</a>

ในตัวอย่างนั้นคุณต้องใช้ทั้งสองอย่างมันหลีกเลี่ยงไม่ได้


38
ฉันทำเช่นนั้น แต่ก็สามารถหลีกเลี่ยงได้หากคุณหลีกเลี่ยงการฝังจาวาสคริปต์ไว้ใน html
cherouvim

4
มีสถานการณ์อื่น ๆ ที่ไม่ใช่แบบอินไลน์ - จาวาสคริปต์ที่อาจต้องใช้เครื่องหมายอัญประกาศเดี่ยวเช่นเมื่อใช้data-*แอตทริบิวต์ที่กำหนดเอง ขึ้นอยู่กับโปรแกรมของคุณและวิธีที่คุณใช้data-*คุณลักษณะคุณอาจต้องใช้''s ภายใน"' s บางครั้งเราใช้มันสำหรับการติดตามกิจกรรมของ Google Analytics:<a href="..." data-track="Homepage Banner|Clicked|Dick's Sporting Goods">click me</a>
Jake Wilson

3
พิจารณาvar x = "<a href='" + url + "'>click me</a>";
NibblyPig

4
สามารถหลีกเลี่ยงได้อย่างง่ายดายเช่นนี้: <a onclick="alert(\"Clicked!\")"> อย่างไรก็ตามนี่เป็นสิ่งที่อ่านได้น้อยกว่ามาก
fabspro

2
ฉันไม่แน่ใจว่าจะรองรับ SGML และ HTML5 อย่างเป็นทางการหรือไม่
fabspro

26

ข้อตกลงการอ้างถึงสำหรับนักพัฒนาเว็บ

คำตอบสั้น ๆ

ใน HTML การใช้เครื่องหมายคำพูดเดี่ยว (') และเครื่องหมายคำพูดคู่ (") สามารถใช้แทนกันได้ไม่มีความแตกต่าง

แต่แนะนำให้ใช้ความสอดคล้องดังนั้นเราต้องเลือกแบบแผนไวยากรณ์และใช้เป็นประจำ

คำตอบยาว ๆ

การพัฒนาเว็บมักประกอบด้วยภาษาการเขียนโปรแกรมมากมาย HTML, JS, CSS, PHP, ASP, RoR, Python, ect ด้วยเหตุนี้เราจึงมีรูปแบบไวยากรณ์มากมายสำหรับภาษาการเขียนโปรแกรมที่แตกต่างกัน บ่อยครั้งที่นิสัยจากภาษาหนึ่งจะติดตามเราไปยังภาษาอื่นแม้ว่าจะไม่ได้รับการพิจารณาว่าเหมาะสม อนุประโยคการอ้างถึงยังอยู่ในหมวดหมู่นี้สำหรับฉัน

แต่ฉันมักจะใช้ HTML ร่วมกับ PHP อย่างแน่นหนา และใน PHP นั้นมีความแตกต่างที่สำคัญระหว่างคำพูดเดียวและสองคำพูด ใน PHP ด้วยเครื่องหมายคำพูดคู่ "คุณสามารถแทรกตัวแปรโดยตรงภายในข้อความของสตริง" (scriptingok.com) และเมื่อใช้เครื่องหมายคำพูดเดี่ยว "ข้อความจะปรากฏตามที่เป็น" (scriptingok.com)

PHP ใช้เวลานานในการประมวลผลสตริงที่ยกมาสองครั้ง เนื่องจากตัวแยกวิเคราะห์ PHP จะต้องอ่านสตริงทั้งหมดล่วงหน้าเพื่อตรวจหาตัวแปรใด ๆ ที่อยู่ภายในและเชื่อมต่อกันมันจะใช้เวลาในการประมวลผลนานกว่าสตริงที่ยกมาเดี่ยว (scriptingok.com)

 

ราคาเดียวได้ง่ายขึ้นบนเซิร์ฟเวอร์ เนื่องจาก PHP ไม่จำเป็นต้องอ่านสตริงทั้งหมดล่วงหน้าเซิร์ฟเวอร์จึงสามารถทำงานได้เร็วขึ้นและมีความสุขมากขึ้น (scriptingok.com)

สิ่งอื่นที่ต้องพิจารณา

  1. ความถี่ของเครื่องหมายคำพูดคู่ภายในสตริง ฉันพบว่าฉันต้องใช้เครื่องหมายคำพูดคู่ (") ภายในสตริงของฉันบ่อยกว่าที่ฉันต้องใช้เครื่องหมายคำพูดเดี่ยว (') ภายในสตริงเพื่อลดจำนวนการหลีกเลี่ยงอักขระที่จำเป็นฉันต้องใช้ตัวคั่นเครื่องหมายคำพูดเดี่ยว
  2. มันง่ายกว่าที่จะทำใบเสนอราคาเดียว นี่เป็นคำอธิบายที่ค่อนข้างชัดเจน แต่ทำไมต้องกดปุ่ม SHIFT อีกครั้งทำไมจึงต้องทำ

อนุสัญญาของฉัน

ด้วยความเข้าใจ PHP นี้ฉันได้กำหนดแบบแผน (สำหรับตัวเองและ บริษัท อื่น ๆ ของฉัน) ที่สตริงจะถูกแสดงเป็นราคาเดียวโดยค่าเริ่มต้นสำหรับการเพิ่มประสิทธิภาพเซิร์ฟเวอร์ ใช้อัญประกาศคู่ภายในสตริงถ้าต้องการอัญประกาศเช่น JavaScript ภายในแอตทริบิวต์ตัวอย่างเช่น:

<button onClick='func("param");'>Press Me</button>

แน่นอนถ้าเราอยู่ใน PHP และต้องการให้ parser จัดการตัวแปร PHP ภายในสตริงเราควรใช้เครื่องหมายคำพูดคู่ $a='Awesome'; $b = "Not $a";

แหล่งที่มา

คำพูดเดี่ยวเทียบกับคำพูดสองครั้งใน PHP (ND) สืบค้นเมื่อพฤศจิกายน 26, 2014, จากhttp://www.scriptingok.com/tutorial/Single-quotes-vs-double-quotes-in-PHP


3
ความแตกต่างของประสิทธิภาพการพูดเดี่ยวและการเสนอราคาแบบคู่ใน PHP นั้นเป็นศูนย์มาก่อนที่คุณจะตอบคำถามนี้: nikic.github.io/2012/01/09/…
Conor Mancone

1
คุณจะพบคำพูดคู่มากกว่าคำพูดเดียวภายในสตริงของคุณ น่าสนใจ ฉันจำไม่ได้ว่าครั้งสุดท้ายที่ฉันมีการเสนอราคาซ้ำในสตริงของฉัน
Zonker.in.Geneva

อย่างสม่ำเสมอ. ในช่วง 10 ปีที่ผ่านมาในฐานะนักพัฒนาเต็มสแต็คฉันพบว่าตัวเองต้องใช้อัญประกาศคู่ภายในสตริง 10x บ่อยกว่าราคาเดียว ตัวอย่างที่พบบ่อยที่สุดสำหรับ JavaScript คือตัวเลือกแอททริบิวต์ทำงานได้กับเครื่องหมายคำพูดคู่เท่านั้นจึงdocument.querySelector("[name^='myname']")ไม่สามารถทำงานได้เลยในขณะที่document.querySelector('[name^="myname"]')ทำงานได้อย่างสมบูรณ์
ดัสติน Poissant

@DustinPoissant WHAAAT ?? เบราว์เซอร์ใด
Mr Lister

14

หากเป็นแบบเดียวกันทั้งหมดการใช้เครื่องหมายคำพูดเดี่ยวอาจดีกว่าเนื่องจากไม่จำเป็นต้องกดปุ่ม Shift ค้างไว้ การกดแป้นพิมพ์น้อยลง == โอกาสน้อยของ RSI


2
อย่างน้อยในรูปแบบ Galactic Common (hush-hush)
n611x007

1
อะไรคือความเสี่ยงของ RSI และจำนวนการกดแป้นที่เกี่ยวข้องกับมาตรฐานการเข้ารหัส?
Dib

ความคิดเห็นมากมายที่ไม่มีความแตกต่างระหว่างคำพูดเดียวและสองคำพูด แต่มีเพียงสิ่งเดียวที่ชี้แจงว่าจำนวนการกดแป้นแตกต่างกันเป็นสองเท่า และเราต้องการคำพูดมากมาย ฉันขอเพิ่มคำแนะนำที่ว่ามันอาจจะต้องใช้เซลล์ประสาทมากขึ้นในการยิงสำหรับการรับรู้รูปแบบของคำพูดสองครั้งในสมองของเรา?
โรลันด์

นั่นไม่เป็นความจริงสำหรับแป้นพิมพ์ภาษาฝรั่งเศส
Tokeeen.com

11

ใน HTML ฉันไม่เชื่อว่าสำคัญว่าคุณจะใช้"หรือ'ควรนำมาใช้อย่างสม่ำเสมอตลอดทั้งเอกสาร

การใช้งานของฉันเองนั้นชอบที่ attribute / html จะใช้"ในขณะที่ javascript ทั้งหมดใช้'แทน

ทำให้ฉันอ่านและตรวจสอบได้ง่ายขึ้นเล็กน้อย หากการใช้งานของคุณเหมาะสมกับคุณมากกว่าที่คุณคิดก็ไม่จำเป็นต้องเปลี่ยนแปลง แต่สำหรับฉันรหัสของคุณจะรู้สึกยุ่ง มันเป็นเรื่องส่วนตัว


ทำไมจึงต้องใช้อย่างต่อเนื่อง? เพียงอ่านง่าย
กำหนด

เพราะมันง่ายกว่าที่จะหลีกเลี่ยงความผิดพลาดแบบนั้น
เดวิดบอกว่าคืนสถานะโมนิก้า

2
ฉันมักจะมีคุณสมบัติที่ใช้"เช่นกัน แต่บางครั้งฉันเขียนโค้ดในโค้ด PHP ที่ฉันต้องการechoใช้งาน"เพื่อให้สามารถแยกวิเคราะห์ได้ แอตทริบิวต์ HTML ใด ๆ ภายในสะท้อนนี้สามารถอ่านได้มากขึ้นถ้าใช้''s แน่นอนว่ามันไม่สอดคล้องกัน แต่จะง่ายกว่ามากหากไม่มีแบ็กสแลชทั้งหมด
กำหนด

3
อะไรก็ตามที่เหมาะกับคุณก็ดี การมีความสอดคล้องไม่ได้หมายความว่า 'ทำ X' เสมอหมายถึง 'ในสถานการณ์ X ทำอย่างนี้' ความสอดคล้องสามารถตระหนักถึงบริบท และใช้งานได้ดีที่สุดเช่นนี้
เดวิดบอกว่าคืนสถานะโมนิก้า

9

จริงๆแล้ววิธีที่ดีที่สุดคือวิธีที่ Google แนะนำ เครื่องหมายคำพูดคู่: https://google.github.io/styleguide/htmlcssguide.xml?showone=HTML_Quotation_Marks#HTML_Quotation_Marks

ดูhttps://google.github.io/styleguide/htmlcssguide.xml?showone=HTML_Validity#HTML_Validity คำแนะนำที่ยกมาจาก Google: "การใช้ HTML ที่ถูกต้องเป็นแอตทริบิวต์คุณภาพพื้นฐานที่วัดได้ซึ่งมีส่วนช่วยในการเรียนรู้เกี่ยวกับข้อกำหนดทางเทคนิคและข้อ จำกัด การใช้ HTML ที่เหมาะสม "


ส่วนใหญ่ของเว็บไซต์ที่ฉันพบจนถึงรวมถึง stackoverflow ใช้เครื่องหมายคำพูดคู่ฉันคิดว่าความสอดคล้องในเว็บนั้นดีขึ้นดังนั้นคำตอบที่ถูกต้องคือ IMHO ก็คือ "เครื่องหมายคำพูดคู่"
Timo Huovinen

2
แต่ทำไม! ทำไม"มากกว่า'!
ซาน

2
@San Consistency ส่วนใหญ่ มันเป็นไปตามมาตรฐานอเมริกันอังกฤษที่อัญประกาศคู่สำหรับคำพูดและคำพูดเดียวสำหรับ subquotes
Nielsvh

6

ฉันรู้ว่าผู้คนจำนวนมากไม่เห็นด้วย แต่นี่คือสิ่งที่ฉันทำและฉันชอบสไตล์การเขียนโค้ดจริงๆ: ฉันไม่ได้ใช้คำพูดใด ๆ ใน HTML ยกเว้นว่ามันจำเป็นจริงๆ

ตัวอย่าง:

<form method=post action=#>
<fieldset>
<legend>Register here: </legend>
  <label for=account>Account: </label>
  <input id=account type=text name=account required><br>
  <label for=password>Password: </label>
  <input id=password type=password name=password required><br>
...

เครื่องหมายคำพูดคู่จะใช้เฉพาะเมื่อมีช่องว่างในค่าแอตทริบิวต์หรืออะไรก็ตาม:

<form class="val1 val2 val3" method=post action=#>
  ...
</form>

1
มีเหตุผลเบื้องหลังหรือไม่ หรือคุณเพียงแค่ "สนุกกับรูปแบบการเข้ารหัส"
Bugs Bunny

4
หากไม่มีเครื่องหมายอัญประกาศ HTML จะดูสะอาดขึ้น (และขนาดไฟล์จะเล็กลงเล็กน้อย) นั่นเป็นเหตุผลเดียวและไม่มีอะไรอื่น นอกจากนี้ฉันไม่เห็นจุดที่ต้องการให้ทุกแอตทริบิวต์มีเครื่องหมายคำพูด เหตุใดจึงไม่สามารถละเว้นการบันทึกปัญหาได้ แม้แต่ w3.org ก็ยอมรับค่าแอตทริบิวต์ที่ไม่ได้กล่าวถึง ( w3.org/TR/html-markup/syntax.html#syntax-attr-unquoted ) เรียบง่ายดีกว่าซับซ้อน ศาสนาบางอย่างมีคำพูดหรือไม่?
แรนดี้ถัง

5
ไม่ไม่มีศาสนาที่ฉันรับรู้ ฉันใช้ HTML มานานแล้วและไม่เคยเห็นสไตล์ของคุณมาก่อนเลย ... ดังนั้นฉันจึงถาม
Bugs Bunny

1
นอกจากนี้ตัวย่อ HTML จะตัดเครื่องหมายคำพูดที่ไม่จำเป็นออกไปด้วยเช่นกัน
นิมรอด

2
ปัญหาของการไม่ใส่เครื่องหมายคำพูดไว้รอบ ๆ ค่าคุณลักษณะคือมาตรฐานที่แตกต่างกันมีรายการอักขระต่าง ๆ ที่จำเป็นต้องเสนอราคา ตัวอย่างเช่น HTML4 กล่าวว่าเฉพาะค่าที่ประกอบด้วยตัวอักษรตัวเลขขีดกลางและจุดเท่านั้นที่ไม่สามารถอ้างอิงได้ แต่ HTML5 บอกว่าอะไรจะเกิดขึ้นยกเว้นช่องว่างและ "'` <=> ดังนั้นคุณควรระวังโดยเฉพาะกับเบราว์เซอร์รุ่นเก่า!
Mr Lister

5

ใช้เครื่องหมายคำพูดคู่สำหรับ HTML

กล่าวคือ

<div class="colorFont"></div>

ใช้เครื่องหมายคำพูดเดี่ยวสำหรับ JavaScript

กล่าวคือ

$('#container').addClass('colorFont');
$('<div class="colorFont2></div>');

2

ฉันมีปัญหาในการใช้ Bootstrap โดยที่การใช้เครื่องหมายคำพูดคู่นั้นไม่สำคัญกับการใช้เครื่องหมายคำพูดเดี่ยว (ซึ่งไม่ได้ผล) class = 'row-fluid' ทำให้ฉันมีปัญหาที่ทำให้ช่วงสุดท้ายลดลงต่ำกว่าช่วงอื่น ๆ มากกว่านั่งอยู่ทางด้านขวาสุดในขณะที่ class = "row-fluid" ทำงาน


1

หากคุณกำลังเขียน asp.net ดังนั้นบางครั้งคุณต้องใช้เครื่องหมายคำพูดคู่ในคำสั่ง Eval และเครื่องหมายคำพูดเดี่ยวเพื่อกำหนดค่า - นี่คือส่วนใหญ่เพื่อให้โค้ดอินไลน์ C # รู้ว่ามันใช้สตริงในคอนเทนเนอร์ eval แทนที่จะเป็นตัวอักษร โดยส่วนตัวแล้วฉันจะใช้อย่างใดอย่างหนึ่งเป็นแบบมาตรฐานและไม่ผสมพวกมันดูยุ่งเหยิงเลย


1

ใช้ "แทนที่จะเป็น" เมื่อ:

<input value="user"/> //Standard html
<input value="user's choice"/> //Need to use single quote
<input onclick="alert('hi')"/> //When giving string as parameter for javascript function

ใช้ 'แทน "เมื่อ:

<input value='"User"'/> //Need to use double quote
var html = "<input name='username'/>" //When assigning html content to a javascript variable

3
ในกรณีของคุณ "กำหนดเนื้อหา HTML ทำตัวแปร js" ฉันมักจะทำสิ่งที่ตรงกันข้าม: var html = '<input name="username" />';และให้สอดคล้องกับส่วนที่เหลือของ html :)
Erenor Paz

1

มันไม่ได้สร้างความแตกต่างให้กับ html แต่ถ้าคุณกำลังสร้าง html แบบไดนามิกด้วยภาษาโปรแกรมอื่นแล้ววิธีหนึ่งอาจจะง่ายกว่าอีกวิธีหนึ่ง

ตัวอย่างเช่นในJavaเครื่องหมายคำพูดคู่ใช้เพื่อระบุจุดเริ่มต้นและจุดสิ้นสุดของสตริงดังนั้นหากคุณต้องการรวม doublequote ภายใน String คุณจะต้องหลีกเลี่ยงด้วยแบ็กสแลช

String s = "<a href=\"link\">a Link</a>"

คุณไม่มีปัญหาในการใช้เครื่องหมายคำพูดเดี่ยวดังนั้นการใช้เครื่องหมายคำพูดเดี่ยวจะทำให้รหัสที่อ่านได้ง่ายขึ้นใน Java

String s = "<a href='link'>a Link</a>"

โดยเฉพาะอย่างยิ่งถ้าคุณต้องเขียนองค์ประกอบ html ที่มีคุณสมบัติมากมาย (หมายเหตุฉันมักจะใช้ห้องสมุดเช่น jhtml เพื่อเขียน html ใน Java แต่ไม่ได้ใช้งานได้จริงเสมอไป)


ทำสองฝึกงานบน servlets ฉันกำลังวิเคราะห์รหัสของฉันและตอนนี้ฉันเริ่มตระหนักถึงความเป็นจริงของการเสนอราคาสองครั้งการเสนอราคาเดียวและการต่อข้อมูลสตริง เว็บไซต์ที่ฉันเคยศึกษาใช้เครื่องหมายคำพูดคู่ใน html และอัญประกาศเดี่ยวใน java ไม่ได้ตระหนักถึง ดีใจที่ฉันได้รับในที่สุด ...
Michael

0

ฉันเป็นมือใหม่ที่นี่ แต่ฉันใช้เครื่องหมายคำพูดเดี่ยวเมื่อฉันใช้เครื่องหมายคำพูดคู่ภายในหนึ่งคำแรกเท่านั้น ถ้าฉันไม่ชัดเจนฉันจะแสดงตัวอย่าง:

<p align="center" title='One quote mark at the beginning so now I can
"cite".'> ... </p>

ฉันหวังว่าฉันช่วย


-5

ใน PHP ที่ใช้เครื่องหมายคำพูดคู่ทำให้ประสิทธิภาพลดลงเล็กน้อยเนื่องจากชื่อตัวแปรได้รับการประเมินดังนั้นในทางปฏิบัติฉันมักจะใช้เครื่องหมายคำพูดเดี่ยวเสมอเมื่อเขียนโค้ด:

echo "This will print you the value of $this_variable!";
echo 'This will literally say $this_variable with no evaluation.';

ดังนั้นคุณสามารถเขียนสิ่งนี้แทน

echo 'This will show ' . $this_variable . '!';

ฉันเชื่อว่าฟังก์ชั่น Javascript ในทำนองเดียวกันดังนั้นการปรับปรุงประสิทธิภาพเล็กน้อยหากคุณมีความสำคัญ


นอกจากนี้หากคุณมองไปที่ HTML spec 2.0 ทุกแท็กที่แสดงอยู่ที่นี่

W3 HTML DTD Reference

(ใช้ doublequotes) ความสอดคล้องเป็นสิ่งสำคัญไม่ว่าคุณจะใช้บ่อยครั้งมากขึ้นก็ตาม


13
JavaScript ไม่ได้ประเมินชื่อตัวแปรในสตริง ไม่มีความแตกต่างระหว่าง 'และ "ใน JavaScript
John Mellor

-9

ใช้เครื่องหมายคำพูดคู่สำหรับสตริง (เช่น "นี่คือสตริง") และใช้เครื่องหมายคำพูดเดี่ยวสำหรับอักขระ (เช่น 'a', 'b' หรือ 'c') ขึ้นอยู่กับภาษาการเขียนโปรแกรมและบริบทคุณสามารถหลีกเลี่ยงการใช้เครื่องหมายคำพูดคู่สำหรับตัวอักษร แต่ไม่สามารถใส่เครื่องหมายคำพูดเดี่ยวสำหรับสตริงได้

HTML ไม่สนใจว่าคุณใช้อันไหน อย่างไรก็ตามหากคุณกำลังเขียน HTML ภายในสคริปต์ PHP คุณควรใช้เครื่องหมายคำพูดคู่แทนคุณจะต้องหลีกเลี่ยง (เช่น \ "อะไรก็ได้ \") เพื่อหลีกเลี่ยงความสับสนและ PHP


ฉันรู้ภาษาการเขียนโปรแกรมค่อนข้างน้อย แต่เป็นภาษาที่จริง
mikl

1
@mikl การปฏิบัติทั่วไปใน C # และ Java คือสตริงในเครื่องหมายคำพูดคู่และตัวอักษรในเครื่องหมายคำพูดเดี่ยว แต่นั่นไม่ได้ให้การรับรองสำหรับคำตอบนี้ ถ้านี่คือคำตอบของคำถามอื่น
Evorlor
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.