2016-09-27 188 views
0

所以我有以下错误只发生在Safari(苹果产品,去图),而没有发生在Chrome或Firefox(代码完美运行)。Safari浏览器特定的错误(可选参数)

错误:SyntaxError: Unexpected token '='. Expected a ')' or a ',' after a parameter declaration.

这是为示数:function ajax_general(url, params, title="")

当我删除了可选的参数,它运行。否则会发生。我应该如何改变它以使它也可以在Safari上运行?

+1

这已经回答了http://stackoverflow.com/questions/36841496/default-function-parameter-value-in-safari-is-not-working – knobcreekman

+0

@knobcreekman感谢,我预料它已经被回答了,但我仍然无法谷歌它。 –

回答

1

您正在使用目前Safari不支持的默认功能参数。你的函数:

function ajax_general(url, params, title="") 

Default function parameters allow formal parameters to be initialized with default values if no value or undefined is passed.

title="" 

...基本上等于在说,“如果没有标题传递参数,设置标题空字符串”

如果第三个参数必须设置为一个值,做它像这样:

function ajax_general(url, params, "") 

或者根据你的使用情况,做到内/外功能:

var title = ""; 
function ajax_general(url, params, title); 

铬和Firefox都支持默认的功能参数,但不幸的是safari不支持。

欲了解更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters