String()函数错误 - Uncaught SyntaxError:missing)在参数列表之后

时间:2016-07-28 11:51:52

标签: javascript

我在JS中有这个功能

<script>

    var currentLocation = window.location.href;

    function AddCardToTrello() {
      Trello.addCard({
      url: currentLocation,
      name: String({{ soproduct.product }}),
      due: {{ soproduct.required_date|date:"SHORT_DATE_FORMAT"  }}
    });
    }

    </script>

这给了我这个错误

  参数列表

之后的

Uncaught SyntaxError:missing)

这是解析后的样子

<script>

var currentLocation = window.location.href;

function AddCardToTrello() {
  Trello.addCard({
  url: currentLocation,
  name: String(1 4343rfcdc 54446),
  due: 07/30/2016
});
}

</script>

错误在此行

 name: String(1 4343rfcdc 54446),

当值为id(数字)时,它工作正常,我没有收到任何错误。

可能是什么问题?

3 个答案:

答案 0 :(得分:1)

可能是这样的:

function AddCardToTrello() {
      Trello.addCard({
      url: currentLocation,
      name: String("{{ soproduct.product }}"),
      due: "{{ soproduct.required_date|date:'SHORT_DATE_FORMAT'  }}"
    });

甚至

function AddCardToTrello() {
      Trello.addCard({
      url: currentLocation,
      name: "{{ soproduct.product }}",
      due: "{{ soproduct.required_date|date:'SHORT_DATE_FORMAT'  }}"
    });

答案 1 :(得分:1)

发生此错误是因为Javascript引擎不知道'1 4343rfcdc 54446'是一个字符串,因此您需要用引号将其包装起来。如果你这样做,你将不需要String构造函数,因为它已经是一个字符串。

Trello.addCard({
  url: currentLocation,
  name: "{{ soproduct.product }}",
  due: "{{ soproduct.required_date|date:"SHORT_DATE_FORMAT"  }}"
});

答案 2 :(得分:1)

可能你缺少引号来表示它的字符串写得像;

name : "1 4343rfcdc 54446",