ทำไมตัวแปร JavaScript เริ่มต้นด้วยเครื่องหมายดอลลาร์ [ซ้ำ]


1036

ฉันมักจะเห็น JavaScript พร้อมตัวแปรที่เริ่มต้นด้วยเครื่องหมายดอลลาร์ เมื่อไหร่ / ทำไมคุณเลือกที่จะนำหน้าตัวแปรด้วยวิธีนี้

(ฉันไม่ได้ถามเกี่ยวกับ$('p.foo')ไวยากรณ์ที่คุณเห็นใน jQuery และอื่น ๆ แต่ตัวแปรปกติเช่น$nameและ$order)


16
มันอาจเป็นนิสัยที่หยิบขึ้นมาจากการเขียนโปรแกรม Perl (แก้ไข: หรือ PHP)
brien

5
บางภาษาต้องการมันเช่น PHP หรือ Perl ฉันเดาว่า dev ไม่จำว่ามันไม่จำเป็นใน javascript
Rich Bradshaw

3
หรือพวกเขาไม่ต้องการถูกรบกวนให้เลิกนิสัย นี่น่าจะเป็นคำตอบที่ถูกต้องเนื่องจากนักพัฒนาจำนวนมากที่แฮ็คหน้าเว็บของตัวเองโดยใช้ PHP และ javascript
BlueRaja - Danny Pflughoeft

@DonaldDuck ฉันคิดว่าคุณอาจมีทางที่ซ้ำกันของคุณผิด - นี่คือ 7 เดือนเก่ากว่าการเชื่อมโยงของคุณ
Ken

1
@Ken ตามคำตอบนี้มันไม่ใช่อายุที่สำคัญ แต่คำตอบนั้นดีแค่ไหน ฉันคิดว่าคำตอบสำหรับคำถามส่วนตัวดีกว่าซึ่งเป็นเหตุผลที่ฉันลงคะแนนให้ปิดคำถามนี้ซ้ำ หากคุณคิดว่าคำตอบของคำถามนี้ดีกว่าคุณสามารถลงคะแนนเพื่อปิดคำตอบที่ซ้ำกัน
โดนัลด์ดั๊ก

คำตอบ:


1419

การใช้งานทั่วไปมากในjQueryคือการแยกวัตถุjQueryที่เก็บไว้ในตัวแปรจากตัวแปรอื่น ๆ

ตัวอย่างเช่นฉันจะกำหนด:

var $email = $("#email"); // refers to the jQuery object representation of the dom object
var email_field = $("#email").get(0); // refers to the dom object itself

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


98
นี่คือสัญกรณ์ฮังการีจริง มันสื่อข้อมูลเกี่ยวกับสิ่งที่เก็บไว้ในตัวแปรเกินกว่าที่ชื่อตัวแปรทำ A ++ จะเป็นประเทศฮังการีอีกครั้ง
Artemis

2
ฉันต้องการเอกสาร jquery ใช้สัญกรณ์นี้เช่นกัน ... มันมีประโยชน์จริงๆ
pedromanoel

1
@ Artemis ฉันรับชาวฮังการีมาเกือบ 20 ปีแล้วและไม่เคยหยุดใช้มันเลย หลายปีที่ผ่านมาผู้คนมากมายแสดงความไม่พอใจอย่างมากกับการใช้งานของฉัน แต่มันมีประโยชน์มากฉันไม่เข้าใจว่าทำไม
Night Owl เมื่อ

10
ยกนิ้วให้กับ $ แต่ควรป้องกันขีดล่างในชื่อตัวแปรส่วน JS-Variables ปกติควรใช้ camelCase email_fields -> emailField เฉพาะกรณีการใช้งานที่ถูกต้องสำหรับ _ เป็นเพียงคำนำหน้าสำหรับคุณสมบัติส่วนตัว / ที่ได้รับการป้องกัน
cschuff

11
@cschuff นั่นเป็นคำสั่งที่ค่อนข้าง ... ฉันต้องการขีดเส้นใต้สำหรับตัวแปรท้องถิ่นทั้งหมดและสำรองอูฐกรณีสำหรับคุณสมบัติของวัตถุต้นแบบ
พอล

