0

今日、JavaScript でコードを調べていたところ、突然、このスニペットが存在する状況に遭遇しました。

add: function (value) {
    var current = null;
    if (this._root === null) {
        this._root = node;
    } else {
        current = this._root;

        while (true) {
            // Some code goes here.
        }
    }
}

条件while(true)は常に true になります。なぜここに条件が置かれているのか、頭に浮かびません。

4

3 に答える 3

1

私の意見では、これは非常に悪い習慣です。
条件付きループでは、常に条件をブール変数にバインドする必要があります。これは単純に、変数を使用すると、その値を後で変更できるためです。私が見る限り、これは無限ループのように見えます。
ただし、そのループ内のコードをよく見ると、if ステートメントでおそらく break ステートメントを使用してその無限ループから抜け出すための条件が見つかる場合があります。

于 2013-05-04T23:46:24.100 に答える