Javascript对象成员重新赋值

时间:2009-08-21 20:32:27

标签: javascript object concatenation

我需要更改javascript对象中的值。

var wba_product = {
    sku:'12ZB7',
    availability:'Usually ships in 1-2 business days',
}

我想使用javascript更改此内容。

<script language="javascript" type="text/javascript>
if(wba_product.sku == '12ZB7') wba_product.availability + ' Items are charged to your credit card only when they ship. Your credit card will not be charged until the item is shipped to you. ';
</script>

但是这种语法不起作用。

3 个答案:

答案 0 :(得分:4)

两点:

  1. availability成员的末尾有一个逗号,IE不容忍。

  2. 要为变量和对象成员分配值,请使用= assignment operator


  3. var wba_product = {
        sku:'12ZB7',
        availability:'Usually ships in 1-2 business days' // notice the comma removed
    }
    
    if(wba_product.sku == '12ZB7') {
      wba_product.availability = 'new value';  // assign a new value
    }
    

    如果你想在可用性成员的末尾连接一个字符串,你可以这样做:

     wba_product.availability += ' concatenated at the end.';
    

答案 1 :(得分:0)

我认为你想要的是

if(wba_product.sku == '12ZB7') {
    wba_product.availability += 'Items are charged to...';
}

答案 2 :(得分:0)

据亚马逊的开发者说。

“您不能以这种方式更改值,您已设置DOM元素 直接,改变json对象只改变json对象而不是 DOM元素。“

这就是我最终做的事情。我与div.innerHtml + =“我添加的副本”连接;

学家