gpt4 book ai didi

javascript - 为什么javaScript中的这个循环函数不是每次都返回0?我将如何在 python 中做类似的事情?

转载 作者:行者123 更新时间:2023-12-01 01:12:00 24 4
gpt4 key购买 nike

我是编程新手,在了解了一些 Python 后,正在学习一些 JavaScript。我正在使用 javaScript 来控制移动 AR 应用程序内的元素,并且创建了一个非常简单的循环器功能,该功能完全按照我想要的方式工作,但老实说,我试图理解它为什么有效!我想要一个在每次点击时循环 1、2、3 的函数。第一次点击将返回“1”,第二次点击“2”,第三次点击“3”,然后在其他点击上重复此序列。以下是我经过大量尝试、错误和谷歌搜索后得出的结论:

const cycler = {
current: -1,
cycle: function() {
if (cycler.current == 3) {
cycler.current = 0;
} else {
cycler.current++;
}
console.log(cycler.current);
}
}

cycler.cycle()
cycler.cycle()
cycler.cycle()
cycler.cycle()
cycler.cycle()

在点击事件上,我调用cycler.cycle();它有效...返回 1,2,3,1,2,3 等。对应于我的点击...但我不明白为什么它不只是返回 0 每次我点击。为什么每次我调用此函数时,“当前”不重置为“-1”?我将如何在 python 中做类似的事情?我怎么看待这个问题?感谢您的任何见解!

最佳答案

您的cycler是JavaScript中的对象文字。它有一个属性 current 和一个方法 cycle。调用该方法不会重新创建对象,它只是运行该函数。
如您所知,该函数只是增加 current 属性的值(当然,除非当前值为 3,在这种情况下,它会将值重置为 0。)

在 python 中,您可以创建一个创建计数器对象的类。它的构造函数将包含与您在此处创建的对象非常相似的代码。
如果您继续从该类创建新实例并在每个实例上调用一次 .cycle ,您的日志将包含一堆 0,正如您所期望的。
但是,如果您在同一个实例上重复调用 .cycle,您将得到此处发现的行为。

关于javascript - 为什么javaScript中的这个循环函数不是每次都返回0?我将如何在 python 中做类似的事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55084491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com