JS:对象的成员及原型对象的操作
对象的成员操作一般为:增删改查
例:
var obj = { name:'lili', age:20 } obj.height = 2; //添加成员 obj.age = 18; //更改 var n = obj.name; //查看 var n2 = obj.age; //查看最新数据 console.log(n,n2);
打印结果:
lili 18
理解:
如果对象中没有增加的成员,我们就给它添加进去,如果有,则覆盖。
取一个对象的属性值时,没有就取原型对象的,也没有就取原型的原型 直到null都没有 就取出undfined。
注:
对象中有系统内置的构造函数是不可以被修改的,在对象中创建构造函数时,也尽量不要和系统内置的函数名相同。
若修改了原型的成员值,不会报错,但是不会生效,系统会跳过编译。
原型对象的操作:
为原型对象添加成员
例:
function fn () { this.a=10; } // fn.prototype.x=20; // fn.prototype={x:20}; var f1=new fn(); // f1.__proto__.x=20; // f1.__proto__={x:20}; // f1.x=20; console.log(f1.x,f1); //任意打开一个注释,f1.x的值就为 20
理解:
1、fn.prototype.x=20;
2、fn.prototype={x:20};
3、f1.__proto__.x=20;
4、f1.__proto__={x:20};
5、f1.x=20;
以上五种方式都可以使得f1.x的值为20,但是
1、2 是在为fn函数的原型对象添加成员;
3、4是在为f1函数的原型对象添加成员;
5是在为f1函数添加成员;