日志函数/对象名称在函数堆栈的javascript中

时间:2012-07-09 19:39:36

标签: javascript debugging logging console

学习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有道理,但那效率低下。

有人能指出我的良好做法方向,我该如何挤压 我的代码中的正确日志信息?

仅供参考:我搜索了几本关于这个简单主题的书,但都没有 说了些什么。

1 个答案:

答案 0 :(得分:0)

使用开发人员工具(F12,control-I)或get firebug,享受单步执行代码,检查和更改变量,编辑css。它会极大地改善你的javascript学习体验......