Javascript语法——我做错了什么?
我是javascript新手。我有两个文件--一个旧的和一个新的--我正在比较。但是,我在下面的代码中发现了语法错误。Javascript语法——我做错了什么?,javascript,Javascript,我是javascript新手。我有两个文件--一个旧的和一个新的--我正在比较。但是,我在下面的代码中发现了语法错误。 在这里的某个地方,我的代码爆炸了。错误是“表达式不求值于函数”。关于我在哪里写错误语句,有什么语法上的想法吗 if(userCtx.name != oldDoc.Document.attributeA) { for (var key in oldDoc.Document) { if(newdoc.Document.hasOw
在这里的某个地方,我的代码爆炸了。错误是“表达式不求值于函数”。关于我在哪里写错误语句,有什么语法上的想法吗
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.')
}
}
}
}
}
if(newdoc.Document.hasOwnProperty('key')要抛出对象文字,请将圆括号替换为花括号:
throw {
forbidden: 'Only admins may change this field.'
};
您发布的代码是否在函数定义中?我在定义作为参数传递给其他对象的函数时看到了这个错误,并且忘记了将函数括在括号中。
例如:
“比较”:“函数(docA,docB){…}”
应该是:
“比较”:(函数(docA,docB){…})
,可能还有一个。。。
这是函数内部的吗?如果不是,您可能会在hasOwnProperty(“key”)之后的返回;
您缺少一个“)”上出现错误。此外,vlad对下面的“throw”语句提出了很好的观点。是的!哇!谢谢还是会出错,所以我想还有其他原因。。。
throw {
forbidden: 'Only admins may change this field.'
};