javascript - हरण - हिंदी में जावास्क्रिप्ट परिचय




एक जावास्क्रिप्ट वैरिएबल एक डॉलर के संकेत के साथ क्यों शुरू होगा? (11)

$ चरित्र का जावास्क्रिप्ट इंजन के लिए कोई विशेष अर्थ नहीं है। यह एक वैरिएबल नाम जैसे एज़, एजेड, _, 0-9, इत्यादि में एक और मान्य चरित्र है ...

मैं प्रायः वेरिएबल्स के साथ जावास्क्रिप्ट देखता हूं जो एक डॉलर के चिह्न से शुरू होता है। आप इस तरह से एक चर को उपसर्ग क्यों चुनते हैं?

(मैं $('p.foo') वाक्यविन्यास नहीं पूछ रहा हूं जिसे आप jQuery और अन्य में देखते हैं, लेकिन सामान्य चर जैसे $name और $order )


$ सामान्य चर के मामले में सामान्य चर और jquery चर के बीच DISTINGUISH करने के लिए उपयोग किया जाता है। आपको FLIPKART में ऑर्डर देने दें, यदि ऑर्डर एक चर है जो आपको स्ट्रिंग आउटपुट दिखा रहा है तो इसे "ऑर्डर" के रूप में सरल नाम दिया गया है, लेकिन यदि हम प्लेस ऑर्डर पर क्लिक करते हैं तो ऑब्जेक्ट वापस आ जाता है कि ऑब्जेक्ट को $ $ के रूप में दर्शाया जाएगा ऑर्डर करें "ताकि प्रोग्रामर पूरे कोड में जावास्क्रिप्ट चर और jquery चर को बाहर निकालने में सक्षम हो।


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 ऑब्जेक्ट्स को देखना आसान बनाता है जिसमें गुणों का एक अलग सेट होता है।


ईसीएमएस्क्रिप्ट के पहले, दूसरे और तीसरे संस्करण में , $ -prefixed चर नामों का उपयोग करके स्वत: उत्पन्न कोड के संदर्भ में छोड़कर spec द्वारा स्पष्ट रूप से निराश किया गया था:

डॉलर पहचान ( $ ) और अंडरस्कोर ( _ ) को पहचानकर्ता में कहीं भी अनुमति है। डॉलर का संकेत केवल यांत्रिक रूप से जेनरेट कोड में उपयोग के लिए है।

हालांकि, अगले संस्करण ( 5 वां संस्करण , जो वर्तमान है) में, यह प्रतिबंध गिरा दिया गया था, और उपर्युक्त मार्ग बदल दिया गया था

डॉलर चिह्न ( $ ) और अंडरस्कोर ( _ ) को पहचानकर्ता नाम में कहीं भी अनुमति है।

इस प्रकार, $ संकेत अब परिवर्तनीय नामों में स्वतंत्र रूप से उपयोग किया जा सकता है। प्रतीक के अर्थ पर कुछ ढांचे और पुस्तकालयों के अपने स्वयं के सम्मेलन होते हैं, जो यहां अन्य उत्तरों में उल्लेखित हैं।


चूंकि _ एक परिवर्तनीय नाम की शुरुआत में अक्सर एक निजी चर (या कम से कम एक निजी रहने का इरादा रखने वाला) इंगित करने के लिए उपयोग किया जाता है, मुझे जेनेरिक कोड पुस्तकालयों में अपने स्वयं के संक्षिप्त उपनामों के सामने जोड़ने के लिए $ सुविधाजनक लगता है।

उदाहरण के लिए, jQuery का उपयोग करते समय, मैं वैरिएबल $J (केवल $ बजाय) का उपयोग करना पसंद करता हूं और php.js आदि का उपयोग करते समय $P का उपयोग करता हूं।

उपसर्ग यह अन्य चर से भिन्न रूप से अलग करता है जैसे कि मेरे अपने स्थिर चर, मुझे इस तथ्य से चिपकाते हुए कि कोड कुछ लाइब्रेरी या अन्य का हिस्सा है, और सम्मेलन को जानने के बाद दूसरों को भ्रमित करने या भ्रमित करने की संभावना कम होती है।

यह कोड को अव्यवस्थित नहीं करता है (या अतिरिक्त टाइपिंग की आवश्यकता होती है) क्योंकि प्रत्येक लाइब्रेरी कॉल के लिए पूरी तरह निर्दिष्ट नाम दोहराया जाता है।

मुझे इसके बारे में सोचना पसंद है कि संशोधक कुंजी एकल कुंजी की संभावनाओं का विस्तार करने के लिए क्या करती है।

लेकिन यह सिर्फ मेरा अपना सम्मेलन है।


