Javascript语法 - 我做错了什么?

时间:2012-08-15 21:08:07

标签: javascript

我是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.')
               }
            }
          }
        }
    } 

4 个答案:

答案 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;

上收到错误消息