css 浏览器调试中不可见_前端入门必会的初级调试技巧

本文仅仅针对前端初学者,目的是【用20%不到的时间】 学会【前端最常用的部分调试技巧】,如果需要最详细的调试技巧,包括调试性能优化的相关知识,文末会补充最全的文档(chrome devtool的官方文档链接)

初学一门编程语言,大家一般都会找相关的教程看,好不容易找到一个不错的教程,兴冲冲的打开电脑,自信的敲(chao)下了几行代码,完美,点击运行

woc!!!

我明明照着教程写的,为啥就是不一样!!

为啥老报错啊啊啊!!!!!

373fe263d9ea32a27636edd10d0ee7a0.png

于是点击教程回看,逐行的对代码,一遍遍的对下来,发现了一些小问题,赶紧改改,点击运行

为啥还是不一样啊啊啊啊啊啊啊啊!!!

自学的时候又没得人问,只能找百度,但是关键词都不知道怎么搜合适,搜出来一大堆广告和不相关的东西,从一开始的信誓旦旦到心态爆炸,然后逐渐……

563deba37b6d159792a4d4d1f9b37474.png

好吧好吧,其实是你忘了学一样东西,只要是学编程,只要你开始写代码的时候,就要开始逐渐了解它的调试技巧

前端还有点不太一样,前端牵扯到多门语言,所以需要在每个阶段学习一些新的调试技巧,防止找不到问题心态爆炸

1、HTMl + CSS阶段

html代码的单独调试就不说了,这俩一般都是一起出现

在这个阶段,你需要学会的是

  1. 怎么查看页面上一个节点的样式?
  2. 怎么在调试工具上直接改变页面上一个节点的样式?

首先,使用cmd(ctrl) + alt + i 打开chrome devtool

你会弹出这么一个页面

8be845183bb4cd45e458f1cac35ace2d.png
chrome 调试工具

这个界面就是我们需要主要学习的东西了

在html,css阶段,我们要学会的是element这个tab,也就是这里

ff3d00174dc615a38cbe420f52d5132b.png

在学习html,css的时候,最容易遇到的问题就是

为什么写的样式和我预想的不一样?

这时应该这样调试

1.找到样式不一样的地方,用chrome调试工具选择节点

bc9ee9c833486bfde9e5588ae27bbdb5.png

2.这时我们就可以在调试工具里看到节点相关的所有css属性了

194b5b14acf0f5e9b02dfb6056bfb608.png

如果觉得不一样,或者需要修改的地方,直接双击编辑就好了,修改的地方会实时显示在页面里

c64eeddfc71cad09543271b141067d8a.png

当然,刷新就会重新读取代码,你临时修改的这些东西就没了,千万不要以为在这就是直接写代码就可以了!!!

及时尝试,及时修改代码!!!不然唰唰唰写一堆,刷新就没了不是心态崩盘??

50e453b04cfb71d14ee938fcd9004386.png

2.JS部分

这个部分应该有编程基础的人都会很熟悉了,就是普通编程语言的调试操作,但是不一样的是

只要有浏览器,你就能进行js编程和调试,完全不用装任何其他软件和环境

首先打开控制台,打开console的tab

610559a8d58dc3b39db783d21891de4d.png

比如咱来敲个 1+1?

a908579f2b5266a20233fd8c8535e5a1.png

当然,知道这些可是不能调试的,这些东西就是介绍,有这么个玩意儿,正餐在后面呢

4058b8cf46c30d84fe19c6521fdb20c6.png

1.最简单但是效果一般的调试

其实这个方法也算不上调试,你可以在代码里使用console.log打印函数,这样控制台就会打印出你打印的信息

比如下面这个html 文件

<html><script>let a = 1console.log(a)a = a + 1console.log(a)</script>
</html>

在浏览器运行,控制台就会打印以下信息

74293e6b49d440b5c707ca01f608744d.png

是不方便多了?

如果嫌麻烦的话,可以用这种方法调试,检验关键的逻辑里,各种数据对不对

但是但是但是!!!!!

这种办法效率比较低,并且,很多复杂bug很难找到,并不是真正的的调试

???说了这么多搁这儿说废话呢??

0c4c69413176e86b41cad2d6521fe4a1.png

并不哈哈哈哈哈,这种方法最简单,下面的方法就需要稍微学习下了,对完全0基础的人有一些的理解成本

2.最有效的调试方法--断点调试

还是上面那个例子,我们做些修改

<html><script>let a = 1debuggera = a + 1console.log(a)</script>
</html>

debugger就是断点的意思

用打开这个简单的文件,然后打开控制台,刷新页面

会发现程序停在断点的位置,就像这样

897f0e6f3d4c4b13c3067926407c1c1f.png