250

ในรุ่นที่ 1, 2 และ3 ของ ECMAScript การใช้ชื่อตัวแปร $ -prefixed นั้นไม่ได้รับการสนับสนุนอย่างชัดเจนจากข้อมูลจำเพาะยกเว้นในบริบทของรหัสที่สร้างอัตโนมัติ:

เครื่องหมายดอลลาร์ ( $) และขีดล่าง ( _) ได้รับอนุญาตทุกที่ในตัวระบุ เครื่องหมายดอลลาร์มีไว้สำหรับใช้ในรหัสที่สร้างโดยกลไกเท่านั้น

อย่างไรก็ตามในเวอร์ชันถัดไป ( ฉบับที่ 5ซึ่งเป็นปัจจุบัน) ข้อ จำกัด นี้ถูกยกเลิกและข้อความข้างต้นถูกแทนที่ด้วย

เครื่องหมายดอลลาร์ ( $) และเครื่องหมายขีด ( _) จะได้รับอนุญาตใดก็ได้ในIdentifierName

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


3
แม้ว่าสิ่งนี้อาจเป็นจริงมันช่วยตอบคำถามของ OP ได้จริงหรือไม่? คำตอบที่ได้รับการยอมรับในปัจจุบันดีกว่า - เมื่อผู้ฝึกหัดโปรแกรม JS เห็น$variableก็เป็นไปได้เพราะมันมีวัตถุ jQuery ทั้งหมด
rinogo

14
@rinogo ตอบคำถามด้วยความจริงบางประการซึ่งไม่ได้ขึ้นอยู่กับสมมติฐานเกี่ยวกับห้องสมุดที่ใช้แล้ว
Oriol

1
@yoyo_fun: รหัสที่สร้างขึ้นโดยคอมพิวเตอร์แทนที่จะเขียนโดยมนุษย์
cic


3
"มันตอบคำถามด้วยความจริงบางอย่าง" ที่จริงแล้วความจริงก็คือว่า devs ไม่สนใจคำพูดนี้จากข้อมูลจำเพาะภาษา ... และอาจจะยังคงเป็นเช่นนั้นอยู่ :)
Stijn de Witt

61

ตามที่คนอื่น ๆ ได้กล่าวถึงเครื่องหมายดอลลาร์มีวัตถุประสงค์เพื่อใช้งานโดยรหัสที่สร้างขึ้นโดยกลไก อย่างไรก็ตามการประชุมดังกล่าวได้ถูกทำลายโดยห้องสมุด JavaScript ที่ได้รับความนิยมอย่างมาก JQuery, Prototype และ MS AJAX (AKA Atlas) ทั้งหมดใช้อักขระนี้ในตัวระบุ (หรือเป็นตัวระบุทั้งหมด)

ในระยะสั้นคุณสามารถใช้$ทุกครั้งที่คุณต้องการ (ล่ามจะไม่บ่น) คำถามคือเมื่อใดที่คุณต้องการใช้

ฉันเองไม่ได้ใช้มัน แต่ฉันคิดว่าการใช้งานนั้นถูกต้อง ฉันคิดว่า MS AJAX ใช้เพื่อระบุว่าฟังก์ชั่นเป็นนามแฝงสำหรับการโทรที่ละเอียดมากขึ้น

ตัวอย่างเช่น:

var $get = function(id) { return document.getElementById(id); }

ดูเหมือนว่าจะเป็นการประชุมที่สมเหตุสมผล


JQuery ไม่ได้ใช้สิ่งนี้ในตัวระบุเหตุผลสำหรับ $ .X เนื่องจากมีการพิมพ์ให้น้อยลง - jQuery.X เหมือนกันในความเป็นจริง $ .X คือเนมสเปซ - นามแฝงสำหรับ jQuery.X - ฟังก์ชัน jQuery ทุกอย่างอยู่ใน jQuery-ns ไม่ใช่ $
specializt

