xml地图|网站地图|网站标签 [设为首页] [加入收藏]

写与不写有哪些区别,JavaScript获取function所有参

来源:http://www.ccidsi.com 作者:集成经验 人气:160 发布时间:2019-09-04
摘要:本身写了八个 JavaScript函数来剖析函数的参数名称, 代码如下: javascript中$(function() {....}) 是 jQuery 中的卓绝用法,等同于 $(document).ready(function(){....}), 即在页面加载成功后才施行某些函数

本身写了八个 JavaScript函数来剖析函数的参数名称, 代码如下:

javascript中$(function() {....}) 是 jQuery 中的卓绝用法,等同于 $(document).ready(function() {....}),即在页面加载成功后才施行某些函数,若是函数中要操作 DOM,在页面加载成功后再进行会更安全,所以在动用 jQuery 时那样的写法很普及。

JavaScript获取function全体参数名的章程,javascriptfunction

自己写了贰个 JavaScript函数来解析函数的参数名称, 代码如下:

function getArgs(func) {
 // 先用正则匹配,取得符合参数模式的字符串.
 // 第一个分组是这个: ([^)]*) 非右括号的任意字符
 var args = func.toString().match(/functions.*?(([^)]*))/)[1];
 // 用逗号来分隔参数(arguments string).
 return args.split(",").map(function(arg) {
  // 去除注释(inline comments)以及空格
  return arg.replace(//*.**//, "").trim();
 }).filter(function(arg) {
  // 确保没有 undefined.
  return arg;
 });
}

地方是检验的函数, 示例代码如下:

function myCustomFn(arg1, arg2,arg3) {
 // ...
}
// ["arg1", "arg2", "arg3"]
console.log(getArgs(myCustomFn)); 

正则表明式(regular expression) 是个好东西啊? 其他本人不领会, 但在安妥的景色用起来依然很给力的!

顺便三个Java取妥帖前函数名的措施: Java 在函数中拿走当前函数的函数名

public class Test { 
  private String getMethodName() { 
    StackTraceElement[] stacktrace = Thread.currentThread().getStackTrace(); 
    StackTraceElement e = stacktrace[2]; 
    String methodName = e.getMethodName(); 
    return methodName; 
  } 
  public void getXXX() { 
    String methodName = getMethodName(); 
    System.out.println(methodName); 
  } 
  public void getYYY() { 
    String methodName = getMethodName(); 
    System.out.println(methodName); 
  } 
  public static void main(String[] args) { 
    Test test = new Test(); 
    test.getXXX(); 
    test.getYYY(); 
  } 
}

【运转结果】

getXXX 
getYYY 

【注意】

代码第5行,stacktrace[0].getMethodName() 是 getStackTrace,stacktrace[1].getMethodName() 是 getMethodName,stacktrace[2].getMethodName() 才是调用 getMethodName 的函数的函数名。

// 注意: stacktrace里面包车型客车岗位;
// [1] 是“getMethodName”, [2] 是调用此办法的method

public static String getMethodName() { 
  StackTraceElement[] stacktrace = Thread.currentThread().getStackTrace(); 
  StackTraceElement e = stacktrace[2]; 
  String methodName = e.getMethodName(); 
  return methodName; 
}

如上内容是本文给我们介绍的js获取function全数参数名的法门,本文写的不得了还请大家见谅,招待大家建议宝贵意见。

笔者写了三个 JavaScript函数来剖判函数的参数名称, 代码如下: function getArgs(func) { // 先用...

function getArgs(func) {
 // 先用正则匹配,取得符合参数模式的字