A function that returns its first argument. This function is useful when writing code in the functional style.
के अनुसार मैं जहाँ मैं इस तरह के उपयोग के मामले का एक अच्छा उदाहरण मिल सकता है सोच रहा हूँ। धन्यवाद AngularJS स्रोत कोड से
A function that returns its first argument. This function is useful when writing code in the functional style.
के अनुसार मैं जहाँ मैं इस तरह के उपयोग के मामले का एक अच्छा उदाहरण मिल सकता है सोच रहा हूँ। धन्यवाद AngularJS स्रोत कोड से
उदाहरण:
function transformer(transformationFn, value) {
return (transformationFn || angular.identity)(value);
};
स्पष्टीकरण:
मामले transformationFn
में पहले पैरामीटर के रूप प्रदान की जाती है, यह value
साथ बुलाया जाएगा के रूप में यह खुद पैरामीटर है। अन्यथा identity
फ़ंक्शन को उसी मान के साथ बुलाया जाएगा।
के रूप में एनजी स्रोत कोड का उल्लेख है:
इस समारोह उपयोगी होता है जब कार्यात्मक शैली में कोड लिखने।
इसका मतलब क्या है कि कार्यात्मक प्रोग्रामिंग में वहाँ, कोई वैश्विक हैं ताकि आप हमेशा से पारित/सब कुछ आप की जरूरत है इंजेक्षन करने के लिए है है।
चलें कहते हैं कि हम इन दोनों नीचे कार्यों:
$scope.square = function(n) {
return n * n
};
$scope.multplybyTwo = function(n) {
return n * 2
};
एक कार्यात्मक तरीके से इस कॉल करने के लिए:
$scope.givemeResult = function(fn, val) {
return (fn || angular.identity)(val);
};
तो आप नीचे दिए गए की तरह ऊपर समारोह कुछ का उपयोग हो सकता है:
$scope.initVal = 5;
$scope.squareResult = $scope.givemeResult($scope.square, $scope.initVal);
$scope.intoTwo = $scope.givemeResult($scope.multplybyTwo, $scope.initVal);
012:
आप नीचे दिए गए लिंक का अनुसरण कर सकते
http://litutech.blogspot.in/2014/02/angularidentity-example.html
स्टैक एक्सचेंज में आपका स्वागत है। यह एक [प्रश्न और उत्तर साइट] है (http://stackoverflow.com/about), लिंक संग्रह नहीं। कृपया अपने उत्तर में प्रासंगिक सामग्री शामिल करें, न केवल सामग्री के लिए एक लिंक। संदर्भ संदर्भ के लिए या आगे की जानकारी के लिए लिंक अच्छा है। अधिक युक्तियों के लिए, देखें [कैसे जवाब दें] (http://stackoverflow.com/questions/how-to-answer)। –
मुझे सही अगर मैं गलत हूँ, लेकिन मैं समझता हूँ कि इस
function transformer(transformationFn, value) {
return (transformationFn || angular.identity)(value);
};
हो सकता है "गैर-पुनर्संशोधित" इस
function transformer(transformationFn, value) {
if (transformationFn) {
return transformationFn(value);
} else {
return angular.identity(value);
}
};
को जो कार्यात्मक के बराबर होगा है यह identity
-रहित संस्करण:
function transformer(transformationFn, value) {
if (transformationFn) {
return transformationFn(value);
} else {
return value;
}
};
तो मुझे लगता है कि उपयोग का मामला तब होगा जब आप किसी मूल्य के लिए एक निश्चित परिवर्तन लागू करना चाहते हैं, जब आपको ऐसी चीज़ के साथ आपूर्ति की जाती है जो वास्तव में मौजूद हो या न हो।
मैं बेहतर, identity
समारोह (मैं यह समझ के रूप में) की व्याख्या करने हालांकि मैं अपने जवाब की समीक्षा के रूप में मुझे नहीं लगता कि मैं वास्तव में अपने प्रश्न का उत्तर चाहता था। अगर यह सहायक हो तो भी मेरा जवाब यहां छोड़ दें।
क्या कोणीय की स्पष्टता स्पष्ट रूप से करता है। धन्यवाद! – Michiel
angular.identity
मामलों में जहां आप इसे एक माता पिता से अपने बच्चों को पास करके एक वस्तु एक माता पिता के लिए बाध्य संदर्भ लेना चाहते हैं के लिए उपयोगी है।
एक पहचान समारोह कार्यों के लिए शून्य की तरह है। अपने आप में बेकार की तरह है, लेकिन उच्च क्रम काम करता है, जहां एक पैरामीटर के रूप में एक समारोह लेने के लिए या एक परिणाम के रूप में यह लौट सकते हैं का उपयोग कर एक अभिव्यक्ति के हिस्से के रूप में कभी-कभी उपयोगी।
उदाहरण के लिए, आप एक प्रारंभिक चयन करने के लिए एक दो आयामी सरणी के लिए बाध्य कर सकते हैं, और फिर प्रत्येक subselection को निहित भीतरी सरणियों बाँध:
यहाँ सरणी मूल्यों के लिए एक उदाहरण है। इस मामले में मूल्यों समारोह पहचान समारोह है: यह, बच्चे तत्वों के प्रत्येक समूह के लिए शुरू हो जाती है डेटा पेरेंट तत्व के लिए बाध्य कर पारित किया जा रहा है, और डेटा की इस सरणी देता है।
इसका इस्तेमाल जब यह करने के लिए एक डमी समारोह पारित करने के लिए आवश्यक है:
जो एक पाइप के लिए कोई डेटा स्रोत या पंप के रूप में कार्य | फिल्टर।
तुलना करके, Angular.noop
गलत तरीके से हल करने/वादों को सही ढंग से खारिज क्योंकि यह हमेशा अनिर्धारित दिखाता है, जबकि Angular.identity
सही तरीके से समाधान हैंडल/खारिज वादों क्योंकि यह हमेशा तर्क यह (f(x) = x
) के लिए पारित रिटर्न संभालती है।
कोणीय में कंस्ट्रक्टर्स के संदर्भ में, यह इस तरह के रूप में प्रासंगिक है:
जावास्क्रिप्ट इंजन केवल एक निर्माता के कहने लौट अगर निर्माता स्पष्ट रूप से (यानी प्रकार वस्तु का एक मूल्य या किसी वस्तु वापस नहीं करता है समारोह)। इसलिए नई पहचान (मान) हमेशा एक वस्तु है। इस प्रकार नई पहचान (मान) == मूल्य ही सच्चा लौटाता है यदि मूल्य एक वस्तु है। इसका कारण यह है जावास्क्रिप्ट में समानता ऑपरेटरों हमेशा पहचान के लिए जाँच जब ऑपरेंड में से एक एक वस्तु है।
संदर्भ
मैं समझ में नहीं आया कि क्यों हम 'angular.identity()' फ़ंक्शन को कॉल (जब transformationFn अपरिभाषित है) और क्या यह बुला पर करता है। – mia
इसका मूल रूप से एक डिफ़ॉल्ट कार्यान्वयन के रूप में उपयोग किया जाता है - जब कोई परिवर्तन फ़ंक्शन प्रदान नहीं किया जाता है, तो बस पहचान (यानी कोई परिवर्तन नहीं) पर वापस आ जाता है। –