夺命雷公狗---javascript NO:31 私有属性
1、什么是私有属性
在JavaScript代码中,是没有public/protected/private等定义属性的关键词,但是我们可以通过模拟的方式来实现这个过程。
在JavaScript只有两种属性:
一种共有属性
一种私有属性
2、定义私有属性
在构造器内部,通过this定义的属性就是公有属性
在构造器内部,通过var定义的属性就是私有属性
<!DOCTYPE html> <html> <head> <meta charset=’utf-8′> <title></title> </head> <body> <script> function ren(){ this.name =’xiaohong'; //使用this定义公有属性 var age =’50′; //使用var定义私有属性 } //实例化shuo对象 var shuo = new ren(); alert(shuo.name); //xiaohong alert(shuo.age); //undefined </script> </body> </html>
3、私有属性的赋值与访问
在有些情况下,我们可能在运行需要对私有属性进行赋值与访问操作,那么如何实现呢?
<!DOCTYPE html> <html> <head> <meta charset=’utf-8′> <title></title> </head> <body> <script> function ren(){ this.name =’xiaohong'; //使用this定义公有属性 var age; //使用var定义私有属性 //定义一个公有方法实现对age属性的访问 this.geterzi = function(){ alert(age); } //定义一个公有方法对age属性复制操作 this.seterzi = function(jiang){ age = jiang; } } //实例化shuo对象 var shuo = new ren(); alert(shuo.name); //xiaohong alert(shuo.age); //undefined shuo.seterzi(’50’); shuo.geterzi(); </script> </body> </html>
如果一个私有属性只有get方法,那么其就是可读属性,如果一个私有属性只有一个set方法,那么其就是可写属性,两者同时具有就是可读可写属性。