当前位置:首页 > 日记 > 正文

JavaScript的setter与getter方法

JavaScript的setter与getter方法

以前在写项目过程一直都没有使用过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);//9

getter方法是无参数,并且有返回值的;当单独设置getter方法时,只能获取属性值,无法更改其定义的属性值的,保证了数据的安全性;

var o = {  a:3,  set val(n){    this.a = n;  }}console.log(o.val);//undefined

setter方法是有参数,没有返回值的;当单独设置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

另外,存取器属性也是可以被继承的;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

相关文章

JavaScript变量类型以及变量作用域

JavaScript变量类型以及变量作用域

变量类型,变量作用域,详解,电脑软件,JavaScript,变量类型ECMAScript变量可能包含两种不同类型的数据值:基本类型和引用类型。基本类型基本类型指的是简单的数据段,5种基本数据类型:undefined、null、boolean、number、string,基本数据类型是按…

在Excel表格中怎么插入图表气泡图

在Excel表格中怎么插入图表气泡图

气泡,图表,表格,电脑软件,Excel,  你有没有在Excel工作表中插入过气泡图呢?在很多情况下,大部分用户选择了柱形图或者是折线图,其实在我们的软件中气泡图也是值得大家一试的。以下是小编为您带来的关于在Excel表格中插入气泡图,希望对您有所…

JSP 注释的详解及简单实例

JSP 注释的详解及简单实例

简单实例,注释,详解,电脑软件,JSP, JSP 注释的详解及简单实例一 三种格式二 举例<body> <h1>大家好</h1> <hr> <!-- 我是HTML注释,在客户端可见 --> <%-- 我是JSP注释,在客户端不可见 --%> <% //单行注释 /*多行注释*/ out.p…

PHP实现的回溯算法示例

PHP实现的回溯算法示例

算法示例,回溯,电脑软件,PHP,本文实例讲述了PHP实现的回溯算法。分享给大家供大家参考,具体如下:问题: 一头大牛驼2袋大米,一头中牛驼一袋大米,两头小牛驼一袋大米,请问100袋大米需要多少头大牛,多少头中牛,多少头小牛?实现代码:<?php/* * k = 2x + y…

Photoshop绘制立体漂亮的拾色器图

Photoshop绘制立体漂亮的拾色器图

图标,教程,绘制,漂亮,电脑软件,使用Photoshop绘制立体漂亮的拾色器图标教程,步骤大致分为制作拾色器的底盘、绘制拾色器的内层两大部分,主要用到了图层样式,绘制的拾色器图标非常的精致漂亮,小编很喜欢,推荐给的朋友一起分享学习!效果图:主要过程:1…

excel中乘法公式运算的教程excel中

excel中乘法公式运算的教程excel中

运算,教程,乘法,公式,电脑软件,  Excel中乘法公式具体该如何操作运算呢?下面是由小编分享的excel中乘法公式运算的教程,以供大家阅读和学习。excel中乘法公式运算的教程1步骤1:选择乘数所在的单元格区域A1:A8,按&ldquo;Ctrl+C&rdquo;进行复制…

原生JS中slice | 方法和splice |

原生JS中slice | 方法和splice |

方法,原生,区别,电脑软件,slice,slice()方法和splice()方法都是原生js中对数组操作的方法。那么他两种有什么区别呢?今天通过本文教程给大家简单介绍下。slice(),返回一个新的数组,该方法可从已有的数组中返回选定的元素。例如:arrObject(start…

ps怎样合成一张马戏团大象和老鼠滑

ps怎样合成一张马戏团大象和老鼠滑

马戏团,滑板,大象,老鼠,电脑软件,ps怎样合成一张马戏团大象和老鼠滑板表演的图片?运用PHOTOSHOP软件,可以很简单的制作大家想要的照片,下面和小编一起来看看具体步骤吧。最终效果教程步骤:12 3 4 5 6 7 8 阅读全文1 23 4 5 6 7 8 阅读全文1 …

微信小程序 sha1 实现密码加密实例

微信小程序 sha1 实现密码加密实例

加密,密码,详解,实例,程序,微信小程序 sha1 实现密码加密实例详解在utils中的util.js 文件中增加 函数 实现 字符串转换为16进制加密后的字符串function encodeUTF8(s) { var i, r = [], c, x; for (i = 0; i < s.length; i++) if ((c = s…

ps怎么给添加像素化特效?

ps怎么给添加像素化特效?

像素,特效,电脑软件,ps,利用ps制作像素化人物特效,主要使用了ps的颜色通道和彩色半调功能,现在就把操作步骤和截图分享出来,供大家参考使用,希望对你有所帮助。软件名称:Photoshop CS5 绿色版官方中文正式原版软件大小:104.06MB更新时间:2014-06-0…

QQ空间怎么快速搜索好友动态

QQ空间怎么快速搜索好友动态

动态,空间,快速搜索,好友,电脑软件,  QQ空间怎么快速搜索好友动态?QQ空间新增空间搜索功能,大家开来尝鲜吧。跟随小编,一块看看如何搜索QQ空间好友动态,需要的朋友可以参考下.欢迎大家前来阅读!QQ空间怎么快速搜索好友动态  1、点击appsto…

PPT2013中怎么做让文字波浪起伏效

PPT2013中怎么做让文字波浪起伏效

波浪,文字,效果,怎么做,电脑软件,  在PPT2013中插入文本框之后,输入文字,文字是没有任何效果的,如果给文字添加一些动画效果,在幻灯片放映时毫无疑问会更加生动有趣。以下是小编为您带来的关于PPT2013中让文字波浪起伏效果,希望对您有所帮助。…