夺命雷公狗---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方法,那么其就是可写属性,两者同时具有就是可读可写属性。

原文地址:https://www.cnblogs.com/leigood/p/5032032.html