अक्सर आप hasOwnProperty
के साथ या बिना एक ही परिणाम प्राप्त करेंगे, लेकिन बाद वाले व्यक्ति को संपत्ति में सीधे रहने के बजाय विरासत में प्राप्त संपत्तियों को अनदेखा कर दिया जाता है।
इस मूल विरासत प्रणाली पर विचार करें। कुत्ते मास्टर पशु वर्ग से विरासत में हैं।
function Animal(params) { this.is_animal = true; }
function Dog(params) { for (var i in params) this[i] = params[i]; }
Dog.prototype = new Animal();
var fido = new Dog({name: 'Fido'});
अगर हम fido
में झाँकने, hasOwnProperty
हमें पता लगाना जो अपने स्वयं के गुण (नाम) और जो विरासत में मिला रहे हैं मदद करता है।
for (var i in fido) if (fido.hasOwnProperty(i)) alert(i+' = '+fido[i]);
... name=Fido
लेकिन नहीं is_animal=true
सचेत करता है।
इस फीडल को देखें http://jsfiddle.net/gFmXM/1/ – goat
@ रैंबोकोडर-धन्यवाद, अब मुझे यह मिल गया है –