6

ウィンドウ間でデータを渡すために、メソッドを介して新しいウィンドウを開きwindow.open、新しく開いたウィンドウのプロパティをオブジェクトに設定します。これにより、データを渡すだけでなく、変数のインスタンスを共有できます。つまり、オブジェクトまたはその派生プロパティのいずれかを1つのウィンドウで変更すると、すべてのウィンドウで変更されます。

ただし、問題は、instanceof演算子で何かが非常におかしくなっていることです。

私がする時

typeof m
m instanceof Object

最初の行は戻り"object"、2番目の行は。を返しますfalse

特に、配列とオブジェクトをチェックするためにinstanceof演算子が必要です。

これは例のフィドルです(警告:ページの読み込み時にウィンドウを開こうとするため、ポップアップブロッカーがウィンドウをブロックする可能性があります)。http://jsfiddle.net/Chakra/mxf2P/1/

4

1 に答える 1

6

ウィンドウObjectとソースウィンドウObjectは同じものではないため、一方のインスタンスがもう一方のインスタンスになることはありません。Object.prototype.toStringオブジェクトと配列を区別するために使用できます。

if(Object.prototype.toString.call(m) === '[object Array]') {
    // It's an array
} else {
    // It's not
}

可能な場合は、を使用することもArray.isArrayできます。

これがデモです。<iframe>ちなみに、ポップアップの代わりに使用します。)

于 2013-01-18T02:28:08.160 に答える