JS调试日志输出和异常处理

2023-11-14

一、直接启用浏览器调试功能

Chrome浏览器中:

1.按下F12打开调试界面。

2.选择source选项卡,选中script文件打开。

3.单击行增删断点,F10单步调试,F11进入函数,F8下一个断点, 鼠标移动到变量上可以查看该变量的值。

4. 右边窗口的callStack可以看到调用栈;watch Expressions可以添加监视值,scope Variables可以看到当前区域变量的值等。

5.F12关闭调试功能。

、输出Log,使用console.log,对于比较复杂的逻辑很有效

实例函数,逻辑中输出:

<script>function testClick(){  
        var testInput=AZJ.getElementsByClassName("testme-","input"); 

        //由于这里是两个参数,所以用for语句遍历两个参数,分别显示出来  
        for(var i=0;i<testInput.length;i++){ 
console.log("The index :%d, value: %s", i, testInput[i].value);  
        alert(testInput[i].value);  
        }
          
    }  

</script>

对JS错误输出Log:

<script>

onerror = handleErr; // 错误的调试

function handleErr(msg,url,l)
{
txt="本页中存在错误。\n\n"
txt+="错误:" + msg + "\n"
txt+="URL: " + url + "\n"
txt+="行:" + l + "\n\n"
txt+="点击“确定”继续。\n\n"
console.log(“Error msg:%s", txt);
return true

}

</script>


三、try catch预防错误,否则错误发生后面的语句没有得到执行。

1.直接用catch(error)中的error字符串信息。

<!DOCTYPE html>
<html>
<head>
<script>
var txt="";
function message()
{
try
  {
  adddlert("Welcome guest!");
  }
catch(err)
  {
  txt="There was an error on this page.\n\n";
  txt+="Error description: " + err.message + "\n\n";
  txt+="Click OK to continue.\n\n";
  alert(txt);
  }
}
</script>
</head>

<body>
<input type="button" value="View message" οnclick="message()">
</body>
</html>

2.try中thow字符串,catch(error)中的得到throw的字符串。
<script>
function myFunction()
{
try
  {
  var x=document.getElementById("demo").value;
  if(x=="")    throw "empty";
  if(isNaN(x)) throw "not a number";
  if(x>10)     throw "too high";
  if(x<5)      throw "too low";
  }
catch(err)
  {
  var y=document.getElementById("mess");
  y.innerHTML="Error: " + err + ".";
  }
}
</script>

<h1>My First JavaScript</h1>
<p>Please input a number between 5 and 10:</p>
<input id="demo" type="text">
<button type="button" οnclick="myFunction()">Test Input</button>
<p id="mess"></p>




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JS调试日志输出和异常处理 的相关文章

随机推荐

  • 视频编码格式发展史

    1 编码标准之战 想预测未来 就回顾历史 先来看看H 264这些编码的从标准化到现在普及的过程 人们一直在想尽办法提高视频编码的效率 让它在尽可能小的体积内提供最好的画面质量 从而满足人们对于视频传输 存储的需求 长期以来 视频编码标准主要
  • MySQL标准差和方差函数使用

    一 方差 方差是在概率论和统计方差衡量随机变量或一组数据时离散程度的度量 概率论中方差用来度量随机变量和其数学期望 即均值 之间的偏离程度 统计中的方差 样本方差 是每个样本值与全体样本值的平均数之差的平方值的平均数 在许多实际问题中 研究
  • matlab求二元函数极值算法_[小白头秃]多元函数基本概念总结

    1 基本概念 点集 区间 领域 一维 直线 实数集 线段 端点 不含端点 二维 平面 实平面 平面区域 边界 不含边界 三维 空间 实空间 曲面 边界 体 表面 不含边界 表面 点和点集的关系 内点 外点 边界点
  • 四叉树初步研究

    JS 四叉树初步研究 四叉树 为何要叫四叉树 二叉树与八叉树又是生么东东 看样子理解起来比较困难 实现该如何入手 树 就是树的结构 树根 树干 树枝 树叶 还有好吃的果实 o 其实树这种结构 很常见的 JSON 不就是最普通的树吗 四叉树的
  • html js清除缓存,js清除浏览器缓存的几种方法

    JS 缓存的问题一直都是我们又爱又恨的东西 也是我们比较头痛的问题 一方面为了提高网站响应速度 减少服务器的负担 和节省带宽 将需要将静态资源缓存在客户端 但是另一方面 当js 文件有改动的时候 如何快速的将客户端缓存的js文件都失效 这是
  • win环境下emacs实现markdown的html预览

    1 参考文档 https libraries io github jrblevin markdown mode 2 实现的核心思想是用pandoc生成html进行markdown的预览 把pandoc exe直接放到emacs bin目录下
  • windows 虚拟机相关功能、组件梳理

    简介 英文名称 中文名称 说明 Container 容器 Guarded Host 受保护的主机 利用远程证明创建并运行受防护的虚拟机 Hyper V Hyper V Management Tools Hyper V 管理工具 包含 GUI
  • Java Stream 实用特性:排序、分组和 teeing

    排序 基本数据类型排序 基本数据类型就是字符串 整型 浮点型这些 也就是要排序的列表中的元素都是这些基本类型的 比如 List
  • C#__资源访问冲突和死锁问题

    线程的资源访问冲突 多个线程同时申请一个资源 造成读写错乱 解决方案 上锁 lock 执行的程序段 同一时刻 只允许一个线程访问该程序段 死锁问题 程序中的锁过多 某一线程需要多个锁资源 而某个资源被另一线程占用 另一个线程同样如此 谁也不
  • 【mysql索引】之多列索引

    第零步 简单说一说 多列索引并不是指建立多个单列索引 而是指在多个字段建立一个索引 在多个列上建立独立的单列索引大部分情况下并不能提高MySQL的查询性能 MySQL在5 0之后推出了索引合并策略 index merge 一定程度上可以使用
  • 解决哥斯拉内存马 pagecontext 的问题

    零基础学黑客 搜索公众号 白帽子左一 前言 注入内存马借助当前的webshell工具而言 冰蝎可以通过创建hashmap放入request response session替换pagecontext来解决 HttpSession sessi
  • Failed to encrypt the section connectionStrings using provider RsaProtectedConfigurationProvider

    使用aspnet regiis exe加密web config connectionStrings时奇奇怪怪的错误 Failed to encrypt the section connectionStrings using provider
  • java必刷题——正则表达式

    题目 需求分析 解题思路 获取用户输入的 需矫正字符总数 根据用户输入的 总数 对错误字符进行矫正 技术栈 java正则表达式 代码实现 package OpenClosedPrinciple import java util Scanne
  • OAuth2.0认证原理浅析

    一 OAuth是什么 OAuth的英文全称是Open Authorization 它是一种开放授权协议 OAuth目前共有2个版本 2007年12月的1 0版 之后有一个修正版1 0a 和2010年4月的2 0版 1 0版本存在严重安全漏洞
  • 深入浅出——搞懂卷积神经网络的过拟合、梯度弥散、batchsize的影响的问题(二)

    上一篇主要是对卷积神经网络的整个训练过程中公式以及误差的推导给出详细的分析 博客地址 http blog csdn net u010402786 article details 51226825 这一篇主要对卷积神经网络中出现的一些问题进行
  • 网站更换域名后链接的更改(运维端)

    公司由于备案的问题 需要将域名www servera com更换为www serverb com 但是原先网站所有链接均指向www servera com 这个时候可以通过2种方法 1 在负载均衡器增加301跳转 这样打开每个www ser
  • 阿里云ecs.u1-c1m1.large服务器u1实例通用算力型CPU性能评测

    阿里云服务器ecs u1 c1m1 large为2核2G的通用算力型u1服务器 CPU采用2 5 GHz主频的Intel Xeon Platinum 8163 Skylake 或者8269CY Cascade Lake 阿里云百科分享阿里云
  • Use a SAML Token to Obtain a vCloud Suite Session ID ----使用SAML 令牌 获取VCloud 会话ID

    原文 span style font size 12px Another case is when the client requests a vCloud Suite endpoint on the management node the
  • Web components新玩具——X-View

    X View是一款遵循Web Components规范 类似React语法的JavaScript library 支持的特性 Object assign WeakMap Custom Elements Shadow DOM
  • JS调试日志输出和异常处理

    一 直接启用浏览器调试功能 Chrome浏览器中 1 按下F12打开调试界面 2 选择source选项卡 选中script文件打开 3 单击行增删断点 F10单步调试 F11进入函数 F8下一个断点 鼠标移动到变量上可以查看该变量的值 4