Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在函数括号内设置Javascript函数参数_Javascript_Function_Function Parameter_Default Parameters - Fatal编程技术网

在函数括号内设置Javascript函数参数

在函数括号内设置Javascript函数参数,javascript,function,function-parameter,default-parameters,Javascript,Function,Function Parameter,Default Parameters,这太简单了,我忘了怎么做。我总是将变量传递给函数,因此它的参数是预先设置的,现在我需要在声明函数时设置参数,但不记得设置 我正在寻找这个的工作版本: function(a,b=4){return a-b;} 其中,在声明函数时设置函数的bparam' 如果我没记错的话,这就像在函数没有第二个参数的情况下为b设置默认值一样: function(a,b){b=b || 4; return a-b;} 编辑 感谢您的帮助,但是在js中,如果没有ECMAScript 6,这似乎是不可能的。不过你的

这太简单了,我忘了怎么做。我总是将变量传递给函数,因此它的参数是预先设置的,现在我需要在声明函数时设置参数,但不记得设置

我正在寻找这个的工作版本:

function(a,b=4){return a-b;}
其中,在声明函数时设置函数的
b
param'

如果我没记错的话,这就像在函数没有第二个参数的情况下为
b
设置默认值一样:

function(a,b){b=b || 4; return a-b;}

编辑 感谢您的帮助,但是在js中,如果没有ECMAScript 6,这似乎是不可能的。不过你的答案有点离题了。。。我真的需要paren's中设定的值

为了保持主题…我最初的问题是将参数发送到
setTimeout
函数。好的,我有一个
和一个
.gif
背景,当点击它的背景时,第二个动画运行了整整8秒,然后背景再次变为最终的
.gif
。这是一个三阶段的动画,简单。。。问题是8秒的间隔,我认为设置超时可以工作,但我不能将任何参数传递给“sto”函数以引用所述的

如果你知道任何计时器事件,可以帮助然后成为我的客人,这是我所知道的。我的原始代码如下。。。它在
功能(p=cha)
处失败

for(变量i=0;i<5;i++){
var cha=document.createElement('div');
$(cha.css('background','url(img/stand.gif)');
cha.addEventListener('click',function()){
$(cha.css('background','url(img/walk.gif)');
设置超时(函数(p=cha){
$(p.css('background','url(img/walk.gif)');
},8000);
});
}
这是ES5中默认参数的典型方式。但是,我建议将此更改为更严格地检查b的类型,因为
|
运算符将0视为错误值

function(a,b){
  b = typeof b === 'undefined' ? 4 : b;
  return a-b;
}

这是用javascript编写的。你可能还记得用PHP做的。@DenysSéguret:干杯!?可能是。。。我会查的…@DenysSéguret:Fifreex只支持js,一定是php,为大家欢呼。nice不知道他们添加了这个。可能是一些浏览器还不支持它。现在使用
if(typeof b==='undefined')
在JS中没有ECMAScript 6至少是不可能的。Babel每天将默认参数值语法传输到ES5。
function(a,b){b=b || 4; return a-b;}
function(a,b){
  b = typeof b === 'undefined' ? 4 : b;
  return a-b;
}