首页
学习
活动
专区
圈层
工具
发布

盘点JavaScript中getter()和setter()函数的使用

它们本质上是用于获取和设置值的函数,但从外部代码来看就像常规属性。 二、Getter 和 setter 访问器属性由 “getter” 和 “setter” 方法表示。...例: 有一个具有 name和 surname属性的对象 user:添加一个 fullName属性,该属性值应该为 "John Smith"。...这就是访问器属性的设计思想。不以函数的方式 调用 user.fullName,正常 读取 它:getter 在幕后运行。 截至目前,fullName只有一个 getter。...例: 如果想禁止太短的 user的 name,可以创建一个 setter name,并将值存储在一个单独的属性 _name中: let user = { get name() { return...六、总结 本文基于JavaScript基础,介绍了getter 和 setter函数的使用。对于其中的属性,通过案例的样式,运行效果图的展示,进行详细的讲解。

2.5K11
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    详解javascript中的即时函数,内部函数,能重写自身的函数即时函数内部函数返回函数的函数能重写自己的函数小结

    在上篇谈到匿名函数和回调函数的基础上,我们接着介绍javascript中的即时函数,内部函数,返回函数的函数,能重写自身的函数等几种常见的函数类型及使用方法。...所以,一般来说即时函数通常用来执行一次性的操作或者异类初始化的任务。 内部函数 从上一篇文章中,我们显然知道,在javascript中,函数与其他类型的值在本质上是一样的,函数本身也是一种值。...返回函数的函数 正如之前所提到的那样,函数始终有一个返回值,即便不是显示的返回值么,它也会隐式的返回一个undefined,所以既然函数能返回一个唯一值,那么自然函数也能够返回一个函数。...} } 上面这段代码,在函数a中的返回了一个匿名函数。 我们调用这个函数 a(); a()(); 直接调用a会返回a中返回的函数 a()();的意思是调用a,在调用a的返回的函数。...请注意,返回值中是不带括号的,因此该结果仅仅是一个函数的引用,并不会产生函数的调用。 由于这里执行语句是以var a = 开头的所以我们这里也使用了能重写自己的函数

    2.5K11

    (JavaScript)前端小白还没学JS吗?跟着本文开启JS的旅程吧!(四):函数的创建(基本创建、声明式创建、立即执行函数);函数传参、对象方法(函数)调用、函数返回值

    JavaScript函数 函数function 函数也是一个对象 函数中可以封装一些功能(代码),在需要的使用可以执行这些功能(代码) 函数中可以保存一些代码在需要的时候调用 使用typeof检查一个函数对象时...,会返回function 函数的创建 //1.使用构造函数创建一个函数对象 //2.使用函数声明创建一个函数 //3.使用函数表达式创建一个函数/匿名函数 {//代码块 console.log("苹果...函数中的代码会在函数调用的时候执行 调用函数:语法 函数对象(); 当调用函数时,函数中封装的代码会按照顺序执行 函数声明创建 使用函数声明来创建一个函数(建议使用方式) 语法: function...; fun3(); 声明式创建匿名函数 const a = (b...) => { console.log("声明式创建匿名函数") } 函数参数 定义一个用来求两个数和的函数 可以在函数的()中来指定一个或多个形参...创建一个函数,用来计算三个数的和 思路: 可以通过return 来返回函数的返回值 语法:return 值; return 后面值将会作为函数的执行结果返回,可以定义一个变量来接收函数的返回值 在函数

    19110

    【JavaScript】函数 ⑤ ( return 关键字终止函数 | return 关键字返回一个值 | return 关键字返回多个值 - 返回数组对象 )

    一、JavaScript 函数返回值 1、return 关键字终止函数 return 关键字 除了 返回 函数返回值 功能之外 , 还具有 终止 函数执行 的作用 , return 关键字后面的语句...: 2、return 关键字返回一个值 在函数中 , return 关键字 只能 返回一个 返回值 ; 如果 使用 return 关键字 返回 多个返回值 , 并且 使用逗号隔开 , 则只有最后一个返回值生效...; 代码示例 : 在下面的代码中 , return 关键字 返回了 三个 返回值 , 分别是 num1, num2, num1 + num2 , 此时只有最后一个返回值是生效的 , 也就是返回 num1... 执行结果 : 只返回了最后一个值 ; 3、return 关键字返回多个值 - 返回数组对象 如果需要返回多个值 , 可以 使用 return 关键字 返回一个数组...; JavaScript 中的数组 相当于 Java 中的 ArrayList , 可以动态改变元素个数 ; 代码示例 : 在下面的代码中 , add 函数返回一个数组 [num1, num2, num1

    1.3K10

    函数的返回值指向一个指针

    函数的返回值类型必须与函数体内的返回表达式的类型相匹配。如果类型不匹配,编译器会报错。此外,C 语言中的函数只能返回一个值,如果需要返回多个值,可以使用结构体或指针等方式来实现。...在 main() 函数中,创建两个 Point 类型的结构体 p1 和 p2,并将它们传递给 add() 函数。...在调用 apply() 函数时,将一个名为 print() 的函数指针作为参数传递给它,这个函数会将整型参数打印到标准输出中。...int (*p)(int, int); 定义了一个名为 p 的指向函数的指针变量,这个函数返回值类型是 int,有两个整型参数。这个函数指针可以指向一个具有相同返回值类型和参数列表的函数。...最后,再次输出 x 和 y 的值,发现它们的值已经被成功交换了。

    1.4K20

    C++返回指针值的函数 | 按字母顺序由小到大输出

    C++指向函数的指针作函数参数 学到这里的读者应该知道在C语言中,函数指针变量常见的用途之一是作为函数的参数,将函数名传给其他函数的形参,这样可以在调用一个函数的过程中根据给定的不同实参调用不同的函数,...C++返回指针值的函数 在C++中,一个函数可以带回一个整型值、字符值、实型值 等,也可以带回指针型的数据,即地址,带回的值的类型是指针类型,返回指针值的函数简称为指针函数。 ...定义指针函数的一般形式为  类型名 *函数名(参数列表); C++指针数组 在C++中,如果一个数组,其元素均为指针类型数据,该数组称为指针数组,也就是说,指针数组中的每一个元 素相当于一个指针变量,它的值都是地址...(name,number);//调用print函数    return 0; //函数返回值为0;  }  void sort(char *name[],int number)//自定义排序函数  {...C++返回指针值的函数 | 按字母顺序由小到大输出 更多案例可以go公众号:C语言入门到精通

    2.3K2118

    C语言中的函数为什么只能有一个返回值输出?怎么实现多个值输出?

    这是典型的C语言中函数模块中的返回值问题,算是常见的语法细节,很多人觉得C语言已经过时了,只能代表着这类人还不算是真正的技术人员,在嵌入式领域C语言依然充当着非常重要的角色,C语言在很多领域还是首选编程语言...常见的C语言难点有指针,结构体,函数,递归,回调,数组等等,看起来没多少东西,每个概念都能延伸很多功能点,今天的题目其实就是函数模块中的返回值的问题,面向对象编程的基本单元就属于函数,函数包括参数输入,...具体功能实现,最后是结果的输出,也就是这个题目的返回值,在正常情况下函数的返回值只有一个,但在实际编程中需要用到多个,在设计时候还是归结成一类,如果类型相近可以弄成数组方式,如果类型不太一致直接放在结构体中执行...2.结构体指针返回 结构体是C语言涉及数据结构的最直接的容器,通常在编程过程中实现一个功能模块,模块中的数据通常都会放在一个结构体中,在在功能函数中对结构体中的数值进行操作,因为结构体中可以放足够多的变量...,如果函数返回值是个指针的话,就能把整个结构体里面的内容返回出来,同样能够达到返回多个数值的作用,这种在平常的编程过程中用的最多,C语言中使用最频繁的关键点就是指针了,但也是很多初学者最不好理解的知识点

    8.5K30

    Array对象---返回传入一个测试条件(函数)符合条件的数组第一个元素位置。->findIndex()

    定义: 返回传入一个测试条件(函数)符合条件的数组第一个元素位置。...为数组中的每个元素都调用一次函数执行: 当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。...如果没有符合条件的元素返回 -1 对于空数组,函数是不会执行的 没有改变数组的原始值 array.findIndex(function(currentValue, index, arr), thisValue...当前元素的索引 3、arr 可选。...(checkAge); 输出值为1,操作为返回数值为12的索引,即索引1 与indexOf()不同,indexOf()为返回数组中某个指定的元素位置 , findIndex()的查询条件则是一个函数

    2K30

    一个类如何实现两个接口中同名同参数不同返回值的函数

    String类型,只是返回值一个是String一个是Int,现在我们要声明一个类X,这个类要同时实现这两个接口: public class X:IA,IB 由于接口中要求的方法的方法名和参数是一样的...,所以不可能通过重载的方式来解决,那么我们该如何同时实现这两个接口拉?...解决办法是把其中的不能重载的方法直接写成接口的方法,同时要注意这个方法只能由接口调用,不能声明为Public类型的.所以X的定义如下: public class X:IA,IB {     public...IB.GetA(string a)//实现IB接口     {         Console.WriteLine("IB.GetA");         return 12;     } } 同样如果有更多的同名同参不同返回值的接口...,也可以通过"接口名.函数名"的形式实现.

    4.2K20

    Object.defineProperty方法详解

    定义 Object.defineProperty() 方法在 JavaScript 中被用来直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回这个对象。...get:一个函数,作为 getter,当访问此属性时会被调用。 set:一个函数,作为 setter,当修改此属性时会被调用。...get 一个函数,作为 getter,当访问此属性时会被调用。 如果没有 getter 函数,那么尝试访问该属性将返回 undefined(除非同时设置了 value)。...对其他方法的影响:无直接影响,但 getter 函数的返回值会替代属性的值,并可能影响依赖于该属性的其他代码。 set 一个函数,作为 setter,当修改此属性时会被调用。...如果没有 setter 函数,那么尝试设置该属性的值将静默失败(不会报错,除非属性是只读的)。

    48610

    【C++】输入输出流 ③ ( cin 输入流对象 | cin.get() 函数获取一个字符数据并返回 | cin.get(char c) 函数获取一个字符数据到变量中 )

    文章目录 一、cin.get() 函数获取一个字符数据并返回 ( 无参数 ) 1、cin.get() 函数获取一个字符数据 2、输入流缓冲区概念 3、代码示例 - cin.get() 函数获取一个字符数据...c) 函数获取一个字符数据到变量中 一、cin.get() 函数获取一个字符数据并返回 ( 无参数 ) 1、cin.get() 函数获取一个字符数据 cin.get() 函数 , 一次从键盘输入一个字符...; 输出缓冲区 : 当 程序 向 文件 写出 数据时 , 数据首先被 写出到 输出缓冲区 , 这种缓冲机制可以减少磁盘 I/O 操作的次数 , 从而提高程序的性能 ; 3、代码示例 - cin.get...( 1 个参数 ) 1、cin.get(char c) 函数获取一个字符数据到变量中 首先 , 声明 char 类型的变量 ; char a, b, c; 然后 , 调用 cin.get(char c...) 函数获取一个字符 , 将获取的字符数据 保存到 变量 c 中 ; cin.get(c); 2、完整代码示例 - cin.get(char c) 函数获取一个字符数据到变量中 完整代码示例 : #include

    2.7K10

    JavaScript之面向对象的概念,对象属性和对象属性的特性简介

    一、大家都知道,面向对象语言有一个标志,那就是他们都有类的概念,通过类我们可以创建任意多个具有相同属性和方法的对象。...正应为这样,我们可以把ECMAScript的对象想象成散列表;无非就是一组键值对,其中值可以是数据或函数。每个对象都是基于一个引用类型创建的。...,且类似与面向对象里面的类属性,他们都包含一对getter和setter函数,在读取访问器属性时,会调用getter函数,这个函数会返回有效的值,在写入访问器属性时,会调用setter函数并写入新值,这个函数负责决定如何处理数据..._year前面的下划线十一找那个常用的标记,用于表示只能通过通过对象方法访问的属性。而访问器属性year则包含一个getter函数和setter函数。...getter函数返回_year值.这里不一定要同时指定getter和setter。只指定getter意味着属性是不能写,只指定setter意味着只写,无法获取属性值。

    3.9K60

    计算属性是如何被Vue实现的

    __v_isReadonly 这个属性表示该 computed 是否可写,通常情况下如果一个 computed 仅具有 getter 函数(或者仅传入一个函数时)那么它既是仅具有 getter 。...那么,此时该 computed 是不可写的因为它并不具有 setter 。反之,get/set 都具有时该属性为 false。...,将函数作为 getter 传入 getter = getterOrOptions // 同时 setter 会默认在开发环境下赋为一个禁止修改的 log 函数 setter =...这里我们的 computed 自然是依赖 getter 函数中的数据,自然我们需要将第一个函数传入对应的 getter 从而在将当前 computed 对应的 effct 和 getter 函数中的数据进行关联...访问 computed 的 value 时,会调用self.effect.run() 会执行当前 Effect 中的传入的函数(Effect 中第一个参数)。 同时获取返回值保存进入 self.

    1.1K30

    达观数据前端分享:理解 JavaScript 中的对象的属性

    JavaScript原生提供一个Object对象,所有其他对象都继承自这个对象。Object本身也是一个构造函数,可以直接通过它来生成新对象。...(达观数据http://www.datagrand.com 赵业辉) 1.2访问器属性 访问器属性不包含数据值,它们包含一对getter()和setter()函数(这两个函数都不是必须的)。...在读取访问器属性时,会调用getter()函数,这个函数负责返回有效的值;在写入访问器属性时,会调用setter()函数并传入新值,这个函数负责如何处理数据。...year 的访问器属性包含getter()函数和setter()函数。getter()函数返回_year 的值,setter()函数通过计算得出_year 和edition 的值。...只指定setter()函数意味着属性不可读,在非严格模式下回返回undefined,在严格模式下会抛出错误: ?

    2.3K90
    领券