几个月来,我一直在用微风和 WebAPI(从 John Papa 的示例开始)构建一个 SPA。几天前,在我的 Windows 8 VS2012 内部 IE 浏览器上,开始在微风.debug.js 中出现 javascript 错误。
JavaScript critical error at line 4663, column 13 in //http://localhost:50033/Script/breeze.debug.js
SCRIPT1028: Expected identifier, string or number
我回到我的另一台开发机器,带有 VS2012 的 Windows 7,它没有给出错误。两台机器之间的代码是相同的。我使用 Azure TFS 来同步代码。
错误发生在结束时 });
function convertFromODataEntityType(odataEntityType, schema, metadataStore, serviceName) {
var shortName = odataEntityType.name;
var namespace = translateNamespace(schema, schema.namespace);
var entityType = new EntityType({
shortName: shortName,
namespace: namespace,
}); <==== line 4663
当我删除命名空间后的逗号时,错误消失了,但在第 6911 行的另一个位置再次出现错误。
day: { fn: function(source) { return source.day;}, dataType: "Number" },
month: { fn: function(source) { return source.month; }, dataType: "Number" },
year: { fn: function(source) { return source.year; }, dataType: "Number"},
}; <========= line 6911
删除上面一行的逗号,它在第 1271 行出错
Unhandled exception at line 1271, column 17 in http://localhost:50033/Scripts/breeze.debug.js
0x800a01b6 - JavaScript runtime error: Object doesn't support property or method 'some'
在这段代码中:
function compile(self) {
if (!self._compiledFn) {
// clear off last one if null
if (self._fns[self._fns.length - 1] == null) {
self._fns.pop();
}
if (self._fns.length === 0) {
return undefined;
}
self._compiledFn = function (that, v) {
return that._fns.some(function (fn) {
return fn(that, v);
});
};
};
return self._compiledFn;
}
有没有其他人看到过这种行为?