Underscore.js में फ़ंक्शन कॉल करने के दो तरीके हैं, जिन्हें मैं ऑब्जेक्ट-शैली और फ़ंक्शन-शैली के रूप में संदर्भित करता हूं। वस्तु शैली की तरह लग रहा है:अंडरस्कोर.जेएस कार्यों को चेन करने का पसंदीदा तरीका क्या है?
_(myObject).each(function (val, key) {
console.log(key, val);
});
समारोह शैली, दूसरे हाथ पर, इस तरह दिखता है:
_.each(myObject, function (val, key) {
console.log(key, val);
});
मैं खुशी से मेरी कोड में वस्तु शैली कॉल का उपयोग किया गया था, लेकिन कुछ पर बिंदु, हालांकि, कॉल की ऑब्जेक्ट शैली underscore.js दस्तावेज़ से गायब हो गई है (हालांकि ऑब्जेक्ट-स्टाइल कॉल अभी भी पूरी तरह से ठीक काम करते हैं)। मैंने जगह के आस-पास संकेत भी देखे हैं (जैसे backbone.js दस्तावेज में) कि फ़ंक्शन-शैली 'बेहतर' या 'पसंदीदा' है।
तो, क्या पसंदीदा विधि कॉल की फ़ंक्शन-शैली है? और यदि हां, तो क्या कोई इस के पीछे तर्क की व्याख्या कर सकता है?
अद्यतन: @ggozad ने आंशिक रूप से मेरे प्रश्न का उत्तर दिया है। लेकिन ऐसा लगता है कि अंडरस्कोर.जेएस कैसे काम करता है, यह संस्करण 0.4.2 के आसपास वापस बनाया गया था। Underscore.js के लिए परिवर्तन इतिहास के माध्यम से पढ़ना, आप संस्करण 1.2.4 के लिए इस प्रविष्टि देख सकते हैं:
अब आप कर सकते हैं (और शायद चाहिए) लिख
_.chain(list)
बजाय_(list).chain()
।
मैं जानना चाहता हूं कि _(list).chain()
के बजाय आपको _.chain(list)
क्यों लिखना चाहिए।
'_ (सूची) .chain()' '_.chain (_ (list) .value()) के समान आंतरिक रूप से गणना करता है' '_ (सूची) के साथ।मान() === सूची'। इसलिए '_.chain (सूची)' को कॉल करना तेज है – Tino