• JS开发之console调试(定位自己的问题位置)(-)


    记得8月多刚刚入职之后,那时的我可以说什么都不会,遇到任何问题就想找人去问。

    但事实上,那些公司的大拿们承担着更重要的工作,所以,如果你真的不会,当然可以去问他们,但是,请你先准确定位到自己的问题所在。

    说道定位自己的问题位置这一点,里面充斥着大量的优点:

      1,很可能当你找到问题出现的位置时,发现这只是一个简单的低级错误,或格式或符号。

      2,很可能当你找到问题出现的位置时,你只需要baidu就可以直接找到问题解决的方案,而不用去问别人,不但成长的多,而且提升自信有木有。

      3,很可能当你找到问题出现的位置时,你在去问大拿们,他们只需要花少量时间就可以解决你的问题,这样遇到你的问题他们会原因欣然帮助。

    更多的有点就不一一列举了。所以今天我就说说我在这几个月工作中,对调试中console的认识。

    说道系统调试常用的有两种:alert() 和 console.log(),按照我浅薄的理解而言:

      alert() 的特点:1,对程序有阻塞作用,不点击确定,后续代码无法继续执行。(也就是说,代码从弹出的那个alert()处暂停,除非你点击确定才会继续进行)

              2,alert() 只能输出string类型,如果 alert 输出的是对象就会自动调用toString()方法。

              3,alert() 不支持多个参数的写法,只能输出第一个值。

      console.log() 的特点:1,在打印台输出。

                  2,可以打印任何类型的数据。

                    3,console.log() 支持多个参数的写法。

    针对上述的三个特点,我这里依依给大家道来:

      首先第一点,不论是alert() 还是 console.log() 我只解释一句,控制台就是审核元素,快捷键是F12。

      其次对于第二点,请看下面的一段代码:

      

    用浏览器打开之后,先看页面:

      首先出现的是第一个alert() 的表现形式,

      在第一个alert() 中,代码是 alert(1, 2, 3) 传入的是三个参数,但是最终输出的却只有第一个参数 1。

      在这个状态下,如果不去点击确定,程序将阻塞在这里,不但不执行后续的代码,而且连控制台都无法打开。

    接下来我们点击确定,出现了第二个 alert() 的表现形式,

      此alert() 中,代码是 alert([1, 25, 54, 2, 2]) 而输出的时候,作为数组,两边的中括号已经被去掉,很明显对数组执行了toString() 方法,也就是只能输出string类型的数据。

      接下来我们再来看一看控制台。

      第一行 console.log() 代码中传入了三个参数,这里全部显示了出来。

      第二行 console.log() 代码中输出了一个数组。

      第三行 console.log() 代码中输出了一个对象。

    第二行和第三行说明了 console.log() 可以输出任何类型的数据。

      第四行 console.log() 代码中出现了一个新的方法 JSON.stringify() 。

    这个JSON.stringify() 方法可以把传入其中JSON的数据,转换成string类型。

      通过这个方法,我们也可以清晰的看到,console.log() 中输出的数据的格式不在是简单的 string 类型。

    上面就是alert() 和 console.log() 的特点。

    而他们使用上,我个人倾向大多数情况用 console.log() 和 JSON.stringify() 结合,因为这样可以更好的看到数据的真实面貌。

    而对于alert() 方法我个人觉得目前有用的地方,是做手机端开发的时候,有时候真机调试的时候,打断点使用。

    对了,还有后台代码中用 System.out.println() 代码,这样 tomcat 开启后就可以在里面打断点。

    唉,本来打算写一边console的专题,因为自己主要用这个调试,可是现在发现,自己要说的却还没有说,那么这边就题目后面价格(-),我们明天接着说。

    由于知识的匮乏,内容可能多有不足,希望大家指正。

    Deeds Not Words ! ------------------------ "男:你好,我是程序员。" "女:哦,你好,程先生。" "男:太客气了,叫我 序员 好了。"
  • 相关阅读:
    python学习
    androidandroid中的通过网页链接打开本地app
    Android自定义View之绘制虚线
    Backbone学习记录(3)
    Backbone学习记录(2)
    Backbone学习记录(1)
    网络时间轴中竖线的含义
    控制台笔记
    css hack 笔记
    Fiddler学习笔记
  • 原文地址:https://www.cnblogs.com/DeedsNotWords/p/5148602.html
Copyright © 2020-2023  润新知