5
@specializt อย่างที่ฉันพูดเมื่อ 5 ปีก่อน "หรือเป็นตัวระบุทั้งหมด" โดยตัวระบุฉันหมายถึงข้อกำหนด CS มาตรฐานซึ่งเป็นโทเค็นคำศัพท์ที่ไม่ใช่คำหลักในภาษา ในกรณีนี้ $ และ jQuery เป็นตัวระบุที่แตกต่างกันสองตัวที่อ้างอิงค่าเดียวกัน แต่พวกมันก็เป็นตัวระบุทั้งคู่
Benry

56

ในบริบทของ AngularJS $คำนำหน้านั้นใช้สำหรับตัวระบุในรหัสของกรอบงานเท่านั้น ผู้ใช้งานเฟรมเวิร์กได้รับคำสั่งไม่ให้ใช้ในตัวระบุของตนเอง:

Namespaces เชิงมุม $และ$$

เพื่อป้องกันไม่ให้ชนกันอุบัติเหตุชื่อกับรหัสของคุณคำนำหน้าชื่อเชิงมุมของวัตถุกับประชาชนและชื่อของวัตถุส่วนตัวพร้อม$ $$กรุณาอย่าใช้$หรือ$$คำนำหน้าในรหัสของคุณ

ที่มา: https://docs.angularjs.org/api


35

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

คำตอบที่ยอมรับให้ตัวอย่างนี้:

var $email = $("#email"); // refers to the jQuery object representation of the dom object
var email_field = $("#email").get(0); // refers to the dom object itself

แต่นั่นก็ไม่ได้แสดงให้เห็นถึงมันได้ดีนัก แม้ไม่มี$เราจะยังคงมีสองชื่อตัวแปรที่แตกต่างกันที่นี่และemail email_fieldนั่นเป็นสิ่งที่ดีมากมาย ทำไมเราต้องใส่ชื่อ$หนึ่งชื่อเมื่อเรามีสองชื่อแตกต่างกัน?

ที่จริงแล้วฉันจะไม่ใช้email_fieldที่นี่ด้วยเหตุผลสองประการ: names_with_underscoresไม่ใช่ JavaScript ที่ใช้สำนวนและfieldไม่สมเหตุสมผลสำหรับองค์ประกอบ DOM แต่ฉันก็ทำตามแนวคิดเดียวกัน

ฉันลองทำสิ่งที่แตกต่างกันสองสามอย่างในหมู่พวกเขาคล้ายกับตัวอย่าง:

var email = $("#email"), emailElement = $("#email")[0];
// Now email is a jQuery object and emailElement is the first/only DOM element in it

(แน่นอนว่าวัตถุ jQuery สามารถมีองค์ประกอบ DOM ได้มากกว่าหนึ่งรายการ แต่รหัสที่ฉันทำงานมีจำนวนมาก idตัวเลือกดังนั้นในกรณีเหล่านั้นจะมีการติดต่อ 1: 1)

ฉันมีอีกกรณีที่ฟังก์ชั่นได้รับองค์ประกอบ DOM เป็นพารามิเตอร์และยังต้องการวัตถุ jQuery สำหรับมัน:

// email is a DOM element passed into this function
function doSomethingWithEmail( email ) {
    var emailJQ = $(email);
    // Now email is the DOM element and emailJQ is a jQuery object for it
}

นั่นเป็นความสับสนเล็กน้อย! ในหนึ่งในบิตของรหัสของฉันemailคือวัตถุ jQuery และemailElementเป็นองค์ประกอบ DOM แต่ในอื่น ๆemailเป็นองค์ประกอบ DOM และemailJQเป็นวัตถุ jQuery

ไม่มีความสอดคล้องและฉันยังคงผสมพวกเขา นอกจากนี้ยังเป็นเรื่องที่สร้างความรำคาญให้กับการสร้างชื่อที่แตกต่างกันสองชื่อสำหรับสิ่งเดียวกัน: หนึ่งสำหรับวัตถุ jQuery และอีกชื่อหนึ่งสำหรับองค์ประกอบ DOM ที่ตรงกัน นอกจากนี้email, emailElementและemailJQฉันเก็บไว้พยายามรูปแบบอื่น ๆ มากเกินไป

จากนั้นฉันสังเกตเห็นรูปแบบทั่วไป:

var email = $("#email");
var emailJQ = $(email);

