美文网首页
Js利用正则表达式获得回调函数的函数名

Js利用正则表达式获得回调函数的函数名

作者: kallsaver | 来源:发表于2017-01-06 00:14 被阅读0次

function getArgs(func) {

// 先用正则匹配,取得符合参数模式的字符串.

// 第一个分组是这个: ([^)]*) 非右括号的任意字符

var args = func.toString().match(/function\s.*?\(([^)]*)\)/)[1];

// 用逗号来分隔参数(arguments string).

return args.split(",").map(function(arg) {

// 去除注释(inline comments)以及空格

return arg.replace(/\/\*.*\*\//, "").trim();

}).filter(function(arg) {

// 确保没有 undefined.

return arg;

});

}

function run(fn){

if(typeof fn ==="function"){

console.log(fn) //在主函数体可以看到回调函数的一切

var name=getArgs(fn)[0]

alert(name)

}

}

run(function(a){ //回调函数是匿名或者有名都可以用这个方法获得

a++

})

function add(a){

a++

}

相关文章

  • Js利用正则表达式获得回调函数的函数名

    function getArgs(func) {// 先用正则匹配,取得符合参数模式的字符串.// 第一个分组是这...

  • 回调函数和array_map()函数

    回调函数:某个函数通过利用指针来重复调用某个函数。被调用的函数成为回调函数。 array_map( [函数名字],...

  • Javascript函数原理

    函数定义:function 函数名称(形式参数列表){语句}调用函数:函数名称(实际参数列表);注意:1)js的函...

  • javascript回调函数

    javascript回调函数很玄幻。 jquery 中大量使用了回调函数。直到现在才看懂 普通回调函数 匿名回调函...

  • vue上传图片

    action:上传图片的路径 name:后台接受参数名 handleAvatarSuccess:上传成功后的回调函...

  • 理解回调函数

    最近经常看到“回调函数”这个概念,但不是很理解。为了弄明白回调函数,提出了以下三个问题:1.什么是回调函数 回调函...

  • angular 下写的 jsonp

    注意点:1.angularJS中使用$http.jsonp函数2.指定callback和回调函数名,函数名为JSO...

  • 函数指针算法库

    函数指针, 函数指针数组声明 通过参数指定回调函数,代码示例 算法库代码说明 argc:参数个数 argv:回调函...

  • 2016.11.22 JS

    函数 函数:function foo函数名(函数的自变量){ }; 调用函数:foo();函数名加上括号就是调用函...

  • 关于call和bind的区别

    不多说,直接上代码 回调函数中用call 更改函数的this指向,函数也会立即执行,返回值是函数的执行结果 回调函...

网友评论

      本文标题:Js利用正则表达式获得回调函数的函数名

      本文链接:https://www.haomeiwen.com/subject/oprtbttx.html