SyntaxError:missing(在形式参数之前)

时间:2017-01-07 13:47:23

标签: javascript function

我试图在我的网站上实现recaptcha,所以我使用javascript创建了一个回调函数,应该在用户提交成功的验证码响应时执行:

<script>
   function onSubmit = function(token) {
      document.getElementById("form-signin").submit();
   }
</script>

但使用Firefox时总是遇到此错误SyntaxError: missing ( before formal parameters

使用Google Chrome时,我收到了此错误:Uncaught SyntaxError: Unexpected token =

两个浏览器都表明错误位于function onSubmit = function(token) {,但我不知道为什么会这样。

任何人都可以这么好,告诉我出了什么问题吗?

2 个答案:

答案 0 :(得分:2)

function some_identifier可以启动函数声明或函数表达式。无论哪种方式,下一个字符必须是(然后是任何参数定义,然后是)

如果要将函数表达式的计算结果分配给变量,就像在这里尝试一样,那么必须以正常的方式声明变量 (即使用{{ 1}}关键字,除非您已经声明了它,或者没有使用严格模式并希望创建全局模式。)

所以:

var

function onSubmit(token) {
  document.getElementById("form-signin").submit();
}

答案 1 :(得分:1)

声明命名函数有两种基本方法:

function onSubmit(token){
    document.getElementById("form-signin").submit();
}

或者:

var onSubmit = function(token){
    document.getElementById("form-signin").submit();
};

在你的情况下,请选择第一个。