4

そこで、奇妙なことが起こった..

通常、私は次のようにグローバル変数を割り当てます。

orders = [];
pOrders = [];

しかし、私は怠け者で、次のように書きました。

orders = pOrders = [];

同じ意味ですよね??

配列にも配列データpOrderが含まれていたためではないようです。ordersコードのバグを探して 15 分間座っていましたが、何も見つからなかったので、通常どおりに変数を書き込んでみましたが、うまくいきました。なぜこれが起こるのですか?

PHP ではロジックは同じですが、JavaScript では動作が異なるようです。

どなたか情報や知識を教えてください..

4

4 に答える 4

5

最後に書いたコードは次と同じです。

orders = [];
pOrders = orders;

これで、同じ配列への参照である 2 つの変数ができました。それが、あなたがこの行動を経験している理由です。

代わりに、最初の例で行ったように実行すると:

orders = [];
pOrders = [];

次に、2 つの完全に分離した別個の配列があります。

于 2013-08-23T13:56:21.613 に答える
2

同じ配列インスタンスを参照するように両方の変数を割り当てました。

于 2013-08-23T13:56:24.047 に答える