ตั้งแต่จาวาสคริปต์ถือว่า$เป็นเพียงตัวอักษรอีกตัวหนึ่งสำหรับชื่อและเนื่องจากฉันได้รับวัตถุ jQuery กลับมาจากการ$(whatever)โทรรูปแบบในที่สุดก็เริ่มที่ฉัน ฉันสามารถรับ$(...)สายและลบตัวละครบางตัวออกมาและมันจะเกิดขึ้นพร้อมกับชื่อที่ดีงาม:

$("#email")
$(email)

การขีดฆ่าไม่สมบูรณ์แบบ แต่คุณอาจได้รับแนวคิด: เมื่อมีการลบอักขระบางตัวทั้งสองบรรทัดจะมีลักษณะดังนี้:

$email

นั่นคือเมื่อฉันรู้ฉันไม่จำเป็นต้องที่จะทำให้การประชุมเหมือนหรือemailElement emailJQนอกจากนั้นแล้วการประชุมที่ดีที่จ้องมองมาที่ผม: ใช้ตัวละครบางตัวออกจากการโทรและมันจะกลายเป็น$(whatever)$whatever

var $email = $("#email"), email = $email[0];
// $email is the jQuery object and email is the DOM object

และ:

// email is a DOM element passed into this function
function doSomethingWithEmail( email ) {
    var $email = $(email);
    // $email is the jQuery object and email is the DOM object
    // Same names as in the code above. Yay!
}

ดังนั้นฉันไม่จำเป็นต้องสร้างชื่อที่แตกต่างกันสองชื่อตลอดเวลา แต่สามารถใช้ชื่อเดียวกันโดยมีหรือไม่มีส่วน$นำหน้าก็ได้ และ$คำนำหน้าเป็นการเตือนที่ดีว่าฉันกำลังจัดการกับวัตถุ jQuery:

$('#email').click( ... );

หรือ:

var $email = $('#email');
// Maybe do some other stuff with $email here
$email.click( ... );

21

Stevo นั้นถูกต้องความหมายและการใช้สัญลักษณ์ดอลลาร์ (ใน Javascript และแพลตฟอร์ม jQuery แต่ไม่ใช่ใน PHP) นั้นมีความหมายอย่างสมบูรณ์ $ เป็นตัวละครที่สามารถใช้เป็นส่วนหนึ่งของชื่อตัวระบุ นอกจากนี้เครื่องหมายดอลลาร์อาจไม่ใช่สิ่งที่ "แปลก" ที่สุดที่คุณสามารถพบได้ใน Javascript นี่คือตัวอย่างของชื่อตัวระบุที่ถูกต้อง:

var _       = function() { alert("hello from _"); }
var \u0024  = function() { alert("hello from $ defined as u0024"); }
var Ø       = function() { alert("hello from Ø"); }
var $$$$$   = function() { alert("hello from $$$$$"); }

ตัวอย่างทั้งหมดข้างต้นจะได้ผล

ลองพวกเขา


7

อักขระ $ ไม่มีความหมายพิเศษสำหรับกลไก JavaScript มันเป็นเพียงตัวละครที่ถูกต้องอีกตัวหนึ่งในชื่อตัวแปรเช่น az, AZ, _, 0-9, ฯลฯ ...


2
จริง แต่ไม่ใช่สิ่งที่ถูกถาม ฉันมาที่นี่เพื่อที่จะเข้าใจว่าทำไมมันถึงถูกใช้และดูเหมือนว่ากรณีที่ฉันเห็นมันคือการมองเห็น var ที่มีวัตถุ jquery ระหว่าง var ที่มีวัตถุ dom
rtpHarry

3
@rtpHarry คุณไม่ใช่คนที่ถามคำถามและคำถาม "ทำไม" จึงได้รับคำตอบที่นี่อย่างเพียงพอ สิ่งนี้ไม่เกี่ยวข้องกับ JQuery ตามที่ระบุไว้ในคำถาม ที่จริงแล้วฉันคิดว่าคำตอบข้างต้นเหมาะกับคำถามที่ดีที่สุด - บางครั้งถ้าคุณต้องการที่จะเข้าใจสิ่งที่คุณต้องการคำตอบที่ชัดเจนที่สุด - $ไม่มีความหมายพิเศษใน JavaScript ระยะเวลา
AMN

