Самое очевидное.
var timer = setTimeout(function(){
test(1);
}, 3000);
С некоторых пор (как всегда все смотрят на Ишака, а именно с 10-ки) предусмотрена передача параметра, тут почитай
https://developer.mozilla.org/en-US/...back_arguments
Вообще, если потребовалось передавать что-то в калбек таймера, значит что-то сделано не совсем правильно.