setTimeout
has a minimum timeout of 4ms. So there is actually no difference between the two.
If the currently running task is a task that was created by the setTimeout() method, and timeout is less than 4, then increase timeout to 4.
Spec
EDIT: As pointed out by Ahmad in the comments, the spec has changed now, so the answer would currently be, "It depends."
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…