javascript Function相关
function Block(func, tag) { var _r_function = /^function\b\s*([\$\S]*)\s*\(/; var _r_codebody = /[^{]*\{([\d\D]*)\}$/; var _r_params = /[^\(]*\(([^\)]*)\)[\d\D]*/; tag = (tag || 'body').toLowerCase(); with (func.toString()) { return (tag == 'body') ? replace(_r_codebody, '$1').replace(/^\s*|\s*$/g, '') : (tag == 'param') ? ((tag=replace(_r_params, '$1')) ? tag.split(/[,\s]+/) : []) : (tag == 'name') ? match(_r_function)[1] : (tag == 'scope') ? '[function (' +arguments.callee(func, 'param')+ ') {\n' +arguments.callee(func, 'body')+ '\n}][0]' : (tag == 'anonymous') ? Function.apply(this, arguments.callee(func, 'param').concat(arguments.callee(func, 'body'))) : 'Block() with bad arguments.'; } }; var a = function () { alert(3333) }; alert(Block(a, 'anonymous'))
取得函数名
var fname = function(f){ return f.name; } if(!("name" in Function.prototype)){ fname = function(f){ return String(f).match(/^function\s*([^)]*)\(/)[1]; } }
机器瞎学/数据掩埋/模式混淆/人工智障/深度遗忘/神经掉线/计算机幻觉/专注单身二十五年