ฉันพบว่าบางอย่าง .. อะแฮ่ม ... ผู้คนต้องการเพิ่มเครื่องหมายดอลลาร์ให้กับชื่อตัวแปรเพื่อทำให้สิ่งต่าง ๆ ดูเป็นเชิงมุมมากขึ้น
glyph

2

เนื่องจาก_ที่จุดเริ่มต้นของชื่อตัวแปรมักจะใช้เพื่อระบุตัวแปรส่วนตัว (หรืออย่างน้อยหนึ่งตั้งใจจะยังคงเป็นส่วนตัว) ฉันพบ$สะดวกในการเพิ่มหน้านามแฝงสั้น ๆ ของฉันเองในไลบรารีรหัสทั่วไป

ตัวอย่างเช่นเมื่อใช้ jQuery ฉันชอบใช้ตัวแปร$J(แทนที่จะเป็นเพียง$) และใช้$Pเมื่อใช้ php.js เป็นต้น

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

นอกจากนี้ยังไม่ทำให้โค้ดยุ่งเหยิง (หรือต้องการการพิมพ์พิเศษ) เช่นเดียวกับชื่อที่ระบุซ้ำทั้งหมดสำหรับการเรียกใช้ไลบรารีแต่ละครั้ง

ฉันชอบที่จะคิดว่ามันคล้ายกับปุ่มปรับเปลี่ยนเพื่อขยายความเป็นไปได้ของปุ่มเดี่ยว

แต่นี่เป็นเพียงการประชุมของฉันเอง


2

ตามที่ฉันมีประสบการณ์ในช่วง 4 ปีที่ผ่านมามันจะช่วยให้บางคนสามารถระบุได้อย่างง่ายดายว่าตัวแปรชี้ค่า / วัตถุหรือองค์ประกอบ DOM ห่อ jQuery

Ex:
var name = 'jQuery';
var lib = {name:'jQuery',version:1.6};

var $dataDiv = $('#myDataDiv');

ในตัวอย่างข้างต้นเมื่อฉันเห็นตัวแปร "$ dataDiv" ฉันสามารถพูดได้อย่างง่ายดายว่าตัวแปรนี้ชี้ไปที่องค์ประกอบ DOM ห่อ jQuery (ในกรณีนี้มันคือ div) และฉันยังสามารถเรียกใช้เมธอด jQuery ทั้งหมดโดยไม่ต้องห่อวัตถุอีกครั้งเช่น $ dataDiv.append (), $ dataDiv.html (), $ dataDiv.find () แทน $ ($ dataDiv) .append ()

หวังว่ามันจะช่วยได้ ดังนั้นในที่สุดอยากจะบอกว่ามันจะเป็นการปฏิบัติที่ดีที่จะทำตามนี้ แต่ไม่จำเป็น


0

${varname} เป็นเพียงข้อตกลงการตั้งชื่อผู้พัฒนา jQuery ใช้เพื่อแยกความแตกต่างของตัวแปรที่ถือองค์ประกอบ jQuery

Plain {varname}ใช้เพื่อเก็บสิ่งของทั่วไปเช่นข้อความและสตริง ${varname}เก็บองค์ประกอบที่ส่งคืนจาก jQuery

