【问题标题】:get invoked method name and passed in parameters [duplicate]获取调用的方法名称并传入参数[重复]
【发布时间】:2015-07-16 02:57:21
【问题描述】:

有没有办法在javascript中获取方法名称和传入参数?

function say(param){
  alert(param);
}

所以当say方法被调用时,

say("helloworld")

我会得到方法:'say' 和参数:{'helloworld'}

【问题讨论】:

标签: javascript jquery


【解决方案1】:
 function say() {
    var args = Array.prototype.slice.call(arguments);

    console.log("method:" + arguments.callee.name + " parameters: {" + JSON.stringify(args) + "}");
 }

【讨论】:

  • 如果我有 var x = {}; x.say = function(param){...} 我查看了浏览器控制台并且名称为空,那么这项工作是否有效
  • 没有获取函数名称的标准方法。有些浏览器支持它,有些不支持。答案是你自己的例子。在任何其他情况下,事情可能会更复杂。
  • x是一个对象,say是那个对象的一个​​属性,x.say的值是一个匿名函数……而as this answer points out,匿名函数没有名字。
【解决方案2】:
function say(param){
  alert("method: " + arguments.callee.name + " and parameters : "+param);
}

【讨论】:

    猜你喜欢
    • 2010-10-19
    • 1970-01-01
    • 1970-01-01
    • 2017-01-22
    • 1970-01-01
    • 1970-01-01
    • 2015-10-01
    • 2011-10-09
    • 2016-10-21
    相关资源
    最近更新 更多