मालवेअर हे अनाहूत किंवा धोकादायक प्रोग्राम आहेत जे...
JavaScript एका साध्या पॅराडाइमवर आधारित आहे. संकल्पना साध्या वस्तूंवर आधारित आहे. ऑब्जेक्ट हा गुणधर्मांचा संग्रह असतो आणि प्रत्येक मालमत्तेमध्ये नाव आणि त्या नावाशी संबंधित मूल्य असते. गुणधर्म मूल्य एक फंक्शन असू शकते, ज्याला म्हटले जाऊ शकते पद्धतवस्तू ब्राउझरच्या अंगभूत ऑब्जेक्ट्स व्यतिरिक्त, आपण आपल्या स्वतःच्या ऑब्जेक्ट्स परिभाषित करू शकता. हा धडा ऑब्जेक्ट्स, गुणधर्म, फंक्शन्स आणि पद्धतींचा वापर कसा करायचा आणि आपल्या स्वतःच्या वस्तू कशा तयार करायच्या याचे वर्णन करतो.
वस्तूंचे विहंगावलोकन
JavaScript मधील ऑब्जेक्ट्स, इतर अनेक प्रोग्रामिंग भाषांप्रमाणे, वास्तविक जीवनातील वस्तूंप्रमाणेच असतात. संकल्पना JavaScript ऑब्जेक्ट्सवास्तविक जीवनात अस्तित्त्वात असलेल्या वस्तूंसह समांतर रेखाचित्रे समजून घेणे सोपे आहे.
JavaScript मध्ये, ऑब्जेक्ट एक स्वतंत्र युनिट आहे ज्यामध्ये गुणधर्म आणि विशिष्ट प्रकार असतो. चला तुलना करूया, उदाहरणार्थ, कपशी. कपमध्ये रंग, आकार, वजन, ते बनवलेले साहित्य इ. त्याचप्रमाणे, JavaScript ऑब्जेक्ट्समध्ये गुणधर्म आहेत जे त्यांची वैशिष्ट्ये परिभाषित करतात.
वस्तू आणि गुणधर्म
JavaScript मध्ये, ऑब्जेक्टशी संबंधित गुणधर्म असतात. ऑब्जेक्ट प्रॉपर्टी हे ऑब्जेक्टला नियुक्त केलेले व्हेरिएबल म्हणून समजले जाऊ शकते. ऑब्जेक्ट गुणधर्म मूलत: JavaScript व्हेरिएबल्स सारखेच असतात, त्याशिवाय ते ऑब्जेक्टला नियुक्त केले जातात. एखाद्या वस्तूचे गुणधर्म त्याची वैशिष्ट्ये ठरवतात. तुम्ही डॉट नोटेशन वापरून ऑब्जेक्टच्या प्रॉपर्टीमध्ये प्रवेश करू शकता:
ObjectName.propertyName
इतर सर्वांप्रमाणे JavaScript चल, ऑब्जेक्टचे नाव (जे व्हेरिएबल देखील असू शकते), आणि मालमत्तेचे नाव केस संवेदनशील आहेत. तुम्ही प्रॉपर्टीचे मूल्य निर्दिष्ट करून परिभाषित करू शकता. उदाहरणार्थ, मायकार एक ऑब्जेक्ट तयार करू आणि त्याचे मेक, मॉडेल आणि वर्ष गुणधर्म खालीलप्रमाणे परिभाषित करू:
Var myCar = नवीन ऑब्जेक्ट(); myCar.make = "फोर्ड"; myCar.model = "मस्टंग"; myCar.year = 1969;
अपरिभाषित ऑब्जेक्ट गुणधर्म अपरिभाषित आहेत (शून्य नाही).
मायकार. रंग
// अपरिभाषित JavaScript ऑब्जेक्ट्सचे गुणधर्म देखील ब्रॅकेट नोटेशन वापरून ऍक्सेस किंवा सेट केले जाऊ शकतात (अधिक तपशीलांसाठी पहा). ऑब्जेक्ट्स कधीकधी म्हणतात सहयोगी ॲरे
, कारण प्रत्येक गुणधर्म स्ट्रिंग व्हॅल्यूशी संबंधित आहे ज्याचा वापर त्यात प्रवेश करण्यासाठी केला जाऊ शकतो. तर, उदाहरणार्थ, तुम्ही याप्रमाणे myCar ऑब्जेक्टच्या गुणधर्मांमध्ये प्रवेश करू शकता:
ऑब्जेक्ट प्रॉपर्टीची नावे JavaScript स्ट्रिंग असू शकतात किंवा रिक्त स्ट्रिंगसह स्ट्रिंगमध्ये रूपांतरित केली जाऊ शकतात. तथापि, अवैध JavaScript आयडेंटिफायर असलेले कोणतेही प्रॉपर्टी नाव (उदाहरणार्थ, स्पेस आणि डॅश असलेल्या किंवा नंबरने सुरू होणारे प्रॉपर्टी नाव) स्क्वेअर ब्रॅकेट वापरून ऍक्सेस केले जाऊ शकते. जेव्हा मालमत्तेचे नाव डायनॅमिकपणे निर्धारित केले जावे (जेव्हा रनटाइमपर्यंत प्रॉपर्टीचे नाव निर्धारित केले जात नाही) तेव्हा हे नोटेशन देखील उपयुक्त आहे. खालील उदाहरणे:
Var myObj = new Object(), str = "myString", rand = Math.random(), obj = new Object(); myObj.type = "डॉट सिंटॅक्स"; myObj["date created"] = "स्पेस असलेली स्ट्रिंग"; myObj = "स्ट्रिंग मूल्य"; myObj = "यादृच्छिक क्रमांक"; myObj = "वस्तू"; myObj[""] = "एक रिकामी स्ट्रिंग देखील"; console.log(myObj);
लक्षात घ्या की चौरस कंस असलेल्या सर्व कीज मध्ये रूपांतरित केल्या आहेत स्ट्रिंग टाइप करा, कारण JavaScript मधील ऑब्जेक्ट्सची की म्हणून फक्त स्ट्रिंग प्रकार असू शकतो. उदाहरणार्थ, वरील कोडमध्ये, जेव्हा की obj myObj मध्ये जोडली जाते, तेव्हा JavaScript obj.toString() पद्धतीला कॉल करते आणि परिणामी स्ट्रिंग नवीन की म्हणून वापरते.
व्हेरिएबलमध्ये संग्रहित केलेल्या स्ट्रिंग मूल्याचा वापर करून तुम्ही गुणधर्मांमध्ये देखील प्रवेश करू शकता:
Var propertyName = "make"; myCar = "फोर्ड"; propertyName = "मॉडेल"; myCar = "मस्टंग";
ज्या ऑब्जेक्टसाठी परवानगी आहे त्या सर्व गुणधर्मांची पुनरावृत्ती करण्यासाठी तुम्ही a for... क्लॉजमध्ये चौरस कंस वापरू शकता. ते कसे कार्य करते हे दाखवण्यासाठी, पुढील कार्यजेव्हा तुम्ही ऑब्जेक्ट स्वतः पास करता आणि त्याचे नाव फंक्शन आर्ग्युमेंट्स म्हणून पास करता तेव्हा ऑब्जेक्टचे सर्व गुणधर्म दर्शवते:
फंक्शन शोप्रॉप्स(obj, objName) ( var परिणाम = ""; साठी (var i in obj) ( if (obj.hasOwnProperty(i)) ( परिणाम += objName + "." + i + " = " + obj[i ] + "\n"; ) ) परिणाम;
म्हणून जर आपण या फंक्शनला या शोप्रॉप्स (myCar, "myCar") सारखे कॉल केले तर, आम्हाला परिणाम मिळेल:
MyCar.make = Ford myCar.model = Mustang myCar.year = 1969
ऑब्जेक्टच्या सर्व गुणधर्मांची यादी करणे
कन्स्ट्रक्टर फंक्शन वापरणे
दोन चरणांमध्ये ऑब्जेक्ट तयार करण्याचा दुसरा मार्ग खाली वर्णन केला आहे:
- कन्स्ट्रक्टर फंक्शन लिहून ऑब्जेक्टचा प्रकार निश्चित करा. अशा फंक्शनचे नाव सहसा मोठ्या अक्षराने सुरू होते.
- नवीन कीवर्ड वापरून ऑब्जेक्टचे उदाहरण तयार करा.
ऑब्जेक्टचा प्रकार निश्चित करण्यासाठी, ऑब्जेक्टचा प्रकार, त्याचे नाव, गुणधर्म आणि पद्धती निर्धारित करणारे फंक्शन तयार करा. उदाहरणार्थ, समजा तुम्हाला मशीनचे वर्णन करण्यासाठी ऑब्जेक्ट प्रकार तयार करायचा आहे. तुम्हाला या प्रकारच्या वस्तूला कार म्हणायचे आहे, आणि तुम्हाला त्यात गुणधर्म, मॉडेल आणि वर्ष हवे आहेत. हे करण्यासाठी, खालील फंक्शन लिहा:
फंक्शन कार (मेक, मॉडेल, वर्ष) ( this.make = make; this.model = model; this.year = year; )
लक्षात घ्या की हे ऑब्जेक्टच्या गुणधर्मांना मूल्ये नियुक्त करण्यासाठी (फंक्शन वितर्क म्हणून पास) वापरले जाते.
आता तुम्ही मायकार नावाची वस्तू याप्रमाणे तयार करू शकता:
वर मायकार = नवीन कार ("ईगल", "टॅलोन टीएसआय", 1993);
हे विधान मायकार आणि असाइन केलेल्या संदर्भासह कार प्रकाराचे ऑब्जेक्ट तयार करते काही मूल्येत्याचे गुणधर्म. mycar.make चे मूल्य "ईगल" स्ट्रिंग असेल, mycar.year पूर्णांक 1993 असेल, आणि असेच.
तुम्ही फक्त नवीन वर कॉल करून तुम्हाला आवश्यक तितक्या कार वस्तू तयार करू शकता. उदाहरणार्थ:
Var kenscar = नवीन कार("निसान", "300ZX", 1992); var vpgscar = नवीन कार("माझदा", "मियाटा", 1990);
एखाद्या वस्तूची मालमत्ता असू शकते जी दुसरी वस्तू असेल. उदाहरणार्थ, खालील व्यक्ती प्रकारातील ऑब्जेक्ट खालीलप्रमाणे परिभाषित करते:
कार्य व्यक्ती(नाव, वय, लिंग) ( हे.नाव = नाव; हे.वय = वय; हे.सेक्स = लिंग;)
आणि नंतर खालीलप्रमाणे दोन नवीन व्यक्ती ऑब्जेक्ट उदाहरणे तयार करा:
वर रँड = नवीन व्यक्ती ("रँड मॅककिनन", 33, "एम"); वर केन = नवीन व्यक्ती ("केन जोन्स", 39, "एम");
त्यानंतर, तुम्ही मालकाच्या मालमत्तेचा समावेश करण्यासाठी कारची व्याख्या पुन्हा लिहू शकता, जी एखाद्या व्यक्तीला याप्रमाणे नियुक्त केली जाते:
फंक्शन कार (मेक, मॉडेल, वर्ष, मालक) ( this.make = make; this.model = model; this.year = year; this.owner = मालिक; )
त्यानंतर, नवीन ऑब्जेक्ट्स इन्स्टंट करण्यासाठी, या सूचनांचे अनुसरण करा:
Var car1 = नवीन कार("ईगल", "टॅलोन टीएसआय", 1993, रँड); var car2 = नवीन कार("निसान", "300ZX", 1992, केन);
लक्षात घ्या की नवीन ऑब्जेक्ट्स तयार करताना स्ट्रिंग, शब्दशः किंवा पूर्णांक पास करण्याऐवजी, वरील अभिव्यक्ती रँड आणि केन ऑब्जेक्ट्स फंक्शनला वितर्क म्हणून पास करतात. आता, जर तुम्हाला car2 चे मालकाचे नाव शोधायचे असेल, तर तुम्ही ते असे करू शकता:
कार2.मालक
लक्षात ठेवा की तुम्ही पूर्वी तयार केलेल्या ऑब्जेक्टमध्ये कधीही नवीन गुणधर्म जोडू शकता. उदाहरणार्थ, अभिव्यक्ती
Car1.color = "काळा";
car1 मध्ये रंग गुणधर्म जोडते आणि त्याचे मूल्य "काळा" वर सेट करते. तथापि, याचा इतर कोणत्याही वस्तूंवर परिणाम होत नाही. समान प्रकारच्या सर्व ऑब्जेक्ट्समध्ये नवीन गुणधर्म जोडण्यासाठी, आपण कार ऑब्जेक्टच्या प्रकार परिभाषामध्ये गुणधर्म जोडणे आवश्यक आहे.
Object.create पद्धत वापरणे
Object.create पद्धत वापरूनही ऑब्जेक्ट्स तयार करता येतात. ही पद्धत अतिशय सोयीस्कर आहे कारण ती तुम्हाला कन्स्ट्रक्टर फंक्शन परिभाषित न करता तुमच्या नवीन ऑब्जेक्टसाठी प्रोटोटाइप ऑब्जेक्ट निर्दिष्ट करण्यास अनुमती देते.
// Animal var Animal साठी गुणधर्म आणि पद्धतींची सूची = ( प्रकार: "इनव्हर्टेब्रेट्स", // प्रकाराचे डिफॉल्ट मूल्य displayType: function() ( // प्राणी ऑब्जेक्ट console.log(this.type) चा प्रकार प्रदर्शित करणारी पद्धत; ) ); // प्राणी ऑब्जेक्ट तयार करा var animal1 = Object.create(Animal); animal1.displayType(); // आउटपुट: इनव्हर्टेब्रेट्स // एक प्राणी ऑब्जेक्ट तयार करा आणि त्यास असाइन करा प्रकार = मासे var fish = Object.create(Animal); fish.type = "मासे"; fish.displayType(); // आउटपुट: मासे
वारसा
JavaScript मधील सर्व ऑब्जेक्ट्स किमान दुसऱ्या ऑब्जेक्टकडून वारसा घेतात. ज्या ऑब्जेक्टमधून वारसा मिळाला त्याला प्रोटोटाइप म्हणतात आणि वारसा मिळालेले गुणधर्म कन्स्ट्रक्टरच्या प्रोटोटाइप ऑब्जेक्टमध्ये आढळू शकतात.
ऑब्जेक्ट प्रॉपर्टी इंडेक्स
JavaScript 1.0 मध्ये, तुम्ही एखाद्या वस्तूचे गुणधर्म त्याच्या नावाने किंवा त्याच्या क्रमिक निर्देशांकानुसार पाहू शकता. JavaScript 1.1 आणि नंतर, जर तुम्ही सुरुवातीला नावाने प्रॉपर्टी परिभाषित केली असेल, तर तुम्ही नेहमी तिच्या नावाने त्याचा संदर्भ घ्यावा आणि जर तुम्ही सुरुवातीला इंडेक्सद्वारे प्रॉपर्टी परिभाषित केली असेल, तर तुम्ही त्याचा निर्देशांकानुसार संदर्भ दिला पाहिजे.
जेव्हा तुम्ही कन्स्ट्रक्टर फंक्शन वापरून एखादी वस्तू आणि त्याचे गुणधर्म तयार करता तेव्हा ही मर्यादा लादली जाते (जसे आम्ही आधी प्रकारासह केले होते. कार) आणि जेव्हा तुम्ही वैयक्तिक गुणधर्म स्पष्टपणे परिभाषित करता (उदा. myCar.color="red"). जर तुम्ही सुरुवातीला एखाद्या इंडेक्सद्वारे ऑब्जेक्ट प्रॉपर्टीची व्याख्या केली असेल, उदाहरणार्थ myCar = "25 mpg" , तर तुम्ही नंतर या प्रॉपर्टीचा फक्त myCar म्हणून संदर्भ घेऊ शकता.
नियमाला अपवाद म्हणजे HTML वरून प्रस्तुत केलेल्या वस्तू, जसे की फॉर्म ॲरे. तुम्ही नेहमी या ॲरेमधील वस्तूंचा निर्देशांक वापरून त्यांचा संदर्भ घेऊ शकता (जे ते दिसतील त्या क्रमावर आधारित आहे. HTML दस्तऐवज), किंवा त्यांच्या नावाने (जर अशी ओळख झाली असेल). उदाहरणार्थ, जर दुसरा html टॅग