为了账号安全,请及时绑定邮箱和手机立即绑定

Uncaught SyntaxError: Unexpected token {??

为啥总是提示Uncaught SyntaxError: Unexpected token {的错误啊?小伙伴有遇到的吗?

正在回答

7 回答

你再给一下你的完整代码   那个报错不用管,那是你的编辑器的问题,对语法识别不准确

1 回复 有任何疑惑可以回复我~
#1

加菲猫饿啦 提问者

粘上来了 (/"≡ _ ≡)/~┴┴ 麻烦你 (/"≡ _ ≡)/~┴┴
2015-12-09 回复 有任何疑惑可以回复我~
#2

加菲猫饿啦 提问者

∑(っ °Д °;)っ 求助
2015-12-09 回复 有任何疑惑可以回复我~

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>sliderShow</title>
   <link href="CSS/main.css" rel="stylesheet">
   <!--script src="JS/control.js"></script-->
</head>
<body>
   <div class="slider">
       <!--0.修改VIEW->Template(关键字替换),增加template id-->
<div class="main"  id="template_main">
           <div class="main-i" id="main_{{index}}">
               <div class="caption">
                   <h2>{{h1}}</h2>
                   <h3>{{h2}}</h3>
               </div>
               <img src="imgs/{{index}}.jpg"/>
           </div>
           </div>
       </div>
       <div class="ctrl" id="template_ctrl">
           <a class="ctrl-i" id="ctrl_{{index}}" href="javascript:switchSlider({{index}});"><img src="imgs/{{index}}.jpg"/></a>
       </div>
   </div>

   <script type="text/javascript">
       //1.数据定义(实际生产环境中应由后台给出)
var data = [
           {img:1,h1:'Creative',h2:'DUET'},
           {img:2,h1:'Friendly',h2:'DEVIL'},
           {img:3,h1:'Tranquilent',h2:'COMPATRIOT'},
           {img:4,h1:'Insecure',h2:'HUSSLER'},
           {img:5,h1:'Loving',h2:'REBEL'},
           {img:6,h1:'Crazy',h2:'FRIEND'},
       ];

       //2.定义通用函数
var g = function(id){
           if(id.substr(0,1) == '.'){ //通过classname获取
return document.getElementsByClassName(id.substr(1));
           }
           return document.getElementById(id);
       }

       //3.天假幻灯片操作(所有幻灯片对应的按钮)
function  addSliders(){
           //3.1获取到所有幻灯片母版
var tpl_main = g('template_main').innerHTML
.replace(/^\s*/,'')    //^表示从开头开始
.replace(/\s*$/,'');    //去除前面和后面的空白符

           //3.2定义最终输出 HTML的变量
var tpl_ctrl = g('template_ctrl').innerHTML
.replace(/^\s*/,'')
                   .replace(/\s*$/,'');
           //3.2定义最终输出html的变量
var out_main = [];
           var out_ctrl = [];

           //3.3遍历所有数据,构建最终输出的html
for( i in data) {
               var _html_main = tpl_main
.replace(/{{index}}/g,data[i].img)    //正则表达跟g表示全局替换
.replace(/{{h1}}/g,data[i].h1)
                       .replace(/{{h2}}/g,data[i].h2);

               var _html_ctrl = tpl_ctrl.replace(/{{index}}/g, data[i].img);
               out_main.push(_html_main);
               out_ctrl.push(_html_ctrl);
           }

           //3.4把html回写到对应的DOM中
g('template_main').innerHTML = out_main.join('');
           g('template_ctrl').innerHTML = out_ctrl.join('');

       }
       //5.幻灯片切换
function switchSlider(n){
           //5.1获得要展现的幻灯片和控制按钮
var main = g('main_' +n);
           var ctrl = g('ctrl_' +n);
            //5.2获得所有幻灯片及他们的控制按钮
var clear_main = g('.main-i');
           var clear_ctrl = g('.ctrl-i');
           //5.3清除获取到的内容的active样式
for(i = 0; i<clear_ctrl.length; i++){
               clear_main[i].className = clear_main[i].className
.replace(' main-i_active', '');
               clear_ctrl[i].className = clear_ctrl[i].className
.replace(' ctrl-i_active', '');
           }
           //5.4为当前的控制按钮和幻灯片附加样式
main.className += ' main-i_active';
           ctrl.className += ' ctrl-i_active';
       }

       //6.定义合适处理幻灯片输出
window.onload = function(){
           addSliders();
           switchSlider(1)
       }

   </script>
</body>
</html>

0 回复 有任何疑惑可以回复我~
#1

李晓健

你这代码已经没有报错了,你自己编辑器上报错不用管,那是你编辑器的问题。只要浏览器上不报错就行了
2015-12-09 回复 有任何疑惑可以回复我~
#2

加菲猫饿啦 提问者 回复 李晓健

浏览器也显示有错( ̄工 ̄lll)算了 我自己改改 多谢多谢
2015-12-09 回复 有任何疑惑可以回复我~
#3

加菲猫饿啦 提问者 回复 李晓健

请问您有源码吗?能否发我一份?
2015-12-09 回复 有任何疑惑可以回复我~
#4

李晓健 回复 加菲猫饿啦 提问者

我没有源码,我用你的代码也没有js的报错,只有图片路径的错,因为我本地没有那些图片
2015-12-09 回复 有任何疑惑可以回复我~
查看1条回复

http://img1.sycdn.imooc.com//56682af70001881e05990314.jpg

你看这里还是一直呈现出错误状态啊

0 回复 有任何疑惑可以回复我~
for(var i=0;i<data.length;i++){
    var _html_main = tpl_main.replace(/{{index}}/g, data[i].img)
            .replace(/{{h2}}/g, data[i].img)
            .replace(/{{h3}}/g, data[i].img);
    out_main.push(_html_main);
}
g('template_main').innerHTML = out_main.join('');


0 回复 有任何疑惑可以回复我~
#1

加菲猫饿啦 提问者

麻烦你,最后几眼 ,,Ծ‸Ծ,,
2015-12-09 回复 有任何疑惑可以回复我~
for( var i=0;i<data.length;i++){

你的for 循环写的不对

0 回复 有任何疑惑可以回复我~
#1

加菲猫饿啦 提问者

改过还是有Unexpected token 的错误啊,,
2015-12-09 回复 有任何疑惑可以回复我~

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>sliderShow</title>
   <link href="CSS/main.css" rel="stylesheet">
   <script src="JS/control.js"></script>
</head>
<body>
   <div class="slider">
       <!--0.修改VIEW->Template(关键字替换),增加template id-->
<div class="main"  id="template_main">
           <div class="main-i" id="main_{{index}}">
               <div class="caption">
                   <h2>{{h2}}</h2>
                   <h3>{{h3}}</h3>
               </div>
               <img src="imgs/{{index}}.jpg"/>
           </div>
           </div>
       </div>
       <div class="ctrl" id="template_ctrl">
           <a class="ctrl-i" id="ctrl_{{index}}" href="javascript:switchSlider({{index}});"><img src="imgs/{{index}}.jpg"/></a>
       </div>
   </div>

   <script type="text/javascript">
       //1.数据定义(实际生产环境中应由后台给出)
var data = [
           {img:1,h1:'Creative',h2:'DUET'},
           {img:2,h1:'Friendly',h2:'DEVIL'},
           {img:3,h1:'Tranquilent',h2:'COMPATRIOT'},
           {img:4,h1:'Insecure',h2:'HUSSLER'},
           {img:5,h1:'Loving',h2:'REBEL'},
           {img:6,h1:'Crazy',h2:'FRIEND'},
       ];

       //2.定义通用函数
var g = function(id){
           if(id.substr(0,1) == '.'){ //通过classname获取
return document.getElementsByClassName(id.substr(1));
           }
           return document.getElementById(id);
       }

       //3.天假幻灯片操作(所有幻灯片对应的按钮)
function  addSliders(){
           //3.1获取到所有幻灯片母版
var tpl_main = g('template_main').innerHTML
.replace(/^\s*/,'')
                   .replace(/\s*$/,'');    //去除前面和后面的空白符

           //3.2定义最终输出 HTML的变量
var tpl_ctrl = g('template_ctrl').innerHTML
.replace(/^\s*/,'')
                   .replace(/\s*$/,'');
           //3.2定义最终输出html的变量
var out_main = [];
           var out_ctrl = [];

           //3.3遍历所有数据,构建最终输出的html
for( i = data ){
               var _html_main = tpl_main.replace(/{{index}}/g, data[i].img)
                                         .replace(/{{h2}}/g, data[i].img)
                                         .replace(/{{h3}}/g, data[i].img);
           }
       }
       //4.定义合适处理幻灯片输出
window.onload = function(){
           addSliders();
       }
   </script>
</body>
</html>

0 回复 有任何疑惑可以回复我~

你的代码 语法有错误,给一下你的完整代码

0 回复 有任何疑惑可以回复我~
#1

加菲猫饿啦 提问者

就是 <div class="ctrl" id="template_ctrl"> <a class="ctrl-i" id="ctrl_{{index}}" href="javascript:switchSlider({{index}});"><img src="imgs/{{index}}.jpg"/></a> 这里一直报错。 还有后面的JavaScript里面关于正则表达式的也报错
2015-12-09 回复 有任何疑惑可以回复我~
#2

加菲猫饿啦 提问者

所以错误在哪里~?
2015-12-09 回复 有任何疑惑可以回复我~
#3

加菲猫饿啦 提问者

是不是愚蠢的错误?拜托指出一下(';°;e;°;)
2015-12-09 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

Uncaught SyntaxError: Unexpected token {??

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信