这时就可以看到触发断点时各个变量的值

6aca9014344a3e6bd5d989835852eef7.png

当然,我们也可以让断点运行,让程序单步运行等等,来看看右边的工具栏

db045442caa2180136001836ae68723b.png

工具栏从左往右依次是上面这些

然后每次,只要程序的运行和你的想法不一致的时候

不要再肉眼看代码错误了!!!你是没得钢铁钛合金镭射眼的!!

学会调试!!!

谷歌浏览器调试工具官方文档:https://developers.google.com/web/tools/chrome-devtools

如果打不开的可能就需要其他渠道看文档了=。=

之后看情况补充针对初学者的网络,缓冲,性能优化相关的入门调试技巧,至于看什么情况,赞一个呗

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/329357.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

升级ASP.Net Core项目

升级完类库项目&#xff0c;第二篇&#xff0c;我们来升级ASP.Net Core项目 修改global.json与project.json 这里可以参照&#xff0c;升级.Net Core RC2的那些事&#xff08;一&#xff09; 这里补充一点就是如果你觉得这样修改复杂&#xff0c;你完全可以新建一个项目&#x…

gophp解释器_【干货】Gisp 解释器 Golang 辅助开发工具

Gisp 是一个提供给 golang 使用的 Lisp 类 DSL 解释器。在 Lisp 的基本语法基础上&#xff0c;针对 go 环境稍作了一点语法糖。主要目标是提供一个尽可能便于与 golang 互操作的微型DSL工具。简介Gisp用go语言编写&#xff0c;是一个DSL 解释器&#xff0c;这个 DSL 基本上就是…

Oracle入门(十四.8)之迭代控制:基本循环Loop

一、迭代控制&#xff1a;LOOP语句 循环多次重复一个语句或一系列语句。 PL / SQL提供了以下几种类型的循环&#xff1a;•没有全面条件执行重复操作的基本循环 •FOR循环&#xff0c;基于计数器执行迭代操作•WHILE循环根据条件执行重复操作二、基本循环LOOP语句的最简单形式…

phpst安装memcache扩展_在 Ubuntu/Debian 下安装 PHP7.3 教程

介绍最近的 PHP 7.3.0 已经在 2018 年12月6日 发布 GA&#xff0c;大家已经可以开始第一时间体验新版本了&#xff0c;这里先放出 PHP7.3 安装的教程以便大家升级。适用系统&#xff1a; Ubuntu 18.04 LTS / Ubuntu 16.04 LTS &#xff0f; Ubuntu 14.04 LTS / Debian 9 stretc…

升级.Net Core RC1的类库项目

微软终于发布了.Net Code RC2了&#xff0c;作为一个软粉当然是第一时间升级了。《升级.Net Core RC2的那些事》系列文章主要是记录本人升级RC2的相关步骤以及遇到过的坑。 第一篇先写类库项目&#xff08;Nuget包项目&#xff09;的升级 升级VS工具 这里只提供一个下载地址&am…

Oracle入门(十四.9)之迭代控制:WHILE和FOR循环

一、WHILE循环您可以使用WHILE循环重复一系列语句&#xff0c;直到控制条件不再为TRUE。 条件在每次迭代开始时进行评估。当条件为FALSE或NULL时&#xff0c;循环终止。 如果条件在循环开始时为FALSE或NULL&#xff0c;则不会执行进一步的迭代。 WHILE condition LOOPstatement…

为TFS配置跨平台的生成服务器Xplat (Ubuntu Linux)

1. 概述 从TFS 2015开始&#xff0c;微软开始支持跨平台的构建代理。你可以使用TFS的Xplat代理&#xff0c;方便的在基于IOS, Unix和Linux的服务器上搭建生成代理&#xff0c;实现构建、发布等功能。本文档已Ubuntu为例&#xff0c;指导如何安装和运行Xplat代理。 2. 配置TFS的…

分数优先遵循志愿php源码_分数优先 遵循志愿

本报讯 昨日&#xff0c;广东省考试院发布2019年我省普通高校招生平行志愿投档及录取实施办法。今年我省依旧实行普通高校招生平行志愿投档录取模式&#xff0c;按照“分数优先、遵循志愿”的原则&#xff0c;根据考生高考成绩高低排序和院校志愿先后顺序投档&#xff0c;投出…

Oracle入门(十四.10)之显式游标简介

一、上下文区域和游标Oracle服务器分配一个称为上下文区域的私有内存区域来存储由SQL语句处理的数据。 每个上下文区域&#xff08;因此每个SQL语句&#xff09;都有一个与其关联的游标。您可以将游标视为上下文区域的标签&#xff0c;或者将其作为指向上下文区域的指针。 事实…

