学习 JS 是一条坎坷的道路……我想了解我的代码中发生了什么,所以console.log();
似乎是我的朋友。
有时我什至不知道错误来自哪里(或者我可能太笨了)所以我想更好地记录我的应用程序堆栈。我试图为这个简单而复杂的问题找到答案:
怎么做?除了与console.log()
例如,获取被调用的函数(构造函数)的名称被证明是有问题的:console.log
function SomeFunction(argument1,argument2) {
console.log(this+'> 01 message');
console.log(this.name+'> 02 message');
console.log(this.constructor+'> 03 message');
console.log(this.constructor.name+'> 04 message');
console.log(this.prototype+'> 05 message');
console.log(this.constructor.method+'> 06 message');
}
SomeFunction.prototype.sayHello = function(} {
console.log(this+'> 01 says Hello');
console.log(this.name+'> 02 says Hello');
console.log(this.constructor+'> 03 says Hello');
// and so on... //
}
所以。哪一个是正确的?SomeFunction.constructor.name
正在工作,但是每次使用这种语法都很长,所以像
var fn = this.constructor.name
有道理,但这只是效率低下。
有人可以指出我的良好实践方向,我如何从我的代码中提取正确的日志信息?
仅供参考:我搜索了几本关于这个简单主题的书,没有人对此一言不发。