You can do this way.
$('button').click( function(){
setInterval(function(){
magicWords(7,3)
}, 1000);
});
When you do setInterval(magicWords(7,3), 1000);
it invokes the function as it executes the statement and effectively the result of your function (probably undefined if it does not return anything) will be set to run at that interval not the function itself.
ou can use
And of-course if you are ready to add a shim for support for earlier browsers you can use ecmaScript 5 function.bind. This will bind y
our function with specified context and parameters whenever invoked.
setInterval(magicWords.bind(this, 7,3), 1000);