javascript - Solidity 中的这个语法是什么意思?为了 (;;) {}

标签 javascript ethereum solidity smartcontracts ganache

有人可以向我解释一下整个 else block 的作用吗?

它会迭代一次吗?

modifier checkEpoch {
        uint256 _nextEpochPoint = nextEpochPoint();
        if (now < _nextEpochPoint) {
            require(msg.sender == operator(), 'Epoch: only operator allowed for pre-epoch');
            _;
        } else {
            _;

            for (;;) {
                lastEpochTime = _nextEpochPoint;
                ++epoch;
                _nextEpochPoint = nextEpochPoint();
                if (now < _nextEpochPoint) break;
            }
        }
    }

最佳答案

我从未在solidity中使用过它,但在c和javascript中它用于无限循环。

For循环将一直持续到这个条件

if (now < _nextEpochPoint) break;

它不是一个运算符。 for循环有3个参数

for (int i = 1; i <= 12; i++){}

我们不传递初始值、最终值和条件,而是将它们留空

for (;;){}

关于javascript - Solidity 中的这个语法是什么意思?为了 (;;) {},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73536042/

相关文章:

javascript - 如何使用带有特定分隔符的 Javascript 在下拉列表中选择多个选项

javascript - Spring Security CSRF token 不适用于同一 JSP 中的 AJAX 调用和表单提交

blockchain - 部署以太坊专用网络

ethereum - 如何使用 web3j java 签署 erc20 token 交易

node.js - Web3 + 坚固性 : Passing in arguments to a contract's constructor

ethereum - Truffle 控制台变量声明

javascript - 在javascript中比较数组

ethereum - 如何修复 'Truffle Migrate' 字节码未定义错误

automated-tests - 修改已更改对象的子句错误

javascript - Angular 告诉我 float 不是数字