函数表达式中的默认参数

时间:2016-02-08 15:10:51

标签: javascript function-declaration function-expression

javscript函数declerations中的默认参数可以通过简单的赋值实现,如下所示:

var foo = function (arg1 = 'default1', arg2 = 'default2') { ... }

但是如何为函数表达式设置默认参数,因为以下内容在chrome v47中不起作用:

protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests()
            .antMatchers("/", "/public/**").permitAll()
            .antMatchers("/users/**").hasAuthority("ADMIN")
            .anyRequest().fullyAuthenticated()
            .and()
            .formLogin()
            .loginPage("/login")
            .failureUrl("/login?error")
            .usernameParameter("email")
            .permitAll()
            .and()
            .logout()
            .logoutUrl("/logout")
            .deleteCookies("remember-me")
            .logoutSuccessUrl("/")
            .permitAll()
            .and()
            .rememberMe();
}

任何指针都会有所帮助。

1 个答案:

答案 0 :(得分:-1)

您无法在javascript中执行此操作:

function foo(arg1 = 'default1', arg2 = 'default2') { ; }

在控制台中看到它会出现语法错误。你可以这样做:

function foo(arg1, arg2) {
   if ("undefined" == typeof arg2) {
       arg2 = "default2";
   }
}

var foo2 = function(arg1, arg2) {
   if ("undefined" == typeof arg2) {
       arg2 = "default2";
   }
}