0

我有我认为在 JavaScript 中称为对象(?)的东西:

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

现在我想将金额值设置为对象。就像是:

paymentwindow.amount = '20000';

但是,这是行不通的。我确信这很简单,但我找不到解决方案。

4

3 回答 3

2

现在我希望能够从对象外部设置数量。

这很容易或不可能,取决于对象的外观。

如果构造函数是这样设置的:

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

那么它很容易并且完全按照您的建议工作。任何附在上面的东西都this变成了公共财产。

但是,如果构造函数是这样设置的:

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

那么这是不可能的,因为var amount是构造对象的私有。

于 2013-07-31T13:14:19.627 回答
1

先在构造函数中声明

function myObject(){
   this.myMemberVariable = 123;
   this.anotherOne = "hello";
}
于 2013-07-31T13:11:51.570 回答
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
于 2013-07-31T13:17:54.187 回答