జావాస్క్రిప్ట్ ఆబ్జెక్ట్ అనుసంధానకర్తలు
- పూర్వ పేజీ JS ఓబ్జెక్ట్ ప్రదర్శన
- తదుపరి పేజీ JS ఓబ్జెక్ట్ కన్స్ట్రక్టర్
జావాస్క్రిప్ట్ అనుమానిక పరిమితిని నిర్వహించడం
ECMAScript 5 (2009) Getter మరియు Setter ను ప్రవేశపెట్టింది.
Getter మరియు Setter మీరు ఆప్లికేషన్ అనుమానిక పరిమితిని నిర్వహించగలరు (అంచనా అంశాలు).
జావాస్క్రిప్ట్ Getter(get కీవర్డ్)
ఈ ఉదాహరణలో ఉపయోగించబడింది lang
అంశం పొందండి language
అంశం విలువ
ఇన్స్టాన్స్
// ఆబ్జెక్ట్ సృష్టించండి:}} var person = { firstName: "Bill", lastName : "Gates", language : "en", get lang() { return this.language; } }; // పర్సన్ ఆబ్జెక్ట్ నుండి డేటాను ప్రదర్శించడానికి ఉపయోగించండి: document.getElementById("demo").innerHTML = person.lang;
జావాస్క్రిప్ట్ Setter(set కీవర్డ్)
ఈ ఉదాహరణలో ఉపయోగించబడింది lang
అంశం సెట్ చేయండి language
అంశం విలువ
ఇన్స్టాన్స్
var person = { firstName: "Bill", lastName : "Gates", language : "", set lang(lang) { this.language = lang; } }; // పర్సన్ ఆబ్జెక్ట్ స్పెసిఫిక్ అట్రిబ్యూట్ను సెట్ చేయడానికి ఉపయోగించండి: person.lang = "en"; // పర్సన్ ఆబ్జెక్ట్ నుండి డేటాను ప్రదర్శించండి: document.getElementById("demo").innerHTML = person.language;
జావాస్క్రిప్ట్ ఫంక్షన్ లేదా Getter?
రెండు ఉదాహరణల మధ్య వ్యత్యాసం ఎక్కడ ఉంది?
ఉదాహరణ 1
var person = { firstName: "Bill", lastName : "Gates", fullName : function() { return this.firstName + " " + this.lastName; } }; // ఆప్లికేషన్ నుండి డాటాను ప్రదర్శించడానికి మార్గాలు ఉపయోగించండి: document.getElementById("demo").innerHTML = person.fullName();
ఉదాహరణ 2
var person = { firstName: "Bill", lastName : "Gates", get fullName() { return this.firstName + " " + this.lastName; } }; // పర్సన్ ఆబ్జెక్ట్ నుండి డేటాను ప్రదర్శించడానికి ఉపయోగించండి: document.getElementById("demo").innerHTML = person.fullName;
ఉదాహరణ 1 ఫంక్షన్ రూపంలో యాక్సెస్ చేస్తుంది: person.fullName()。
ఉదాహరణ 2 అంశం రూపంలో యాక్సెస్ చేస్తుంది: person.fullName.
రెండవ ఉదాహరణ సరళమైన సంకేతాలను అందిస్తుంది.
డేటా నాణ్యత
getter మరియు setter ఉపయోగించడం ద్వారా జావాస్క్రిప్ట్ ఉత్తమ డేటా నాణ్యతను నిర్ధారించగలుగుతుంది.
ఈ ఉదాహరణలో ఉపయోగించబడింది: lang
అంశం పెద్ద అక్షరాలతో తిరిగి ఉంటుంది language
అంశం విలువ
ఇన్స్టాన్స్
// ఆబ్జెక్ట్ సృష్టించండి:}} var person = { firstName: "Bill", lastName : "Gates", language : "en", get lang() { return this.language.toUpperCase(); } }; // పర్సన్ ఆబ్జెక్ట్ నుండి డేటాను ప్రదర్శించడానికి ఉపయోగించండి: document.getElementById("demo").innerHTML = person.lang;
ఈ ఉదాహరణలో ఉపయోగించబడింది: lang
అట్రిబ్యూట్ పెద్ద విలువను నిర్వహిస్తుంది language
అట్రిబ్యూట్లో:
ఇన్స్టాన్స్
var person = { firstName: "Bill", lastName : "Gates", language : "", set lang(lang) { this.language = lang.toUpperCase(); } }; // పర్సన్ ఆబ్జెక్ట్ స్పెసిఫిక్ అట్రిబ్యూట్ను సెట్ చేయడానికి ఉపయోగించండి: person.lang = "en"; // పర్సన్ ఆబ్జెక్ట్ నుండి డేటాను ప్రదర్శించండి: document.getElementById("demo").innerHTML = person.language;
ఎందుకు Getter మరియు Setter లను ఉపయోగించాలి?
- ఇది సరళమైన సంజ్ఞాలను అందిస్తుంది
- ఇది అంతర్జాతీయ సంబంధిత సంజ్ఞాలను అనుమతిస్తుంది
- ఇది ఉత్తమ డేటా నాణ్యతను నిర్ధారించగలదు
- బ్యాక్గ్రౌండ్ వర్క్ కు మద్దతు చేస్తుంది
ఒక కౌంటర్ ఇన్స్టాన్స్
ఇన్స్టాన్స్
var obj = { counter : 0, get reset() { this.counter = 0; }, get increment() { this.counter++; }, get decrement() { this.counter--; }, set add(value) { this.counter += value; }, set subtract(value) { this.counter -= value; } }; // కౌంటర్ ఆపరేషన్స్: obj.reset; obj.add = 5; obj.subtract = 1; obj.increment; obj.decrement; Object.defineProperty()
Object.defineProperty()
మాధ్యమం కూడా Getter మరియు Setter లను జోడించడానికి ఉపయోగించవచ్చు:
ఇన్స్టాన్స్
// 定义对象 var obj = {counter : 0}; // 定义 setters Object.defineProperty(obj, "reset", { get : function () {this.counter = 0;} }); Object.defineProperty(obj, "increment", { get : function () {this.counter++;} }); Object.defineProperty(obj, "decrement", { get : function () {this.counter--;} }); Object.defineProperty(obj, "add", { set : function (value) {this.counter += value;} }); Object.defineProperty(obj, "subtract", { set : function (value) {this.counter -= value;} }); // కౌంటర్ ఆపరేషన్స్: obj.reset; obj.add = 5; obj.subtract = 1; obj.increment; obj.decrement;
బ్రౌజర్ మద్దతు
ఇంటర్నెట్ ఎక్స్ప్లోరర్ 8 లేదా అంతకు ముంది వర్షాలు గెట్టర్ మరియు సెట్టర్లను మద్దతు ఇవ్వలేదు:
అవును | 9.0 | అవును | అవును | అవును |
- పూర్వ పేజీ JS ఓబ్జెక్ట్ ప్రదర్శన
- తదుపరి పేజీ JS ఓబ్జెక్ట్ కన్స్ట్రక్టర్