javascript - 严格模式下获取当前函数名

标签 javascript strict

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

最佳答案

为了记录/调试目的,您可以在记录器中创建一个新的 Error 对象并检查其 .stack 属性,例如

function logIt(message) {
    var stack = new Error().stack,
        caller = stack.split('\n')[2].trim();
    console.log(caller + ":" + message);
}

function a(b) {
    b()
}

a(function xyz() {
    logIt('hello');
});

关于javascript - 严格模式下获取当前函数名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38435450/

相关文章:

php 回显 javascript 调用

javascript - 无法将元素附加到 FormData

javascript - jquery 中 DOM 元素的手动垃圾收集是否完全提高了浏览器性能?

javascript - 这个正则表达式有什么问题 :/(? :(? :^|\s)hide_([^\s]+))+/?

php - 更改每个 session 的 MySQL 模式

html - 如果在严格模式下,表格 cellspacing 和 cellpadding 是否始终为 0(即使明确设置)?

javascript - 使用自定义矩形 JQuery 裁剪 Canvas 内的图像

mysql - 选择一列,按另一列分组 - ONLY_FULL_GROUP_BY

javascript - 在@flow strict 下,对于实用功能,Object 有哪些替代方案?

perl - 在 Perl 的严格模式下使用动态生成的变量名