Monday 15 February 2010

javascript - Dojo 118n resource construct; why? -


डोजो 1.9 स्रोत में, dijit / nls / common.js मुझे यह दिखाई देता है

  परिभाषित करें   

लेखक का उपयोग क्यों किया गया है ({बटन: ठीक है, बटन रद्द करें: "रद्द करें", बटन सहेजें: "सहेजें", आइटम बंद करें: "बंद"}) //

  (  

निर्माण? इसका वास्तव में क्या अर्थ है? क्यों {} पर्याप्त नहीं हैं? संभवतः एक अभिव्यक्ति को सीमांकित करना है, लेकिन ऐसा करना क्यों आवश्यक है?

मुझे नहीं लगता है उस विशेष उदाहरण में कोई भी कारण है।

लेकिन कुछ मामलों में ...

(ध्यान दें कि ऑब्जेक्ट को कोष्ठक में लपेटने की आवश्यकता हो सकती है, वक्तव्य की अपेक्षा की जाती है, ताकि शाब्दिक को ब्लॉक कथन के साथ भ्रमित न किया जा सके।)

eval () शायद कुछ है इसके साथ क्या करना है, लेकिन आपके विशेष उदाहरण में, जे एस पार्सर को कोड से निपटना चाहिए और वहां eval () का उपयोग नहीं किया जाना चाहिए।

उदा। (कोई कोष्ठक नहीं):

  सिंटैक्स त्रुटि: अमान्य लेबल eval ("{a: 1, b: 2}")   

और (कोष्ठक के साथ):

  & gt; & gt; & gt; ओवल ("({a: 1, b: 2})" वस्तु {a = 1, b = 2}   

हो सकता है कि डोजो की निर्माण प्रक्रिया के साथ कुछ ऐसा हो, और कोष्ठक की आवश्यकता के लिए एनएलएस मॉड्यूल को पुन: स्वरूपित किया गया है? ऐसा लगता नहीं लगता है कि भंगुर लगता है और निर्माण की प्रक्रिया ही कोष्ठकों को आसानी से जोड़ सकती है।


संपादित करें : मैंने अभी इस का इतिहास देखा है GitHub पर फ़ाइल।

मूल संस्करण (GitHub में) इस तरह दिखता है:

  ({बटन ओक: "ठीक", बटन रद्द करें: "रद्द करें", बटन सहेजें: " "सहेजें", नहींससेट: "सेट नहीं है", बाएं: "बाएं", दाएं: "दाएं", केंद्र: "केंद्र", बीच: "मध्य", ऊपर: "ऊपर", नीचे: "नीचे", // यूनिट्स इकाई पिक्सेल : "पिक्सेल", यूनिटप्रिंट: "प्रतिशत", चौड़ाई: "चौड़ाई", ऊंचाई: "ऊँचाई"})   

इसलिए मुझे लगता है कि यह फ़ाइल मूल रूप से eval 'डी, और कोष्ठक ऐतिहासिक रूप से आवश्यक थे, लेकिन एएमडी की चाल के साथ कुछ बेमानी बन गए।

बिल्कुल गलत हो सकता है!

No comments:

Post a Comment