変数に格納されている関数を実行し、それにパラメータを渡そうとしています。ただし、.apply
回線上でエラーが発生しています。Uncaught TypeError: Cannot call method 'apply' of undefined
フィドル: http: //jsfiddle.net/valamas/vzesm/
function target(msg)
{
alert(msg);
}
function mainfunc (func)
{
var args = new Array();
for (var i = 1; i < arguments.length; i++)
args.push(arguments[i]);
console.log('args: ' + args);
//-- different attempts
window[func].apply(this, args);
//window[func].apply(null, Array.prototype.slice.call(arguments, 1));
//this[func].apply(this, Array.prototype.slice.call(arguments, 1));
}
$(function ()
{
console.log('\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n');
console.log('ready');
mainfunc('target', 'hello,', 'there!');
});