查看: 4407|回复: 9

[已经解决] 【题目已修改】为什么这样写有语法问题?

[复制链接]
梦石
0
星屑
1816
在线时间
2527 小时
注册时间
2010-10-12
回帖
1336

开拓者

发表于 2016-3-11 10:26:50 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 刺夜之枪 于 2016-3-10 18:37 编辑

【我擦】Unexpected Token }, 怎么都找不到位置在哪!气死我了



QQ图片20160310182228.png


如上,在下刚刚一直在撸代码。撸了很久很久………… 突然一执行,结果系统提示我"Unexpected Token }"

可是我怎么也找不到到底是哪行代码缺失}花括弧!!
真是急死我了。我在写插件,现在已经大概1000多行了。一行一行找根本不可能的说


结果最坑爹的是系统居然不告诉我error 出现在哪行??!!!


我真是日了狗了,我用的是sublime text3 居然不给我提示的
而且我把代码复制到网上的检查器也没检查出结果。


↑修改前的问题,修改后的↓


在下通过二分法检索(binary search)的方法,将代码分成段去分批除后运行测试找到了出现问题的地方:

如下:

[pre lang="javascript"]var $dataSoldier        = null;
var $dataArmy           = null;
var $dataEFSEquipments  = null;
DataManager._databaseFiles.push({ name: '$dataSoldier',             src: 'EFS_Soldier.json'          });
DataManager._databaseFiles.push({ name: '$dataArmy',                src: 'EFS_DefaultArmies.json'    });
DataManager._databaseFiles.push({ name: '$dataEFSEquipments',       src: 'EFS_Equipments.json'       });
MBBS_MV.Core.DataManager_createGameObjects = DataManager.createGameObjects;
DataManager.createGameObjects = function() {
    MBBS_MV.Core.DataManager_createGameObjects.call(this);
};

[/pre]



具体问题出现在这三行:

[pre lang="javascript"]DataManager._databaseFiles.push({ name: '$dataSoldier',             src: 'EFS_Soldier.json'          });
DataManager._databaseFiles.push({ name: '$dataArmy',                src: 'EFS_DefaultArmies.json'    });
DataManager._databaseFiles.push({ name: '$dataEFSEquipments',       src: 'EFS_Equipments.json'       });[/pre]

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

当只有一行上面的脚本是游戏是正常的
写成如上就出问题了‘
这是为什么?
在下是在写插件,需要补充几个数据库

评分

参与人数 2赞 +2 收起 理由
玛尔斯 + 1
众神与将军 + 1

查看全部评分


梦石
0
星屑
1309
在线时间
904 小时
注册时间
2014-12-4
回帖
349
发表于 2016-3-11 10:34:35 | 显示全部楼层
一部分一部分找 看看在哪一部分呗

点评

这不是数学老师的“中值定理”么(好像是这个名字的)  发表于 2016-3-26 19:44
突然发现这样更简单: 去除一半脚本后运行测试,如果有问题继续去除一半…… 最后就能以log(n)的效率找到。。  发表于 2016-3-11 10:40
回复

使用道具 举报

梦石
0
星屑
723
在线时间
530 小时
注册时间
2010-6-9
回帖
668
发表于 2016-3-11 11:01:19 | 显示全部楼层
我帮你初略点了下,点不出什么毛病啊?括号应该都齐
回复

使用道具 举报

梦石
0
星屑
1232
在线时间
1017 小时
注册时间
2011-4-30
回帖
1464
发表于 2016-3-11 11:17:13 | 显示全部楼层
本帖最后由 汪汪 于 2016-3-11 11:28 编辑

直接参考下面的,写一个自己的载入不就好了, window[name] 改成你要的变量的 名字

  1. DataManager.loadDataFile = function(name, src) {
  2.         //网址请求
  3.     var xhr = new XMLHttpRequest();
  4.     //url位置
  5.     var url = 'data/' + src;
  6.     //网址请求 打开 位置
  7.     xhr.open('GET', url);
  8.     //网址请求 文件类型
  9.     xhr.overrideMimeType('application/json');
  10.     //网址请求 当读取
  11.     xhr.onload = function() {
  12.             //如果 网址请求 状态 < 400
  13.         if (xhr.status < 400) {
  14.                 //窗口[name] = json解析(网址请求 返回text)
  15.             window[name] = JSON.parse(xhr.responseText);
  16.             //数据管理器 当读取(窗口[name] )
  17.             DataManager.onLoad(window[name]);
  18.         }
  19.     };
  20.     //网址请求 当错误
  21.     xhr.onerror = function() {
  22.             //数据管理器 错误url = 数据管理器 错误url \| url
  23.         DataManager._errorUrl = DataManager._errorUrl || url;
  24.     };
  25.     //窗口[name] = null
  26.     window[name] = null;
  27.     //网址请求 发出
  28.     xhr.send();
  29. };
复制代码
比如这样

[pre lang="javascript"]MBBS_MV.Core.loadDataFile = function(name, src) {
    var xhr = new XMLHttpRequest();
    var url = 'data/' + src;
    xhr.open('GET', url);
    xhr.overrideMimeType('application/json');
    xhr.onload = function() {
        if (xhr.status < 400) {
            MBBS_MV.Core[name] = JSON.parse(xhr.responseText);
            DataManager.onLoad(MBBS_MV.Core[name]);
        }
    };
    xhr.onerror = function() {
        DataManager._errorUrl = DataManager._errorUrl || url;
    };
    MBBS_MV.Core[name] = null;
    xhr.send();
};

MBBS_MV.Core.loadDataFile('$EFS_Soldier','EFS_Soldier.json')
MBBS_MV.Core.loadDataFile('$EFS_DefaultArmies' ,'EFS_DefaultArmies.json'  )
MBBS_MV.Core.loadDataFile('$EFS_Equipments' ,'EFS_Equipments.json')
[/pre]

点评

期待最后的成果,群战系统啊!想想就兴奋.....我的战棋计划无限搁浅中....  发表于 2016-3-11 11:21

评分

参与人数 1星屑 +66 收起 理由
刺夜之枪 + 66 666

查看全部评分

回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
172
在线时间
935 小时
注册时间
2010-11-13
回帖
897
发表于 2020-8-3 22:05:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

梦石
0
星屑
1343
在线时间
153 小时
注册时间
2020-4-26
回帖
146
发表于 2020-8-4 07:05:17 | 显示全部楼层
你載入的json裡面語法有誤

点评

定睛一看是16年帖子...233  发表于 2020-8-5 15:06
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部