跟我学《JavaScript高程3》 第二讲,课程笔记

西门吹雪 2016-06-06

跟我学《JavaScript高程3》

第二讲:第3章

课程制作:bling,兴哥,5年Java,3年前端
课程知识:JavaScript、Html、Css
课程目标:前端体系课程,逐步深入,找到一份前端工作   
课程大纲:本书目录结构
适合人群:前端初学者,可以0基础,但要认真,踏实

课程回顾

1、静态项目基本结构:html、css、js、images   
2、文件的方式引入一个JavaScript脚本文件:引入方式、引入路径 
3、变量编写Hello,world:变量的定义,使用变量。

补充:变量在讲解函数后,会提到全局变量和局部变量。

课程笔记

1、JavaScript中的数据类型

分类:

    数据类型:5种简单数据类型,1中复杂数据类型

    typeof:

        用于判断变量是哪种类型,如果需要判断变量为何种类型,直接使用typeof关键词,空格接着写上变量就可以了。
        比如,前几天群里面的一个问题,如何判断数组,也是使用typeof。

    undefined:

        如果我们定义了一个变量,但是没有给变量赋值,这个时候,变量就是undefined。
        如果我们没有定义一个变量,而是直接去使用,那么会报错。提示 not defined。
        如果JavaScript文件中有程序报错,那么程序会停止执行。

    null:

        null是表示一个空值,但是要注意,我们定一个变量为null的时候。
        如果使用typeof操作符判断类型的时候,返回的是object,因为指向的是一个空的对象。

        null一般用于给变量初始化使用。在进行逻辑运算的时候,与undefined是相等的。     

    number:

        number类型用于表示数字,整数和浮点数。

        NaN:正数除以0的时候返回infinity,负数除以0返回-infinity。只有0除以0的时候返回NaN。任何非数字类型的值去做除法运算,都会返回NaN。
        编程中判断NaN的时候,采用isNaN(xxx)去判断。
        字符串类型转换数字有两个常用的函数,parseInt()和parseFloat(),这两个函数都比较“智能”,因此在使用的时候需要留意。
        toFixed(2)用于保留有效位数,参数是保留的位数。在JavaScript中,保留位数的时候,注意四舍五入的规则,和我们学习的数学不太一样。
        只适用于要舍去的位数值是5的情况,判断前面一位数,如果小于5,不进位,如果大于等于5,则进位。

    boolean:

        boolean的值只有true和false两种。在与数字对比的时候,只有1等于true,0等于false。
        但是,在做逻辑判断的时候,是另外一种情况。非空的值都是true,空值null也是flase。
        我们在给字符串或者其他类型转换为boolean值的时候,使用的是Boolean()函数。
        注意:转换的时候,只会关心这个变量有没有值,不会关心变量的内容。整形的变量0和1是特例。

    string:

        字符串可以使用单引号或者双引号包裹,但是不能一边使用单引号另外一边使用双引号。
        JavaScript中字符串是不允许修改,如果做字符串操作,会重新分配空间。
        字符串有个length属性,用于判断长度。转义符的长度为1。

    Object:

        创建Object对象的时候,建议使用new关键词。Object对象是JavaScript中所有对象的基类,任何对象都会自动拥有Object对象的方法。

知识点:

    数据类型是任何一门编程语言的基础,一定要好好理解。
    JavaScript中所有的变量都是使用var关键词定义。
    这几种数据类型都有一个特点,都可以衍生出数组类型,数组是将同一类型数据,多条,赋值给一个变量,用中括号包裹。
    数组变量的类型的如果使用typeof操作符,也会返回object。
    比如:数字类型数组,字符串数组,等等。

2、操作符

分类: 

    一元操作符 : ++ -- += =+ -= =- 。。。。。

        需要注意,++和--的时候,放在变量的前面,是先给变量的值做++或者--的运算。如果放在后面,是先做其他运算,再给变量自身进行++或者--的操作。 
        ++和--的步进值是1。
        += 操作符对变量没有任何改变,=+会改变变量,加上被设置的值。其他-=、=-、*=、=*。。。。。类似。

    布尔操作符 : && || !

        && : 只有两边都是true的时候,才为true。有一个为false的时候,就为false
        || : 有个为true就为true
        !  : 如果给true取反,就是false。相反如果给false取反,就是true。

        注意:做逻辑运算的时候,需要注意逻辑运算的顺序,为保证正常执行,可以使用()

    关系运算符:== > < >= <= ===

        用于两个变量之间的比较,返回true和false,前面5中会对变量进行默认类型转换。
        第6种是绝对等于,不会进行数据转换。一般用于对数据有严格要求的地方。

    条件操作符:xxx?xxx:xxx;

        也叫三元操作符,第一个表达式一般是关系操作符。
        如果值为真(true),那么执行第二个,如果为假(false),那么执行第三个。

    逗号表达式:,,,,

        逗号表达值永远执行最后一个。了解。           

知识点:

    操作符运算需要注意优先级,我这边总结了一句话,可以方便理解。算关逻条赋逗。

3、语句

分类:

    if-else:

        用于一次判断,if中的判断条件是逻辑运算,如果最终结果为true,那么执行if后面{}包裹的程序,如果为false,那么执行else后面{}包裹的程序。
        else不是必须的。

    do-while:

        可以用于多次循环遍历,先执行do中的逻辑运算,如果为true,则执行while后面()包裹的判断,如果为false,则跳出循环。
        注意和while的区别。

    while:

        用于多次循环遍历,自身拥有判断条件,如果为真则一直执行,如果有一次为false,那么会跳出循环。

    for:

        用于多次循环遍历,拥有一个三元操作符。循环的次数由后面的两个表达式控制。经常与++和--搭配使用。

    for-in:

        一般用于遍历对象的属性使用,可以方便的获取到对象的属性名称和属性值,在工作中做工具类的时候使用较多。

    label:

        代码段加标签,一般与循环中的break和continue搭配使用。不常用。

    break,continue:

        和循环搭配使用,进行逻辑的控制。break是跳出循环,continue是继续执行循环,不执行后面代码。

    with:

        简化同一个对象的频繁编写,可以使用,但是不常用。因为不便于代码的阅读理解。

    switch-case:

        功能类似if-else,但是可以方便组织代码结构。注意使用的时候,别忘了要搭配一个break。有时候还会有一个default。

知识点:

    语句是用于控制程序的逻辑结构,数据的处理,语句也是任何一门编程语言的基础,在任何语言中基本是类似的。一定要好好掌握。
    工作中经常使用的有if-else,for,for-in,while,swith,break-continue。
    其中break-continue,一般是用于循环遍历中的控制。

4、函数

概念:使用function关键词定义,可以随机定义参数,函数的参数叫做形参。

作用:函数用于包裹一个功能,比如对某种数据的处理,日期格式的转换,数据的校验等等。

知识点:函数是一次编写,多处调用。有一种神奇的函数,叫做匿名函数,在工作中使用的频率也会很高。
函数也是非常重要的功能,在工作经常使用,一定要好好学习,函数有很多玩法,后续的课程中会陆续提到。

课后作业

1、理解数据类型、操作符、语句、函数的概念,弄清楚各自在什么时候使用。

2、编写一个加、减、乘、除运算的四个函数,函数中需要弹出计算机结果是正数还是负数的提示框。

相关推荐