首页 > 编程语言 > 详细

JavaScript对象访问器属性

时间:2018-03-24 12:30:46      阅读:179      评论:0      收藏:0      [点我收藏+]

  对象访问器就是setter和getter,他们的作用就是

    1. 提供另外一种方法来获取或者设置对象的属性值,
    2. 并且在获取和设置的时候,可以用一定的其他操作。

  看下面代码:

<script>
	var person = {
		_name : "abc",   //注意此处的_name有一个下划线
	};
	Object.defineProperty(person,"name",{ 
		//注意第二个参数的前面没有下划线,所以_name和name是两个不同的属性
		set : function(value){
			this._name = "new name " + value;   
			//注意这里是给_name属性赋值
		},
		get : function(){
			return "this is name get by function : " + this._name;  
			//注意这里是返回字符串加上_name的值
		}
	});
	//到这里,person于是就有了两个属性:_name和name属性

	// 直接获取_name属性
	console.log(person._name);  //abc

	//通过name属性来间接获取_name的值,因为会执行name属性的getter访问器属性(方法)
	console.log(person.name);   //this is name get by function : abc

	// 直接修改_name属性
	person._name = "xyz";
	console.log(person._name);  //xyz

	//修改name属性,但是name属性的setter访问器属性(方法),会作用到_name属性上
	person.name = "wtf"; 		//该字符串会在前面加上new name,然后在赋值给_name
	console.log(person._name);  //new name wtf
	console.log(person.name);	//this is name get by function : new name wtf
</script>

  

 

JavaScript对象访问器属性

原文:https://www.cnblogs.com/-beyond/p/8638296.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!