javascript - 麻烦打印行号和 `alert` ing 长字符串变量来调试 JS 脚本 block

标签 javascript

我需要在我的 php.html 页面中加入一些 JS,但我很难调试。我一直在谷歌搜索,但似乎找不到如何打印行号,比如 php 中的 __LINE__。有没有一种方法可以足够轻松地实现这一看似有用的壮举?

我遇到的另一个问题是,我正在尝试调试一个不太正常的 script block ,我需要 echo,呃让 alert 一个很长的字符串的 var。不幸的是,警告框自行关闭,大概是因为 var 字符串太长了。似乎没有为 alert 框定义参数,例如高度、宽度等,所以我尝试使用这个 hack:

function alertDebug(linesToDisable)
      {
        var newLinesToDisable = new String();
        for (var n = 0; n < linesToDisable.length; n++)
        {
          if (n % 100 == 0)
            newLinesToDisable += "\n";
          newLinesToDisable += aString[n];
        }
        alert( newLinesToDisable );
      }
      alertDebug( linesToDisable );

但是 alert 无法完全触发。任何具有 L337 JS 技能的人也可以帮忙吗?

最佳答案

关于调试/长日志:JavaScript console 对象有很多有用的调试方法。您可以在 MDN 找到它们.最常见的是 console.log(newLinesToDisable)

关于行号:通常浏览器也会公开错误发生的行号(堆栈跟踪),但如果你想专门记录一个行号,你可以试试

var line = new Error().lineNumber

如果这在您使用的任何环境中都不起作用,您可以尝试:

var stack = new Error().stack

但是你必须挖掘整个堆栈跟踪。

关于javascript - 麻烦打印行号和 `alert` ing 长字符串变量来调试 JS 脚本 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43721023/

相关文章:

javascript concat() 方法随机添加换行符

javascript - html5 Canvas 使用图像作为 mask

javascript - 简化两个输入变量的 isNaN 函数 - JavaScript

javascript - img 点击在 Firefox 中不起作用

javascript - 将 limitTo 与 ng-bind 一起使用

javascript - 仅使用 jquery 垂直固定 div

javascript - 如何拒绝同步和异步代码函数中的 promise ?

javascript - 在自定义数据结构上查找 JavaScript 中两个节点之间的路径

javascript - 在 AngularJS Material 底页中使用输入

javascript - Discord.js 如何知道用户是否阻止了机器人