相关疑难解决方法(0)

如何从该函数中获取函数名?

如何从该函数内部访问函数名?

// parasitic inheritance
var ns.parent.child = function() {
  var parent = new ns.parent();
  parent.newFunc = function() {

  }
  return parent;
}

var ns.parent = function() {
  // at this point, i want to know who the child is that called the parent
  // ie
}

var obj = new ns.parent.child();
Run Code Online (Sandbox Code Playgroud)

javascript function

242
推荐指数
12
解决办法
21万
查看次数

为什么在JavaScript中不推荐使用arguments.callee.caller属性?

为什么arguments.callee.caller在JavaScript中弃用了该属性?

它已添加,然后在JavaScript中弃用,但ECMAScript完全省略了它.某些浏览器(Mozilla,IE)一直支持它,并且在地图上没有任何计划来删除支持.其他人(Safari,Opera)已经采用了它的支持,但对旧浏览器的支持是不可靠的.

是否有充分理由将这些有价值的功能置于不确定状态?

(或者,有没有更好的方法来获取调用函数的句柄?)

javascript ecma262

212
推荐指数
3
解决办法
7万
查看次数

我可以在JavaScript中获取当前运行的函数的名称吗?

是否有可能做到这一点:

myfile.js:
function foo() {
    alert(<my-function-name>);
    // pops-up "foo"
    // or even better: "myfile.js : foo"
}
Run Code Online (Sandbox Code Playgroud)

我的堆栈中有Dojo和jQuery框架,所以如果其中任何一个更容易,它们就可用了.

javascript jquery dojo

172
推荐指数
10
解决办法
11万
查看次数

在严格模式下获取当前函数名称

我需要当前函数名作为字符串来登录我们的日志工具.但arguments.callee.name只能在松散模式下工作.如何获取功能名称"use strict"

javascript strict

16
推荐指数
2
解决办法
6535
查看次数

记录与调试

背景: 我继承了一个Web应用程序,旨在创建本地和远程设备之间的即时连接.最近有大量的移动部件:应用程序本身发生了重大变化; 开发工具链刚刚更新; 本地和远程设备都已"修改"以支持这些变化.

好的一面是它有一个合理的日志记录系统,可以将调试消息写入文件,它将同时记录到文件和实时用户屏幕.我有机会重新使用整个日志/调试机制.

例子:

  • 所有消息都带有时间戳,并以严重性级别作为前缀.
  • 日志是给客户的.他们记录系统对他/她的请求的回应.
  • 任何标识问题的日志也都会提出解决方案.
  • 调试适用于开发人员和技术支持.他们揭示了系统内部.
  • 调试指示生成它们的函数和/或行.
  • 客户可以动态调整调试级别以设置详细程度.

问题:您作为开发人员或被视为消费者的哪些最佳实践可以生成有用的日志和调试?


编辑:到目前为止很多有用的建议,谢谢!为了澄清:我更感兴趣的是什么日志:内容,格式 .--而这样做的原因-不是具体的工具.

您看到的最好的日志对他们最有帮助的是什么?

谢谢你的帮助!

debugging usability messaging logging

7
推荐指数
3
解决办法
5235
查看次数