我是javascript的新手。我有两个文件 - 旧的和新的 - 我正在比较。但是,我在下面的代码中的某处出现语法错误 在这里的某个地方,我的代码正在爆炸。错误说“表达式不会对函数进行评估”。我在写一个不正确的陈述的任何句法思路?
if(userCtx.name != oldDoc.Document.attributeA) {
for (var key in oldDoc.Document)
{
if(newdoc.Document.hasOwnProperty('key')
{
if(oldDoc.Document[key] != newDoc.Document[key])
{
if(key === 'attributeB')
{
return;
}
else
{
throw(forbidden: 'Only admins may change this field.')
}
}
}
}
}
答案 0 :(得分:7)
if(newdoc.Document.hasOwnProperty('key') <-- I am missing a )
答案 1 :(得分:3)
要抛出一个对象文字,请用大括号替换圆括号:
throw {
forbidden: 'Only admins may change this field.'
};
答案 2 :(得分:0)
您在函数定义中发布的代码是什么?我在定义作为参数传递给其他东西的函数时看到了这个错误,并且忘了将函数包装在括号中。
例如:
"compare": "function(docA, docB) { ... }"
应该是:
"compare": "(function(docA, docB) { ... })"
答案 3 :(得分:0)
可能还有一个......
这是一个功能吗?如果不是,您可能会在return;