2017-02-05 11 views
0

私は解決策を見つけることができなかった奇妙な問題があります。これは、誰もこの問題を抱えていないか、Googleが何をどうやって失われているのかもしれないからかもしれません。私のJavaScriptオブジェクトには長さフィールドがありません

ここでは何が起こっているのですか?私はデモを学ぶRock-Paper-Scissorsマシンを構築しています。スクリプトに重要な2つのJavaScriptオブジェクトがあります。これらの2つのオブジェクトは、winners(何が何を鳴らしているかを格納するオブジェクト)とhistory(すべてのプレイを追跡します)です。私のスクリプトの最上部に

、私のような、それらのオブジェクトの両方を行います。

var winners = { 

} 

var history = { 

} 

は、今私は、問題になっています。私はコードの残りの部分を行っていますが、コメントアウトするとp5.jsを使用しているので、私は両方のオブジェクトを単に出力するプリロード機能を持っているので、無関係です。

次にChromeに入り、スクリプトを使用するhtmlを実行して、コンソールを開きます。私は参照してください:

Object {} 
Object {} 

しかし、NOPE!

Object {} 
History {length: 1, scrollRestoration: "auto", state: null} 

winnersオブジェクトは空のオブジェクトですが、私の履歴オブジェクトにはlength属性と他のものがあります。私の他のコードはすべてコメントアウトされています。

私の履歴オブジェクトには何が入っていますか?どのように削除できますか?

enter image description here

+0

Daneel、私はあなたの質問のいくつかを編集した "ジャワ":

あなたはでそれについての詳細を読むことができます"と" JSON "は互換性のない同義語として使用されています。それぞれは異なる技術を表し、決して正確であることを傷つけることはありません。 –

答えて

4

ブラウザを使用すると、コンソールログで見ているものですwindow.historyオブジェクトが含まれています。このオブジェクトの詳細については、こちらを参照してください。https://developer.mozilla.org/en-US/docs/Web/API/Window/history

この問題を回避するには、履歴オブジェクトに若干異なる名前を使用してください。

+0

入手しました。ありがとうございました!!私はそれができるようになるとすぐにあなたの答えを受け入れます。 –

+0

おかしい:Firefoxはコンソールでこれについて警告します(* TypeError:getter *だけのプロパティを設定する)が、Chromeはそれを破棄して変更を受け入れるようにふります。 –

関連する問題