2016-04-25 66 views
10

我正在使用angularjs,并且仅在safari中有null分配问题。它在Chrome和Firefox中工作。safari中的默认功能参数值不起作用

$scope.submit = function(id=null){ 
} 

当我删除null我收到此错误

SyntaxError: Expected token ')' 

,这只是工作。我不知道为什么!

$scope.submit = function(id){ 
} 

请帮我理解为什么这只发生在safari?

+4

默认功能的参数值是一个ES2015功能,Safari显然不支持。 – Pointy

回答

13

来自ES2015的Default parameters尚未在Safari中支持。请检查compatibility table

目前基本支持提供的Chrome 49和Firefox 15


但是你可以用下面的代码ES5来实现相同的:

$scope.submit = function(id) { 
    if (id === undefined) { 
    id = null; 
    } 
} 
+0

谢谢,你知道这个请求吗? –

+0

@searching ...针对ES5解决方案更新的答案。 –

+0

再次感谢你:) –