ในโค้ด JavaScript ต่อไปนี้จะมีเครื่องหมายดอลลาร์ ( $) มันหมายความว่าอะไร?
$(window).bind('load', function() {
$('img.protect').protectImage();
});
ในโค้ด JavaScript ต่อไปนี้จะมีเครื่องหมายดอลลาร์ ( $) มันหมายความว่าอะไร?
$(window).bind('load', function() {
$('img.protect').protectImage();
});
คำตอบ:
ตัวอย่างโค้ดของคุณดูเหมือนว่าเป็นวิธีการอ้างอิงจากหนึ่งในห้องสมุด JavaScript ยอดนิยม (jQuery, ProtoType, mooTools และอื่น ๆ )
ไม่มีอะไรลึกลับเกี่ยวกับการใช้งาน$JavaScript $เป็นเพียงตัวระบุ JavaScript ที่ถูกต้อง
JavaScript ช่วยให้ตัวอักษรบนและล่างตัวเลขและและ$ ตั้งใจที่จะนำมาใช้สำหรับตัวแปรเครื่องสร้าง (เช่น)_$$0001
ไลบรารีต้นแบบ jQuery และ javascript ส่วนใหญ่ใช้$เป็นวัตถุหลักพื้นฐาน (หรือฟังก์ชัน) ส่วนใหญ่มีวิธีในการสละ$เพื่อให้สามารถใช้กับไลบรารีอื่นที่ใช้ ในกรณีที่คุณใช้แทนjQuery $ในความเป็นจริงเป็นเพียงทางลัดสำหรับ$jQuery
จากคำตอบอื่น :
ประวัติเล็กน้อย
$โปรดจำไว้ว่ามีอะไรพิเศษเกี่ยวกับเนื้อแท้ มันเป็นชื่อตัวแปรเช่นเดียวกับคนอื่น ๆ ในวันก่อนหน้าคนใช้ในการเขียนรหัสโดยใช้ document.getElementById เพราะเป็นกรณี JavaScript, document.getElementByIdมันเป็นเรื่องปกติที่จะทำผิดพลาดในขณะที่เขียน ฉันควรเมืองหลวง'b'ของ'by'? ฉันควรเมืองหลวง'i'ของId?คุณได้รับการเลื่อนลอย เนื่องจากฟังก์ชั่นเป็นพลเมืองชั้นหนึ่งใน JavaScript คุณสามารถทำสิ่งนี้ได้เสมอ:
var $ = document.getElementById; //freedom from document.getElementById!
เมื่อห้องสมุดต้นแบบมาถึงพวกเขาตั้งชื่อฟังก์ชั่นของพวกเขาซึ่งได้รับองค์ประกอบ DOM '$'ที่เป็น ไลบรารี JavaScript เกือบทั้งหมดคัดลอกแนวคิดนี้ ต้นแบบยังได้แนะนำ$$ฟังก์ชั่นเพื่อเลือกองค์ประกอบโดยใช้ CSS selector
jQuery ได้ดัดแปลง$ฟังก์ชั่น แต่ขยายเพื่อให้ยอมรับ 'selectors' ทุกชนิดเพื่อรับองค์ประกอบที่คุณต้องการ ตอนนี้ถ้าคุณใช้ Prototype ในโครงการของคุณอยู่แล้วและต้องการรวม jQuery คุณจะมีปัญหาตามที่'$'อ้างถึงการนำไปปฏิบัติของ Prototype หรือการนำ jQuery มาใช้ นั่นคือเหตุผลที่ jQuery มีตัวเลือก noConflict เพื่อให้คุณสามารถรวม jQuery ในโครงการของคุณซึ่งใช้ Prototype และโยกย้ายรหัสของคุณช้าๆ ฉันคิดว่านี่เป็นการเคลื่อนไหวที่ยอดเยี่ยมในส่วนของ John! :)
var $ = document.getElementById;ไม่ทำงานใน Firefox หรือ Google Chrome คุณควรใช้function $(id) { return document.getElementById(id); }แทน ดูstackoverflow.com/questions/1007340สำหรับข้อมูลเพิ่มเติม
นั่นคือรหัสjQueryที่เป็นไปได้มากที่สุด(อย่างแม่นยำยิ่งขึ้น JavaScript ใช้ไลบรารี jQuery)
$หมายถึงฟังก์ชั่น jQueryjQueryและเป็นจริงนามแฝงชวเลข (ไม่เหมือนในภาษาส่วนใหญ่$สัญลักษณ์ไม่ได้ถูกสงวนไว้และอาจใช้เป็นชื่อตัวแปร) โดยทั่วไปจะใช้เป็นตัวเลือก (เช่นฟังก์ชันที่ส่งคืนชุดขององค์ประกอบที่พบใน DOM)
ในขณะที่คำตอบอื่น ๆ พูด; สามารถเป็นได้เกือบทุกอย่าง แต่มักจะ "JQuery"
อย่างไรก็ตามใน ES6 เป็นตัวดำเนินการแก้ไขสตริงในแม่แบบ "ตัวอักษร"เช่น
var s = "new" ; // you can put whatever you think appropriate here.
var s2 = `There are so many ${s} ideas these days !!` ; //back-ticks not quotes
console.log(s2) ;
ผลลัพธ์:
วันนี้มีความคิดใหม่ ๆ มากมาย !!
$()เป็นรุ่นที่จดชวเลขของjQuery()ใช้ในห้องสมุด jQuery
นอกเหนือจากคำตอบข้างต้น$ไม่มีความหมายพิเศษในจาวาสคริปต์มันเป็นอิสระที่จะใช้ในการตั้งชื่อวัตถุ ในjQueryมันถูกใช้เป็นเพียงนามแฝงสำหรับที่jQueryวัตถุและjQuery ()ฟังก์ชั่น อย่างไรก็ตามคุณอาจพบสถานการณ์ที่คุณต้องการใช้ร่วมกับไลบรารี JS อื่นที่ใช้ $ ซึ่งจะทำให้เกิดข้อขัดแย้งในการตั้งชื่อ มีวิธีการใน JQuery ด้วยเหตุผลนี้, jQuery.noConflict().
นี่คือตัวอย่างจากเอกสารของjQuery :
<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
$.noConflict();
// Code that uses other library's $ can follow here.
</script>
หรือคุณสามารถใช้สิ่งนี้
(function ($) {
// Code in which we know exactly what the meaning of $ is
} (jQuery));
จากเอกสาร jQuery ที่อธิบายถึงjQuery Core Object :
นักพัฒนาหลายคนนำหน้า $ ไปที่ชื่อของตัวแปรที่มีวัตถุ jQuery เพื่อช่วยแยกความแตกต่าง ไม่มีอะไรมหัศจรรย์เกี่ยวกับการฝึกฝนนี้ - มันช่วยให้บางคนติดตามว่ามีตัวแปรที่แตกต่างกันอย่างไร