时间:2021-05-26
以前在写项目过程一直都没有使用过Javascript的setter与getter方法,所以对其是一种要懂不懂的概念;今天看书看到这个知识点,还是模模糊糊的,于是就打算研究研究;
Javascript对象的属性是由名字,值和一组特性构成的。那么首先,来了解一下对象的两种属性:
数据属性,我们经常使用,应该很熟悉
访问器属性,也称存取器属性
何为存取器属性?就是一组获取和设置值的函数。在ECMAScript5中,属性值可以用一个或两个方法设置,这两个方法就是getter和setter;因此getter和setter定义的属性被称为存取器属性。
var o = { get val(){ return ; }, set val(n){ }}上面的就是一个存取器属性定义的最简单的方法,可以看出getter和setter方法其实就是取代function的一个函数。
var o = { a:3, get val(){ return Math.pow(this.a,2); }}console.log(o.val);//9o.val = 100;console.log(o.val);//9getter方法是无参数,并且有返回值的;当单独设置getter方法时,只能获取属性值,无法更改其定义的属性值的,保证了数据的安全性;
var o = { a:3, set val(n){ this.a = n; }}console.log(o.val);//undefinedsetter方法是有参数,没有返回值的;当单独设置setter方式时,是无法读取属性值的;
var o ={ a:3, get val(){ return Math.pow(this.a,n); }, set val(n){ this.a = Math.max(this.a,n); }}console.log(o.a);//3console.log(o.val);//9o.val = 10;console.log(o.a);//10console.log(o.val);//100通过上面的代码可以看出,其中this是指其对象(即代码中的“o”);
var o ={ a:3, get val(){ return Math.pow(this.a,n); }, set val(n){ this.a = Math.max(this.a,n); }}o.val = 10;var foo = Object.create(o);console.log(foo.val);//10foo.val = 9;console.log(foo.val);//10另外,存取器属性也是可以被继承的;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
IDEA快速创建getter和setter方法找到generate我的是Mac,右击鼠标就可以打开,相信windows也不难。选择getter和setter选择
Getter是一种获取一个属性的值的方法,Setter是一种设置一个属性的值的方法。可以为任何预定义的核心对象或用户自定义对象定义getter和setter方法
实体对象如下:/**使用lobmok插件*/@Getter@Setter@NoArgsConstructor@ToString@EqualsAndHashCod
java中,对于非boolean类型的参数,getter和setter方法命名的规范是以get和set开头,如下:privateStringSuccess;pu
jQuery的setter/getter共用一个函数,通过是否传参来表明它是何种意义。简单说传参它是setter,不传它是getter。一个函数具有多种意义在编