1.(转)canal背景与工作原理

【README】 1.canal是一个工具&#xff0c;由阿里开源&#xff0c;用于解析mysql的binlog增量日志&#xff0c;重放日志还原出业务数据&#xff0c;下游可以送入 es&#xff0c;mysql&#xff0c;hbase等&#xff1b; 2.本文以下内容转自&#xff1a;GitHub - alibaba/canal:…

Dapper、Entity Framework 和混合应用

你大概注意到了&#xff0c;自 2008 年以来&#xff0c;我写过许多关于 Entity Framework&#xff08;即 Microsoft 对象关系映射器 (ORM)&#xff09;的文章&#xff0c;ORM 一直是主要的 .NET 数据访问 API。市面上还有许多其他 .NET ORM&#xff0c;但是有一个特殊类别因其强…

html让时间只展示年月日_如何用html写代码,使得在网页上显示当前的时间和日期...

展开全部在网页62616964757a686964616fe59b9ee7ad9431333363363537中动态的显示日期时间&#xff0c;一般都是使用js来实现&#xff0c;很简单&#xff0c;一看就会。网页中动态的显示系统日期时间function startTime(){var todaynew Date();//定义日期对象var yyyy today.get…

Oracle入门(十四.11)之使用显式游标属性

一、游标和记录 此示例中的游标基于SELECT语句&#xff0c;该语句仅检索每个表行的两列。 如果它检索了六列或七&#xff0c;八&#xff0c;二十个呢&#xff1f; DECLAREv_emp_id employees.employee_id%TYPE;v_last_name employees.last_name%TYPE;CURSOR emp_cursor ISSEL…

(转 )centos8安装mysql

【1】下载 mysql rpm包 MySQL :: Download MySQL Yum Repositoryhttps://dev.mysql.com/downloads/repo/yum/ 【2】安装mysql 根据官方文档安装&#xff0c;如下&#xff1a; MySQL :: A Quick Guide to Using the MySQL Yum Repositoryhttps://dev.mysql.com/doc/mysql-yu…

IIS负载均衡-Application Request Route详解第一篇: ARR介绍

说到负载均衡&#xff0c;相信大家已经不再陌生了&#xff0c;本系列主要介绍在IIS中可以采用的负载均衡的软件&#xff1a;微软的Application Request Route模块。 其实Application RequestRoute已经有很多文章介绍过了&#xff0c;但是有很多的文档都是英文的&#xff0c;笔者…

单位矩阵的逆矩阵是它本身吗_矩阵运算、单位矩阵与逆矩阵(二)

逆矩阵什么是逆矩阵&#xff1f;数有倒数&#xff1a;逆矩阵也是相同的概念&#xff0c;但我们写为A-1逆矩阵的定义计算逆矩阵我们怎么知道计算结果是正确的&#xff1f;我们把矩阵和逆矩阵相乘来看看&#xff1a;我们为什么需要逆矩阵&#xff0c;举个例子&#xff1a;一帮人坐…

Oracle入门(十四.12)之游标FOR循环

一、游标FOR循环游标FOR循环处理显式游标中的行。 这是一个快捷方式&#xff0c;因为游标被打开&#xff0c;循环中的每次迭代都会获取一次行&#xff0c;当处理最后一行时会退出循环&#xff0c;并且游标会自动关闭。 当最后一行被提取时&#xff0c;循环本身在迭代结束时自动…

结合Jexus + Kestrel 部署 asp.net core 生产环境

ASP.NET Core 是微软的全新的框架。这一框架的目标 ︰ 跨平台针对云应用优化解除 System.Web 的依赖。 获得下面三个方面的优势&#xff0c;你可以把它认为是一个C# 版本的NodeJS&#xff1a; 1&#xff09; 模块化实现 2&#xff09; 一切都尽可能的-异步 3&#xff09; 依赖关…

centos普通用户修改文件权限_用户管理(特殊权限、特殊属性、umask 默认权限 )

特殊权限suidLinux 系统文件除了9位基本权限&#xff0c;还有额外3位特殊权限&#xff0c;分别是  SUID(set uid)&#xff0c; -rwsr-xr-x  SGID(set gid)&#xff0c; -rw-r-sr-x  SBIT(sticky bit), -rw-r-xr-t  这3位特殊权限不建议使用(除系统默认的特殊权限可…

Oracle入门(十四.13)之带参数的游标

一、带参数的游标参数是一个变量&#xff0c;其名称用于游标声明中。 当游标打开时&#xff0c;参数值被传递给Oracle服务器&#xff0c;Oracle服务器使用它来决定要将哪些行检索到光标的活动集中。这意味着您可以在块中多次打开和关闭显式光标&#xff0c;或者在同一个块的不同…