हे ... कि चीजें इस तरह के एक कम समय में जवाब देने के लिए की एक बहुत कुछ है ... लेकिन आप एक लंबा रास्ता जावास्क्रिप्ट में जाना है, लेकिन आप करने वाले हैं प्यार यह ...
1) ऑब्जेक्ट नोटेशन। आपको JSON के लिए Google होना चाहिए।
ऑब्जेक्ट नोटेशन का अर्थ है, आप जावास्क्रिप्ट से प्रासंगिक एक विशिष्ट प्रारूप का उपयोग कर डेटा को परिभाषित कर सकते हैं।
{ } in object notation means, an object... more specifically speaking, this is already an instance of an object.
तुम भी सादा जावास्क्रिप्ट में यह लिख सकता है, यह इस तरह दिखेगा:
new Object()
2) कार्य प्रथम श्रेणी के नागरिक हैं।
ठीक है, जेएस पारिस्थितिक तंत्र में कार्य वास्तव में एक बेहद मूल्यवान संपत्ति है। इसका मतलब है कि आप मूल रूप से कुछ भी कर सकते हैं जो आप उनके साथ कल्पना करते हैं। इसमें किसी अन्य ऑब्जेक्ट को "संबंधित" फ़ंक्शन के संदर्भ की प्रतिलिपि बनाना शामिल है।
{}.toString is a function. You would normally invoke it by doing {}.toString()
You are instead, just copying the reference to the function in a variable. In this case you "store" the function in the variable "toClass"
3) प्रोटोटाइप श्रृंखला। आपको Google, अच्छी तरह से प्रोटोटाइप श्रृंखला हाहा होना चाहिए।
प्रोटोटाइप श्रृंखला, चीजों को सरल रखने के लिए वर्ग विरासत "पसंद" है। तो इसका मतलब है कि यदि कक्षा ए में एक विधि "ब्लाह" है और कक्षा बी ए का "बच्चा" वर्ग है, तो यह भी "ब्लाह" विधि होगा।
In JS world, the top of the prototype chain is "Object". And many functions are already defined in the prototype of Object. Including "toString"
4) सामान्य सापेक्षता समस्या ... यह भी कहा जाता है, कहते हैं, और लागू होते हैं।
कार्य के रूप में प्रथम श्रेणी के नागरिक हैं, वे मूल रूप से एक विशिष्ट वस्तु उदाहरण से संबंधित के बिना मौजूद हो सकते हैं।
That means, you can choose on which this context you want the function to be invoked on.
डिफ़ॉल्ट रूप से, जब आप एक काम करता है लगता है कि एक वस्तु के लिए "संलग्न" आह्वान, उस वस्तु इस कि समारोह कॉल के संदर्भ हो जाता है:
{}.toString() // This executes toString in the context of {}
लेकिन जैसा कि मैंने कहा, आप केवल यह चुन सकते हैं कि फ़ंक्शन वास्तव में कहां निष्पादित कर रहा है। इसके लिए विधियों "कॉल" और "लागू" मौजूद हैं। अपने वातावरण में
Object.prototype.toString.call({}) // This executes toString in the context of {}
5) वैश्विक वस्तुओं:
हमारे पिछले उदाहरण में अनुवाद किया जा सकता है।
यह आसान विषय नहीं है, क्योंकि अब जावास्क्रिप्ट न केवल ब्राउज़र पर बल्कि सर्वर पर भी चलता है ... नोडजेएस इसका एक अच्छा उदाहरण है।
मान लें कि आप एक ब्राउज़र में इस चला रहे हैं ... वहाँ एक वैश्विक वस्तु खिड़की
आप मूल रूप से अपने वैश्विक वस्तु में किसी भी समारोह कॉल कर सकते हैं कहा जाता है।
So toString is equivalent to window.toString and window is descendent of Object, it will also get the method from the Object.prototype.
अब आपका जवाब
getAge is not defined in Object.prototype, so you cannot invoke a non existing function.
क्या अपने कोड क्या कर रहा है और यह कैसे काम करता है की लाइन सिंहावलोकन प्रति एक लाइन के लिए नीचे मेरा उत्तर की जाँच करें। –