JS中的get和set方法。
1.什么是get和set方法。get是获得属性的一种方法。set是设置属性的一种方法。get负责查询,不带任何参数。set负责设置,是通过参数的形式传递。2.get和set的使用方法。get和set是方法,所以可以进行判断。get一般是得到,需要返回。set是创建,不需要返回。每一个对象都有一个get和set方法。如果调用的是对象内部的属性,命名格式是变量名前面添加。3.get和set的定义。在对
·
1.什么是get和set方法。
- get是获得属性的一种方法。
- set是设置属性的一种方法。
- get负责查询,不带任何参数。
- set负责设置,是通过参数的形式传递。
2.get和set的使用方法。
- get和set是方法,所以可以进行判断。
- get一般是得到,需要返回。
- set是创建,不需要返回。
- 每一个对象都有一个get和set方法。
- 如果调用的是对象内部的属性,命名格式是变量名前面添加。
3.get和set的定义。
- 在对象初始化时定义。
- 在对象定义后定义。
//在对象初始化时定义。
var obj={
a: 1,
b: 2,
set c(x){
console.log('c被赋值',x);
c=x;
},
get c(){
console.log('c被取出',c);
return c
}
};
obj.c=7 //c被赋值 7
obj.c //c被取出 7
//对象初始化之后可以这样添加属性
var obj={
a: 1,
b: 2
};
obj.__defineGetter__('c', function(){
return c
});
obj.__defineSetter__('c', function(x){
c = x
});
//或者使用
Object.defineProperty(obj, 'c', {
set:function(x){
console.log('c被赋值',x);
c=x
},
get:function(){
console.log('c被取出',c)
return c
}})
obj.c=3 //c被赋值 3
obj.c //c被取出 3
例子:
var person={
_name:"lisi",
_age:18,
//_name的只读。
get name(){
return this._name;
},
//_age的读写。
set age(Age){
this._age=Age;
},
get age(){
return this._age ;
}
};
console.log(person._name+" "+person._age);//lisi 18
person.name='lily';
person.age=21;
console.log(person.name+" "+person.age);//lisi 21
console.log(person._name+" "+person._age);//lisi 21
//因为_name只读不写,所以name不会发生改变。
更多推荐
已为社区贡献2条内容
所有评论(0)