javascript Function相關

來源:互聯網
上載者:User
 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];    }}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.