2017-07-11 24 views
1

したがってimgはオブジェクトであり、キーは関数の名前であり、値は関数です。img.variableはコンストラクタではありません

 img = { logoUploader: [Function: Uploader], 
 
     homeSliderUploader: [Function: Uploader], 
 
     navLogoUploader: [Function: Uploader], 
 
     homeLogoUploader: [Function: Uploader], 
 
     sideNavLogoUploader: [Function: Uploader], 
 
     AuthLogoUploader: [Function: Uploader], 
 
     AuthBackgroundUploader: [Function: Uploader] 
 
}

そして私は、IMGをループにしたいとオブジェクトのキーを取得し、VARに設定することでその機能を呼び出すためにそれを使用。このコードを実行すると、img.variable is not a constructorエラーが発生します。ループ内で私はVAR uploader = new img.logoUploader()をハードコーディングするとき文句を言わないvariableが動作しないので、なぜそれが完璧に動作することである私が理解しない

for (var variable in object) { 
 
    if (object.hasOwnProperty(variable)) { 
 
     console.log(variable) 
 
     var uploader = new img.variable() 
 
    } 
 
    }

variableは、最初のループでlogoUploaderする必要があります。

答えて

1

可変プロパティ名を処理する場合は、ここで[]という表記法を使用する必要があります。

new img[variable]() 
+0

ありがとうございます –

+0

@DavidRamirezあなたは歓迎です:) –

関連する問題