प्रश्न में कोड यहाँ है:
var $item = $(this).parent().parent().find('input');
चर नाम में डॉलर चिह्न का उद्देश्य क्या है, क्यों न केवल इसे बाहर रखा जाए?
document.querySelector
औरdocument.querySelectorAll
प्रश्न में कोड यहाँ है:
var $item = $(this).parent().parent().find('input');
चर नाम में डॉलर चिह्न का उद्देश्य क्या है, क्यों न केवल इसे बाहर रखा जाए?
document.querySelector
औरdocument.querySelectorAll
जवाबों:
एक चर में '$' का अर्थ है दुभाषिया के लिए कुछ खास नहीं, बहुत कुछ अंडरस्कोर जैसा।
मैंने जो देखा है, उससे jQuery का उपयोग करने वाले बहुत से लोग (जो कि आपका उदाहरण कोड मेरे जैसा दिखता है) में उपसर्ग चर होते हैं जिनमें एक $ के साथ एक jQuery वस्तु होती है ताकि वे आसानी से पहचाने और मिश्रित न हों, कहते हैं, पूर्णांक ।
$()
JQuery में डॉलर साइन फ़ंक्शन एक लाइब्रेरी फ़ंक्शन है जिसे अक्सर उपयोग किया जाता है, इसलिए एक छोटा नाम वांछनीय है।
var $=function(){}
, करना बहुत ही समान है var a=function(){}
।
jQuery(document).ready(function($){
... तब $ का उपयोग फंक्शन कार्यान्वयन के अंदर किया जाता है।
$scope
$ के मामले में उस नाम के पात्रों में से एक है। जैसे यदि आप e
अंत के अंत में उतार देते $scope
हैं, तो यह काम नहीं करेगा, इसलिए $
इच्छाशक्ति लेने से भी काम नहीं चलेगा। इस मामले में कि आपको कुछ दिखाई देता है $( "a" ).addClass( "test" )
, डॉलर का चिन्ह जो भी है उसका पूरा नाम है।
आपके उदाहरण में $ का नाम के चरित्र होने के अलावा कोई विशेष महत्व नहीं है।
हालाँकि , ECMAScript 6 (ES6) में $ एक टेम्प्लेट लिटरल का प्रतिनिधित्व कर सकता है
var user = 'Bob'
console.log(`We love ${user}.`); //Note backticks
// We love Bob.
$ चिन्ह चर और कार्यों के लिए एक पहचानकर्ता है।
यह एक स्पष्ट विवरण है कि डॉलर का चिन्ह क्या है।
यहां एक वैकल्पिक विवरण दिया गया है: http://www.vcarrer.com/2010/10/about-dollar-sign-in-javascript.html
डॉलर के चिन्ह को एक सामान्य अक्षर या अंडरस्कोर ( _
) की तरह माना जाता है । दुभाषिया के लिए इसका कोई विशेष महत्व नहीं है।
कई समान भाषाओं के विपरीत, जावास्क्रिप्ट में पहचानकर्ता (जैसे कार्यात्मक और चर नाम) में न केवल अक्षर, संख्या और अंडरस्कोर हो सकते हैं , बल्कि डॉलर के संकेत भी हो सकते हैं । यहां तक कि उन्हें डॉलर के चिन्ह के साथ शुरू करने की अनुमति है, या केवल एक डॉलर के चिह्न के साथ और कुछ नहीं।
इस प्रकार, $
जावास्क्रिप्ट में एक वैध फ़ंक्शन या चर नाम है।
आप एक पहचानकर्ता में डॉलर का चिह्न क्यों चाहते हैं?
वाक्य-विन्यास वास्तव में एक पहचानकर्ता में डॉलर चिह्न के किसी विशेष उपयोग को लागू नहीं करता है, इसलिए यह आपके ऊपर है कि आप इसका उपयोग कैसे करना चाहते हैं। अतीत में, अक्सर एक डॉलर चिह्न के साथ एक पहचानकर्ता को केवल उत्पन्न कोड में शुरू करने की सिफारिश की गई है - अर्थात, कोड हाथ से नहीं बल्कि एक कोड जनरेटर द्वारा बनाया गया है।
हालाँकि, आपके उदाहरण में, ऐसा प्रतीत नहीं होता है। ऐसा लगता है कि किसी ने सिर्फ मनोरंजन के लिए शुरुआत में एक डॉलर का चिह्न लगाया - शायद वे एक PHP प्रोग्रामर थे जिन्होंने इसे आदत से बाहर किया, या कुछ और। PHP में, सभी परिवर्तनशील नामों के सामने एक डॉलर का चिन्ह होना चाहिए।
आजकल दुभाषिया में एक डॉलर के संकेत के लिए एक और सामान्य अर्थ है: jQuery वस्तु, जिसका नाम केवल एक एकल डॉलर चिह्न ( $
) में है। यह प्रोटोटाइप जैसे पहले के जावास्क्रिप्ट फ्रेमवर्क से लिया गया एक कन्वेंशन है, और अगर jQuery का उपयोग अन्य ऐसे फ्रेमवर्क के साथ किया जाता है, तो एक नाम क्लैश होगा क्योंकि वे दोनों नाम का उपयोग करेंगे $
(jQuery को इसके वैश्विक ऑब्जेक्ट के लिए एक अलग नाम का उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है) । जावास्क्रिप्ट में ऐसा कुछ भी विशेष नहीं है जो jQuery को एकल डॉलर के चिन्ह को उसके ऑब्जेक्ट नाम के रूप में उपयोग करने की अनुमति देता है; जैसा कि ऊपर उल्लेख किया गया है, यह केवल एक और मान्य पहचानकर्ता नाम है।
var $j = jQuery.noConflict();
अब $ j j वस्तु है noconflict कर सकते हैं।
एक्सेलस्क्रिप्ट 2015-2016 में 'टेम्पलेट शाब्दिक' के रूप में डॉलर चिन्ह का उपयोग किया जाता है । उदाहरण:
var a = 5;
var b = 10;
console.log(`Sum is equal: ${a + b}`); // 'Sum is equlat: 15'
यहाँ काम करने का उदाहरण: https://es6console.com/j3lg8xeo/ इस चिन्ह " ` "को नोटिस करें , इसके सामान्य उद्धरण नहीं।
लाइब्रेरी jQuery के साथ काम करते समय U $ भी मिल सकता है ।
रेगुलर एक्सप्रेशंस में $ साइन का मतलब है लाइन का अंत।
कोई कारण नहीं। हो सकता है कि जिसने इसे कोडित किया है वह PHP से आया हो। इसका वही प्रभाव पड़ता है, जैसे आपने इसे "_item" या "आइटम" या "आइटम $ $" का नाम दिया था।
एक प्रत्यय के रूप में ("आइटम $" की तरह, "आइटम") का उच्चारण किया जाता है, यह हंगेरियन नोटेशन के समान "फिनिश नोटेशन" नामक एक सम्मेलन के रूप में एक DOM तत्व जैसे एक नमूदार को इंगित कर सकता है ।
यहाँ एक अच्छा लघु वीडियो स्पष्टीकरण है: https://www.youtube.com/watch?v=Acm-MD_6934
एक्मा इंटरनेशनल आइडेंटिफ़ायर के अनुसार , कुछ छोटे संशोधनों के साथ यूनिकोड मानक के अध्याय 5 के "पहचानकर्ता" खंड में दिए गए व्याकरण के अनुसार व्याख्या किए गए टोकन हैं । एक पहचानकर्ता एक पहचानकर्ता नाम है जो आरक्षित नहीं है ( देखें 7.6.1 )। यूनिकोड पहचानकर्ता व्याकरण यूनिकोड स्टैंडर्ड द्वारा निर्दिष्ट मानदंड और सूचनात्मक चरित्र श्रेणियों दोनों पर आधारित है। यूनिकोड मानक के संस्करण 3.0 में निर्दिष्ट श्रेणियों के पात्रों को सभी अनुरूप ECMAScript कार्यान्वयन द्वारा उन श्रेणियों में माना जाना चाहिए। यह मानक विशिष्ट वर्ण परिवर्धन निर्दिष्ट करता है:
डॉलर चिह्न ($) और अंडरस्कोर (_) की पहचानकर्ता नाम में कहीं भी करने की अनुमति है ।
आगे पढ़ने पर पाया जा सकता है: http://www.ecma-international.org/ecma-262/5.1/#sec-7.6
एक्मा इंटरनेशनल एक उद्योग संघ है जिसकी स्थापना 1961 में हुई थी और यह सूचना और संचार प्रौद्योगिकी (आईसीटी) और उपभोक्ता इलेक्ट्रॉनिक्स (सीई) के मानकीकरण के लिए समर्पित है।
JQuery का उपयोग करते समय, $
चर नाम में उपसर्ग के रूप में प्रतीक का उपयोग केवल सम्मेलन द्वारा किया जाता है; यह पूरी तरह से वैकल्पिक है और केवल यह दर्शाने के लिए कार्य करता है कि चर आपके उदाहरण में एक jQuery ऑब्जेक्ट रखता है।
इसका मतलब है कि जब किसी अन्य jQuery फ़ंक्शन को ऑब्जेक्ट पर कॉल करने की आवश्यकता होती है, तो आपको इसे $()
फिर से लपेटने की आवश्यकता नहीं होगी । उदाहरण के लिए, इनकी तुलना करें:
// the usual way
var item = $(this).parent().parent().find('input');
$(item).hide(); // this is a double wrap, but required for code readability
item.hide(); // this works but is very unclear how a jQuery function is getting called on this
// with $ prefix
var $item = $(this).parent().parent().find('input');
$item.hide(); // direct call is clear
$($item).hide(); // this works too, but isn't necessary
$
उपसर्ग के साथ पहले से ही jQuery ऑब्जेक्ट्स रखने वाले चर तुरंत पहचानने योग्य होते हैं और कोड अधिक पठनीय होता है, और साथ डबल / मल्टीपल रैपिंग को समाप्त करता है $()
।