【发布时间】:2013-03-19 11:03:39
【问题描述】:
function drawLine(ctx, sX, sY, eX, eY, sRGB, fRGB, lWidth, capStyle)
{
ctx.beginPath();
ctx.moveTo(sX, sY);
ctx.lineTo(eX, eY);
ctx.lineWidth = lWidth||5;
ctx.strokeStyle = 'rgb(49, 129, 48)';
ctx.lineCap = 'round';
ctx.stroke();
ctx.closePath();
}
然后我想这样调用函数:
drawLine(ctx, 50, 50, 100, 100, someStrokeStyle, someFillStyle, someCapStyle);
如您所见,我跳过了lWidth 参数。我希望该函数仍然有效,即使 lWidth 没有作为参数传递。我将如何做到这一点? atm,它可能会认为someCapStyle 是lwidth。
【问题讨论】:
-
您在参数中遗漏了一个参数,这就是我所看到的。我怎么知道那是 lWidth 参数
-
@555k 是的,当我选择不提供参数时,该函数将如何工作。
-
您没有使用参数 fRGB 和 capStyle。所以如果你错过了一个,那么函数将被调用 capStyle=undefined。你的 lWidth 值将是 someCapStyle
-
@555k 是的,我将如何设法告诉函数我想要 lWidth 的默认值和 capStyle 的 someCapStyle 的默认值
-
如果您希望函数使用 lWidth 作为可选参数,请将其作为函数原型中的最后一个参数
标签: javascript