คุณสามารถใช้ล้วน{varname}เพื่อจัดเก็บองค์ประกอบ jQuery ได้เช่นกัน แต่อย่างที่ฉันได้กล่าวไว้ในตอนแรกสิ่งนี้แยกความแตกต่างจากตัวแปรธรรมดาและทำให้เข้าใจได้ง่ายขึ้นมาก (ลองจินตนาการถึงความสับสนสำหรับตัวแปรธรรมดา .

ตัวอย่างเช่น :

var $blah = $(this).parents('.blahblah');

ที่นี่ blah กำลังเก็บองค์ประกอบ jQuery ที่ส่งคืน

ดังนั้นเมื่อมีคนอื่นเห็น$blahในรหัสพวกเขาจะเข้าใจว่ามันไม่ใช่แค่สตริงหรือตัวเลขมันเป็นองค์ประกอบ jQuery


6
คุณเพิ่งปรับปรุงคำตอบที่ได้รับการยอมรับเมื่อ 6 ปีที่แล้ว
Ken

ฉันคิดว่านั่นไม่ได้ทำให้คำตอบ "คุณภาพต่ำ"
Sunny R Gupta

-1

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


1
จริงเมื่อหกปีที่แล้ว แต่ไม่นาน
Mark Amery

-2

การใช้เชิงมุมใช้สำหรับคุณสมบัติที่สร้างโดยกรอบงาน เดาพวกเขากำลังดำเนินการตามคำใบ้ (หมดอายุแล้ว) ที่ระบุโดย ECMA-262 3.0


-3

$ ถูกใช้เพื่อ DISTINGUISH ระหว่างตัวแปรทั่วไปและตัวแปร jquery ในกรณีของตัวแปรปกติ ให้คุณวางคำสั่งซื้อใน FLIPKART จากนั้นถ้าคำสั่งนั้นเป็นตัวแปรที่แสดงให้คุณเห็นถึงผลลัพธ์ของสายอักขระมันจะถูกตั้งชื่ออย่างง่าย ๆ ว่า "คำสั่ง" แต่ถ้าเราคลิกคำสั่งซื้อแล้ววัตถุจะถูกส่งคืน คำสั่ง "เพื่อให้โปรแกรมเมอร์สามารถตัดตัวแปร javascript และตัวแปร jquery ในรหัสทั้งหมด


-4

หากคุณเห็นเครื่องหมายดอลลาร์ ($) หรือเครื่องหมายดอลลาร์สอง ($$) และอยากรู้ว่าสิ่งนี้มีความหมายอย่างไรในกรอบงานต้นแบบนี่คือคำตอบของคุณ:

$$('div');
// -> all DIVs in the document.  Same as document.getElementsByTagName('div')!

$$('#contents');
// -> same as $('contents'), only it returns an array anyway (even though IDs must be unique within a document).

$$('li.faux');
// -> all LI elements with class 'faux'

ที่มา:
http://www.prototypejs.org/api/utility/dollar-dollar


5
OP ระบุว่าเขาไม่ได้ถามเกี่ยวกับคำนำหน้าดอลลาร์ในรูปแบบนี้
Nigel Alderton

-5

เหตุผลที่ฉันใช้ php name-conventions กับตัวแปร javascript: บางครั้งเมื่อทำการตรวจสอบอินพุตฉันต้องการรันอัลกอริทึมแบบเดียวกันทั้งฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์ ฉันต้องการให้โค้ดสองด้านดูคล้ายกันมากที่สุดเพื่อให้การบำรุงรักษาง่ายขึ้น การใช้เครื่องหมายดอลลาร์ในชื่อตัวแปรทำให้ง่ายขึ้น

(นอกจากนี้ฟังก์ชั่นตัวช่วยบางส่วนที่ช่วยทำให้โค้ดดูคล้ายกันเช่นการตัดการค้นหา - ค่า - การค้นหา strlen เวอร์ชั่นที่ไม่ใช่ OO ฯลฯ ยังคงต้องใช้การปรับแต่งเอง)


-5

ตัวระบุ JavaScript ที่ถูกต้อง shuold จะต้องเริ่มต้นด้วยตัวอักษรขีดล่าง (_) หรือเครื่องหมายดอลลาร์ ($); อักขระที่ตามมาสามารถเป็นตัวเลขได้ (0-9) เนื่องจาก JavaScript เป็นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ตัวอักษรจึงประกอบด้วยอักขระ "A" ถึง "Z" (ตัวพิมพ์ใหญ่) และตัวอักษร "a" ถึง "z" (ตัวพิมพ์เล็ก)

รายละเอียด:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#Variables


คำถามไม่ใช่ 'ตัวแปร JavasScript สามารถเริ่มต้นด้วย $' ได้ แต่ 'ทำไมต้องเป็น ... ' เจ้าโอพีกำลังมองหาเหตุผลที่จะใช้รูปแบบการตั้งชื่อ
Steve Ives
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.