2013-07-31 62 views
0

我有什麼,我認爲在JavaScript中被稱爲對象(?):如何將值傳遞給JavaScript中的對象?

 paymentwindow = new PaymentWindow({ 
     'merchantnumber': "XXXXXX", 
     'amount': '10500', 
     'currency': "DKK" 
    }); 

現在我想設置的金額值的對象。例如:

paymentwindow.amount = '20000'; 

但是,這是行不通的。我相信這很簡單,但我找不到解決方案。

+2

發佈您的對象定義以使我們更容易。 – DontVoteMeDown

+0

您可以發佈有關PaymentWindow對象的代碼嗎?你傳入一個對象,除非你解析輸入到局部變量,它看起來更像'paymentwindow.yourvariablename.amount ='20000';' – Justin

回答

2

現在我希望能夠從對象之外設定的量。

這很容易或不可能,這取決於對象的外觀。

如果構造設置是這樣的:

function PaymentWindow(options) { 
    this.amount = options.amount; 
} 

那麼它很容易和工程完全按照你建議。任何附在this上的東西都成爲公共財產。

然而,如果構造設置是這樣的:

function PaymentWindow(options) { 
    var amount = options.amount; 
} 

那麼它是不可能的,因爲var amount是私有的構造的對象。

+0

對不起,我不清楚。我沒有自己寫這個函數。這是一個使用購買epay作爲支付網關的功能。所以我沒有奢侈的「重寫」功能。 –

+2

JavaScript中的每個函數都可以重寫(除了一些內置的語言特性)。只需要聲明一個新名稱相同的新名稱即可。 – Tomalak

+0

而不是重寫「epay」(Ebay?)API的一部分,最好是找到一些使用它(有希望存在)的使用/示例文檔。否則,如果它是JavaScript,你很可能會獲得並瀏覽源代碼,看看他們是如何編寫它的。 – ajp15243

1

首先聲明它在構造

function myObject(){ 
    this.myMemberVariable = 123; 
    this.anotherOne = "hello"; 
} 
0

這必須是因爲Object PaymentWindow未定義。這適用於Chrome瀏覽器甚至是JS控制檯:

paymentwindow = new Object({ 
     'merchantnumber': "XXXXXX", 
     'amount': '10500', 
     'currency': "DKK" 
    }); 

// Object {merchantnumber: "XXXXXX", amount: "10500", currency: "DKK"} 

paymentwindow.amount = '20000' 

// Object {merchantnumber: "XXXXXX", amount: "20000", currency: "DKK"} 

確保PaymentWindow是在你使用new關鍵字實例化它的範圍使用。如果您在運行原始代碼後在瀏覽器中打開JavaScript控制檯,您可能會看到:

ReferenceError: PaymentWindow is not defined 
相關問題