Javascript错误“丢失;在声明之前”

时间:2011-08-03 06:30:22

标签: javascript

我在这个块上有一个非常奇怪的错误:

<script type="text/javascript">
  var captions = new Array();
  captions[0] = "";
  captions[1] = '<div class="cap-desc"><h3>No Win - No Fee</h3><span class="captionSubhead">Performance Guarantee</span><br /><span style="color:#636363; font-size:13px;">Ask Today. We are very confident<br />you'll be impressed with our results! </span></div><br /><a href="http://#" class="rmore" target="_blank">read more</a>';
</script>

错误告诉我,我错过了';'在标题之前[1]但我很确定标题[0]有一个分号!

整个网站都在这里:http://katron.sourcefit.com/cms02/a&a/

现在有5个字幕,但仍然有相同的错误。我尝试更改相关标题的内容。在这种情况下,它的标题[1],它的工作原理。标题有什么问题?我确信我正在关闭所有标签和引号并转出\ n到

7 个答案:

答案 0 :(得分:7)

你没有正确地逃避单一报价......

captions[1] = '<div class="cap-desc"><h3>No Win - No Fee</h3><span class="captionSubhead">Performance Guarantee</span><br /><span style="color:#636363; font-size:13px;">Ask Today. We are very confident<br />you\'ll be impressed with our results! </span></div><br /><a href="http://#" class="rmore" target="_blank">read more</a>';

这只是逃避

中的撇号
  

您会

答案 1 :(得分:5)

问题是you'll有一个撇号并结束了代码块。一定要逃避它。

答案 2 :(得分:2)

当我在谷歌搜索错误时发现了这个问题。

我的解决方案与原始帖子无关,但无论如何都可以帮助某人。

声明后我忘记了function这个词:

Foo.bar(evt) {
    ...
}

应该是

Foo.bar = function(evt) {
    ...
}

我找了一会儿找到这个bug,所以希望它可以帮助别人。

答案 3 :(得分:1)

如果您尝试将属性添加到带有var前缀的现有对象,则会发生同样的错误。例如

[..]

解决方案是:

var existingObject = {};

var existingObject.property1 = {}; //will throw the same error

答案 4 :(得分:0)

这是因为 confident
you'll be impressed
的最后一行中的单引号将其替换为\',它认为会解决此问题

答案 5 :(得分:0)

  

我们的结果会让您印象深刻!

你的撇号(')将结束你的字符串。所以javascript引擎正在那里寻找分号。

替换为\'以逃避它

答案 6 :(得分:0)

在你的标题[1]中检查“你会对我们的结果印象深刻!”它具有'没有转义字符的字符。