<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>数据属性和访问器属性</title>
<script src="js/jquery.min.js"></script>
<script>
模板
var obj ={
get 空格 属性名(){
return 属性值;
},
set 空格 属性名(value){
//需要接收到的value作处理
实例 //访问器属性 // 看起来像函数但是调用起来像是属性,
// 并未真正存储数据,只是用来操作数据
var circle={
r:10, //数据属性(半径)
get size(){//size属性的getter访问器(只有get访问器属性时是只读的,即只能调用获取值但是不能设置新值)
return Math.PI*this.r*this.r;//知道半径求面积
},
set size(value){//size属性的setter访问器,可读也可以写
this.r=Math.sqrt(value/Math.PI) ;//知道面积求半径(平方根)
}
};
alert(circle.size);//调用属性的getter访问器
circle.size=31400;//调用属性的setter访问器
alert(circle.r);
注意:1、访问器属性的本质是两个函数,若想要读取访问器属性的值,会自动调用get访问器;
2、若想为访问器属性赋值,会自动调用set访问器,并把等号右边的值传递给set访问器的形参,
3、访问器属性不能存储数据,所以访问器属性往往依赖于其他的数据属性,
4、访问器属性一般用于两个场合:冗余属性(某些不能定义死的属性值(面积、周长等))、有意控制属性的只读(get访问器)或者只写(set访问器)
</script>
</head>
<body></body>
</html>