首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >javascript函数是否具有可变状态的引用透明性?

javascript函数是否具有可变状态的引用透明性?
EN

Stack Overflow用户
提问于 2018-10-22 21:54:14
回答 1查看 407关注 0票数 0

Reading through this article on Javascript Functional Programming,它提到了引用透明度被定义为:

引用透明性:函数总是为相同的参数提供相同的返回值。这意味着函数不能依赖于任何可变状态。

IIUC Javascript函数满足这一要求,即使它们依赖于可变状态,因为两个函数即使同时运行也不能在共享状态下操作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-22 23:26:12

所以总结我们的讨论,是的,Javascript函数确实具有引用透明性,只要它们所依赖的可变状态不改变。

换句话说,当函数所依赖的可变状态保持不变时,将为相同的输入提供相同的输出。

这似乎有些显而易见,但对于Javascript和函数式编程来说,这是一个重要的概念/实现,因为Javascript不能同时在两个线程中运行函数。如果我们可以在函数运行时改变函数所依赖的状态,我们就可以创建难以推理的竞争条件,这将使函数结果不可预测,而这正是我们试图通过引用透明性来避免的。

例如,只要x不变,依赖于可变状态x的函数fn(5)将始终为相同的输入返回相同的结果。

在非Javascript环境中,可以在函数运行时更改x,因此两次调用fn(5)可能会返回不同的结果。

使用Javascript,如果fn(5)返回一个不同的结果,我们就知道原因了。这是因为在两次fn(5)调用之间更改了x

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52938276

复制
相关文章
R中的循环绘图
上面我们将每一张图都单独输出了,下面来介绍如何将其全部组合起来,分别介绍两种R包的方法gridExtra&patchwork
R语言数据分析指南
2022/09/21
4.3K0
R中的循环绘图
在Python中使用Matplotlib画多个绘图,so easy!
Python的Matplotlib库是使用最广泛的数据可视化库之一。使用Matplotlib,可以使用各种图表类型(包括折线图、条形图、饼图和散点图)绘制数据。
fanjy
2022/01/07
7.7K0
在Python中使用Matplotlib画多个绘图,so easy!
python for循环多个参数处理_python for循环嵌套
实际上,“使用for循环遍历数组的最简单方法”(Python类型被命名为“list”BTW)是第二种方法,即for item in somelist:
全栈程序员站长
2022/09/22
2.4K0
Python中一个for循环循环多个变量
首先,熟悉一个函数zip,如下是使用help(zip)对zip的解释。 Help on built-in function zip in module __builtin__: zip(...)     zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]     Return a list of tuples, where each tuple contains the i-th element     from each of the argument sequences.  The returned list is truncated
卡尔曼和玻尔兹曼谁曼
2019/01/22
5.2K0
for 循环中实现多个点击事件 原
(adsbygoogle = window.adsbygoogle || []).push({});
tianyawhl
2019/04/04
9030
绘图神器:BioRender的使用
注意:需要用最新版的Chrome打开页面,最新版也打不开的话就需要用VPN才可以打开。
科研菌
2021/02/19
28.4K0
绘图神器:BioRender的使用
使用CAShapeLayer绘图
之前讲过使用UIBezierPath在UIView的drawRect中绘图, 今天我们讲下另外一种方式: CAShaperLayer
周希
2019/10/15
1.2K0
使用CAShapeLayer绘图
多个单细胞样本数据的循环读取
上一期我们介绍了Seurat对象的构建方法,对于少数样本的数据时,我们可以采取将读取代码复制多遍以运行,如下所示。
小汪Waud
2023/02/16
2.2K0
Python for循环的使用
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170051.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
1.3K0
Python3中for循环多个变量详解
Python的 for 循环中,使用多个变量可以应用于列表或字典,但它不适用于一般错误。
程序新视界
2023/05/03
1.8K0
绘图-视图遮罩MaskView的使用
可以这样理解,是将maskView每个point的alpha赋值给View的重叠部分相对应的point,这样view的重叠每个point都有个alpha值了,view重叠部分就可能显示多种透明色。
進无尽
2018/09/12
2.2K0
绘图-视图遮罩MaskView的使用
循环绘图和多分组多基因(变量)差异展示
经常遇到‘一个循环绘制每一个差异基因在肿瘤和正常的表达差异’和‘需要在一张图中展示多个差异基因在肿瘤和正常组的表达分布’需求。如下列两张图所示:
用户1359560
2021/12/06
1K0
循环绘图和多分组多基因(变量)差异展示
使用seaborn绘图(一)
seaborn是在matplotlib的基础上进行了封装和扩展,让python的数据可视化功能更加强大。
用户6021899
2020/05/13
5140
python如何使用for循环_Python 中for循环的应用
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170074.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
7.5K0
【Python】 【绘图】plt.figure()的使用
figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
全栈程序员站长
2022/09/07
1.3K0
Python 海龟绘图:turtle库的使用
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的博客 🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 🥭本文内容:Python 海龟绘图:turtle库的使用 ---- Python 海龟绘图:turtle库的使用 1.turtle简介 2.turtle基础知识 2.1 画布 2.2 画笔 2.2.1 画笔的状态 2.2.2 画笔的属性 2.2.3 绘图命令 2.2.3.1 画笔运动命令 2.2.3.2 画笔控制命令 2.2
小嗷犬
2022/11/15
2.8K0
Python 海龟绘图:turtle库的使用
Python for循环的使用(三)
Python for循环的使用 (一)for循环的使用场景 1.如果我们想要某件事情重复执行具体次数的时候可以使用for循环。 2.for循环主要用来遍历、循环、序列、集合、字典,文件、甚至是自定义类或函数。 (二)for循环操作列表实例演示 使用for循环对列表进行遍历元素、修改元素、删除元素、统计列表中元素的个数。 1.for循环用来遍历整个列表 #for循环主要用来遍历、循环、序列、集合、字典 Fruits=['apple','orange','banana','grape'] for
py3study
2020/01/06
9820
推荐平时使用最多的绘图软件!!!
之前画图一般都是使用processOn(https://www.processon.com/),缺点就是只能通过网站画图,并且存在云端,不花钱想白嫖,只能画几张。
秦怀杂货店
2022/02/16
9530
推荐平时使用最多的绘图软件!!!
多个php版本的composer使用
因为项目中使用swoole开发,一直使用win10 ubuntu子系统开发,随着代码量的增加,每次启动越来越慢。swoole官方提供了一个windows版swoole,启动速度特别快。但是由于其使用cgwin编译,所以无法正常使用composer,每次都需要切换php的环境变量。于是就想能不能让composer 识别我原来的php版本。打开composer的根文件试试真的可以。
高久峰
2023/06/29
6970
点击加载更多

相似问题

使用循环的多个绘图

114

使用for循环创建多个绘图

25

使用for循环创建多个绘图?

135

如何使用for循环创建多个绘图

11

从dataframe创建多个使用for循环的绘图

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档