2017-09-20 8 views

答えて

4

fontNameが非同期で埋められていると仮定します。オブジェクトのロギングはそれ自体が同期していないので(参照によってログに記録されるため、後で適用されても変更が反映されます)、オブジェクトの内容がログに表示されますが、それまでは未定義です。 質問について:はい、これはオブジェクトの要素にアクセスするための適切な方法です。だから問題は別の場所にあるはずです

+0

これは最も可能性の高い説明です。デベロッパーコンソールで「i」にカーソルを合わせると、 – George

+0

@Patrick Kelleter、fontNameがで定義されていますajax呼び出しのコールバック関数と値は、ディレクトリ内のファイル名です。 –

+0

コールバック関数で定義されているとき、それは私が想定したように非同期で定義されていることを意味します。したがって、コールバック関数の外でそのオブジェクトにアクセスすると、まだ完了していない時間には未定義になる可能性があります。この特定のケースで何が起こっているのかを知るためには、javascriptの非同期動作を詳しく見てください –

関連する問題