js面向对象原型属性和实例属性
2017-03-22 16:31
155 查看
//面向对象实例属性和原型属性判别方法 hasOwnProperty(); 如果为true就是原型属性 否则就是实例属性。
function Person() {};
Person.prototype.name = 'apple';
var person1 = new Person();
var person2 = new Person();
person1.name = 'banana';
console.log(person1.name);// 'banana"
console.log(person2.name);// 'apple"
console.log(person1.hasOwnProperty('name')); //true
console.log(person2.hasOwnProperty('name')); //false
delete person1.name;
console.log(person1.name);// 'apple"
console.log(person2.name);// 'apple"
console.log(person1.hasOwnProperty('name')); //false
console.log(person2.hasOwnProperty('name')); //false
//我的理解就是如果没有实例属性就会往上去找原型属性 如果有实例属性就停止搜索输出实例属性;(感觉有点类似于作用域链从内部开始找 找不到就去找它的上一级如果找到了就结束)
function Person() {};
Person.prototype.name = 'apple';
var person1 = new Person();
var person2 = new Person();
person1.name = 'banana';
console.log(person1.name);// 'banana"
console.log(person2.name);// 'apple"
console.log(person1.hasOwnProperty('name')); //true
console.log(person2.hasOwnProperty('name')); //false
delete person1.name;
console.log(person1.name);// 'apple"
console.log(person2.name);// 'apple"
console.log(person1.hasOwnProperty('name')); //false
console.log(person2.hasOwnProperty('name')); //false
//我的理解就是如果没有实例属性就会往上去找原型属性 如果有实例属性就停止搜索输出实例属性;(感觉有点类似于作用域链从内部开始找 找不到就去找它的上一级如果找到了就结束)
相关文章推荐
- (转载)js对象原来也有类、实例属性和原型属性
- js原型对象的问题--对象实例属性vs对象原型属性
- [js高手之路]原型对象(prototype)与原型链相关属性与方法详解
- js的原型实例prototype--方法--属性,构造,赋值--方法同样有原型--原型含义
- 【学习笔记】JS基于原型的面向对象
- JS获得一个对象的所有属性和方法实例
- JavaScript之面向对象学习二(原型属性对象与in操作符)获取对象中所有属性的方法
- js入门·循环与判断/利用函数的简单实例/使用对象/列举对象属性的名称
- JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
- javascript遍历json对象的key和任意js对象属性实例
- js中对象所属类、对象中原型属性以及构造函数三者的关系
- js 用 hasOwnProperty() 判定属性是来自该对象成员,还是原型链
- 每日一个js实例7--通过面向对象实现选项卡
- js实例属性和原型属性示例详解
- js中原型对象的writable为什么会影响到实例对象
- 【面向JS--面向对象和原型】
- js利用for in循环获取 一个对象的所有属性以及值的实例
- JS面向对象-原型对象,实例对象,构造函数的关系
- js-静态、原型、实例属性
- [js高手之路]图解javascript的原型(prototype)对象,原型链实例