相关疑难解决方法(0)

如何在Javascript中识别函数的调用者?

比方说f(args),我有一个函数,它是从我的代码中的许多地方调用的.

何时args未定义f()会引发异常.

我想确定谁f()undefined参数调用.

找到调用的确切行(文件名+行号)最简单的方法是f()什么?

有可能在Firebug中看到来电者吗?

javascript firebug

2
推荐指数
1
解决办法
1775
查看次数

如果被调用者被定义为变量,JavaScript函数可以知道它调用了什么吗?

这类似于如何在JavaScript中找到调用函数的问题?

但如果函数被定义为变量,我需要一个答案,如:

var Hello = function() {
  // How do you find out the caller function is 'main'?
}

var main = function() {
   Hello();
};

main();
Run Code Online (Sandbox Code Playgroud)

如果你将arguments.callee.caller.name粘贴到Hello中,它只返回一个空白.

javascript

2
推荐指数
1
解决办法
740
查看次数

TypeScript中的类型检测

有没有一种方法可以在TypeScript中获取函数调用者的类型名称?另外,有没有办法获取当前对象类型的名称

就像是:

export class SomeData {
    sampleFunc() {
        console.log(this.getTypeName());
    }

    //or
    anotherFunc(caller: any) {
        console.log(caller.getTypeName());
    }
}
Run Code Online (Sandbox Code Playgroud)

getTypeName是这里所需的功能。编译后,TypeScript中的类型消失。有typeof(用于获取类定义对象本身),但我看不到如何获取名称

这其中的一个用法可能是更清洁记录与console.group(name)console.groupEnd()-至少在开发时间。

编辑:

据我搜索,有一个针对Metadata Reflection APIPolyfill提案“ 将Decorators添加到ES7,以及一个ES7 Reflection API for Decorator Metadata的原型 ”。可以将它与TypeScript中的装饰器一起使用。

javascript typescript type-deduction

2
推荐指数
1
解决办法
364
查看次数

是否存在对象的function.name之类的东西

所以我想知道是否有一种方法可以使用function.name但是对象. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name

我的意思是这样的:

function myFunction() {}

console.log(myFunction.name); // logs "myFunction"

// but like

var myObj = {};

console.log(myObj.name); // logs "myObj"
Run Code Online (Sandbox Code Playgroud)

如果有可能,它将如何处理这样的事情?

var myObj = {};
var myObj2 = {};

console.log(myObj2.name); // logs "myObj" or "myObj2" or both?
Run Code Online (Sandbox Code Playgroud)

javascript

1
推荐指数
1
解决办法
53
查看次数

获取模块类名和组件类名

我们想要测量以下 Angular 事件,并且我们知道如何做到这一点:

  • 组件和指令的 ngAfterViewInit (通过生命周期钩子)
  • 路由导航计时(通过路由器事件)
  • 通过common/http的http客户端进行http调用(通过拦截器)

但我们想记录额外的信息:

  • 与路由关联的模块类名称和路由组件类名称
  • 注册给定组件的模块类名称
  • 进行 http 调用的服务或组件以及关联的模块

我们怎样才能得到这些额外的信息呢?

angular angular5

1
推荐指数
1
解决办法
3256
查看次数

如何使用console.log打印出哪一个函数称为一段代码?

可能重复:
你如何在JavaScript中找到调用者函数?

如果我放入console.log()一个函数,是否有任何我可以放在console.log()语句中以找出调用函数的位置?或者是否有其他方法可以找出如何调用函数?

我试图理解一个相对复杂的(对于我的经验来说很复杂的)一段代码,并且很难弄清楚什么是调用某个函数.谢谢.

javascript debugging

0
推荐指数
1
解决办法
3649
查看次数