जबकि आप इसे अपने पहचानकर्ताओं को उपसर्ग करने के लिए बस इसका उपयोग कर सकते हैं, उदाहरण के लिए, जेनरेट कोड के लिए इसका उपयोग किया जाना चाहिए, जैसे टेम्पलेट में प्रतिस्थापन टोकन।


जैसा कि अन्य ने उल्लेख किया है कि डॉलर का संकेत यांत्रिक रूप से जेनरेट कोड द्वारा उपयोग किया जाना है। हालांकि, यह परंपरा कुछ जंगली लोकप्रिय जावास्क्रिप्ट पुस्तकालयों द्वारा तोड़ दी गई है। JQuery, प्रोटोटाइप और एमएस AJAX (AKA एटलस) सभी इस पहचान का उपयोग अपने पहचानकर्ताओं (या एक संपूर्ण पहचानकर्ता के रूप में) में करते हैं।

संक्षेप में आप जब भी चाहें $ उपयोग कर सकते हैं। (दुभाषिया शिकायत नहीं करेगा।) सवाल यह है कि आप इसका उपयोग कब करना चाहते हैं ?

मैं व्यक्तिगत रूप से इसका उपयोग नहीं करता, लेकिन मुझे लगता है कि इसका उपयोग मान्य है। मुझे लगता है कि एमएस AJAX इसका उपयोग यह संकेत करने के लिए करता है कि एक समारोह कुछ और वर्बोज़ कॉल के लिए उपनाम है।

उदाहरण के लिए:

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

यह एक उचित सम्मेलन की तरह लगता है।


जैसा कि मैंने पिछले 4 वर्षों से अनुभव किया है, यह किसी को आसानी से यह पहचानने की अनुमति देगा कि वैल्यू / ऑब्जेक्ट या jQuery लिपटे डीओएम तत्व को इंगित करने वाला चर

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

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

उपरोक्त उदाहरण में जब मैं चर "$ dataDiv" देखता हूं, तो मैं आसानी से कह सकता हूं कि यह चर एक jQuery लिपटे डीओएम तत्व को इंगित करता है (इस मामले में यह div है)। और मैं ऑब्जेक्ट को $ dataDiv.append (), $ dataDiv.html (), $ dataDiv.find () $ ($ dataDiv) के बजाय ऑब्जेक्ट को फिर से लपेटने के साथ सभी jQuery विधियों को कॉल कर सकता हूं .append ()।

उम्मीद है कि यह मदद कर सकता है। तो अंत में कहना है कि यह पालन करने के लिए एक अच्छा अभ्यास होगा लेकिन अनिवार्य नहीं है।


यदि आपको डॉलर का चिह्न ($) या डबल डॉलर का चिह्न ($$) दिखाई देता है, और प्रोटोटाइप ढांचे में इसका क्या अर्थ है, इसके बारे में उत्सुक हैं, तो आपका उत्तर यहां दिया गया है:

$$('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


स्टीवो सही है, डॉलर स्क्रिप्ट चिह्न का अर्थ और उपयोग (जावास्क्रिप्ट और jQuery प्लेटफ़ॉर्म में, लेकिन PHP में नहीं) पूरी तरह से अर्थपूर्ण है। $ एक चरित्र है जिसे पहचानकर्ता नाम के हिस्से के रूप में उपयोग किया जा सकता है। इसके अलावा, डॉलर संकेत शायद सबसे अजीब बात नहीं है जिसे आप जावास्क्रिप्ट में प्राप्त कर सकते हैं। वैध पहचानकर्ता नामों के कुछ उदाहरण यहां दिए गए हैं:

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

उपर्युक्त सभी उदाहरण काम करेंगे।

उन्हे आजमायें।


${varname} सिर्फ एक नामकरण सम्मेलन है jQuery डेवलपर्स jQuery तत्वों को धारण करने वाले वेरिएबल को अलग करने के लिए उपयोग करते हैं।

सादा {varname} का उपयोग ग्रंथों और तारों जैसे सामान्य सामानों को स्टोर करने के लिए किया जाता है। ${varname} jQuery से लौटा तत्व रखता है।

आप jQuery तत्वों को संग्रहीत करने के लिए सादे {varname} का भी उपयोग कर सकते हैं, लेकिन जैसा कि मैंने शुरुआत में कहा था, यह इसे सादे चर से अलग करता है और इसे समझना बहुत आसान बनाता है (कल्पना करें कि इसे एक सादे चर के लिए भ्रमित करना और समझने के लिए सभी को खोजना उसके पास होता है)।

उदाहरण के लिए :

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

यहां, ब्लाह एक लौटा jQuery तत्व संग्रहित कर रहा है।

इसलिए, जब कोई और कोड में $blah देखता है, तो वे समझेंगे कि यह केवल एक स्ट्रिंग या संख्या नहीं है, यह एक jQuery तत्व है।








naming-conventions