2017-09-19 19 views
-2

は私のコードです:関数内で定義された変数を関数外で使用する方法は?ここ

function gotData(data) { 
    console.log(data.val()) 
    var promotions = data.val() 
    var keys = Object.keys(promotions) 
    console.log(keys) 
    for (var i = 0; i < keys.length; i++) { 
    var k = keys[i] 
    var name = promotions[k].promotionName 
    var description = promotions[k].description 
    var validityFrom = promotions[k].validityPeriodFrom 
    var validityTo = promotions[k].validityPeriodTo 
    var dateCreated = promotions[k].dateCreated 
    var dateUpdated = promotions[k].dateUpdated 
    } 
} 

私はgotData関数の外で変数名、説明、validityFrom、validityTo、dateCreatedとdateUpdatedにアクセスするにはどうすればよいですか?

+0

これはほぼすべてのプログラミング言語の基礎知識です。 – Marty

+0

'myObj.promotionName = promotions [k] .promotionName' – Weedoze

+0

https://stackoverflow.com/questions/5786851/define-global-variable-in-a-javascript-function' var myObj = {} 'は関数外です。このリンクはあなたを助けます。 –

答えて

0

関数のスコープ内で定義された変数は、その関数のローカルなものではなく、その関数を残したままにしておくことはできません。これらの両方の方法を使用して、関数内で変更されたデータにアクセスすることができます。

aryResultsは、抽出されたすべてのデータを含む配列です。

-1

あなたはグローバル変数を作成し、

var globalvar = []; 

function gotData(data) { 
    console.log(data.val()) 
    var promotions = data.val() 
    var keys = Object.keys(promotions) 
    console.log(keys) 
    for (var i = 0; i < keys.length; i++) { 
    var k = keys[i] 
    globalvar.name = promotions[k].promotionName 
    globalvar.description = promotions[k].description 
    globalvar.validityFrom = promotions[k].validityPeriodFrom 
    globalvar.validityTo = promotions[k].validityPeriodTo 
    globalvar.dateCreated = promotions[k].dateCreated 
    globalvar.dateUpdated = promotions[k].dateUpdated 
    } 
} 

、あなたは以下のように呼び出して、この変数を使用することができ、それを使用する必要があります。

globalvar.name 
globalvar.description 
globalvar.validityFrom 
globalvar.validityTo 
globalvar.dateCreated 
globalvar.dateUpdated 
関連する問題