object - Possible to have a JavaScript method to handle undefined properties? -


क्या काम करता है:

जावास्क्रिप्ट ऑब्जेक्ट जैसे जैसे <पूर्व> var obj = {var1: "एक"};

मैं इसे निम्न तरीकों से एक कॉल कर सकता हूं:

  console.log (obj.var1); console.log (obj [ 'var1']);     क्या विफल:   

यह विफल हो जाएगा:

  console.log (obj.var2 );   

क्योंकि var2 गुमनाम ऑब्जेक्ट की कोई संपत्ति / चर नहीं है, इस प्रकार, अपरिभाषित कंसोल लॉग में मुद्रित होता है।

मेरा लक्ष्य:

मैं क्या करना चाहूंगा एक फ़ॉलबैक फ़ंक्शन जो स्वचालित रूप से कहलाता है जब कोई मेल / प्रॉपर्टी / वेरिएबल पाया जाता है। < p> उदाहरण के लिए जैसे कुछ:

  var obj = {var1: "one", __propertyNotFound__: फ़ंक्शन (नाम) {यदि (नाम == "var2") "दो" वापस; और नल वापसी; }}; दुर्भाग्य से मुझे कोई भी समाधान नहीं मिला।  

मेरा प्रश्न:

एक जावास्क्रिप्ट नौसिखिया होने के नाते, यह मेरा प्रश्न एक गूंगा प्रश्न और पूर्ण गलत दृष्टिकोण या हो सकता है यह समझ में आता है और वास्तव में इस समाधान का समाधान है?

अच्छा, वास्तव में स्वचालित नहीं होगा लेकिन आप ऐसा कुछ कर सकते हैं:

  var obj = {a: 2, b: 5, प्राप्त करें : फ़ंक्शन (इंडेक्स) {यदि (यह हासोकॉप्परेट्टी (इंडेक्स)) {इस [इंडेक्स] लौटें; } और {इस। नॉटफॉन्ड (इंडेक्स) लौटें; }}, नॉटफ़ाउंड: फंक्शन (इंडेक्स) {if (इंडेक्स == "var2") "दो" पर लौटा; और नल वापसी; }} Console.log (obj.get ('var2')) / /   

गुणों को एक्सेस करने के लिए आपको .get का उपयोग करना होगा, लेकिन आप उस रास्ते से नहीं मिला संभाल

Comments

Popular posts from this blog

Java - Error: no suitable method found for add(int, java.lang.String) -

java - JPA TypedQuery: Parameter value element did not match expected type -

c++ - static template member variable has internal linkage but is not defined -