javascript语法错误预期表达式,得到'<'

时间:2015-12-02 22:59:47

标签: javascript firefox syntax syntax-error

所以我有这段代码:

;
(function (g) {
  var d = document, i, am = d.createElement('script'), h = d.head || d.getElementsByTagName("head")[0], aex = {
    "src": '',
    "type": "text/javascript",
    "async": "true",
    "data-vendor": "acs",
    "data-role": "gateway"
  };
  for (var attr in aex) {
    am.setAttribute(attr, aex[attr]);
  }
  h.appendChild(am);
  g['acsReady'] = function () {
    var aT = '__acsReady__', args = Array.prototype.slice.call(arguments, 0), k = setInterval(function () {
      if (typeof g[aT] === 'function') {
        clearInterval(k);
        for (i = 0; i < args.length; i++) {
          g[aT].call(g, function (fn) {
            return function () {
              setTimeout(fn, 1)
            };
          }(args[i]));
        }
      }
    }, 50);
  };
})(window);

当你在Firefox中通过控制台运行它时,它会抱怨

&#34; SyntaxError:期望表达式,得到&#39;&lt;&#39;&#34;

但是,当你在http://esprima.org/demo/validate.html中试用它时,它运作得很好......

它做错了什么?

1 个答案:

答案 0 :(得分:4)

我认为这一行存在问题:

"src": '',

所以你本质上是一个空白的src。错误本身表明您获得了一些HTML响应,在这种情况下,显然浏览器只是尝试加载您当前所在的页面(观看网络面板)。但是,如果你只是想创建一个脚本标记,请尝试使用更有意义的src,或者完全不用它。