JS中逗号分隔var的含义

时间:2016-05-03 17:06:26

标签: javascript

我们在其中一个变量定义中发现了一个有趣的行为。

我们有以下

var productId = data.data.productId,
    productCartQty    = data.data.currentQty,
    $modules          = $(".module-grocery-product[data-product-id='"+productId+"']"),
    $form             = $modules.find(".form-product"),
    $inputs           = $form.find('input.cart-change-qty'),
    $inputPrettyValue = $form.find('.input-qty-pretty-value');

有趣的行为是使用$ modules它会抛出一个没有定义productId的错误。

有没有人见过这种行为,可以解释原因? '使用严格的'已启用。

然后通过r.js缩小和Uglify2压缩。

1 个答案:

答案 0 :(得分:1)

如果data.data.productId没有指向任何内容(未定义),那么var productId也将是未定义的。

确保在将productId绑定到它之前定义了属性。