美文网首页
Day05-js基础语法1

Day05-js基础语法1

作者: 萌王史莱姆 | 来源:发表于2019-02-11 19:21 被阅读0次

    1.注释
    单行注释 - 注释前加两个斜杠

    多行注释
    第二行
    第三行
    

    2.标识符
    由数字、字母、下划线和组成,数字不能开头,命名一般不用,$有特殊功能
    数字不能开头
    num = 10 str1 = 'abc'
    3.关键字
    for,in,while,if,else,true,false,var,function等,有特殊功能的标识符都是关键字

    4.数据类型和字面量
    a.类型和字面量
    Number - 数字 - 表示所有数字;23,12.45(支持科学计数法),NaN(不存在的数字)
    console.log(12/0) // Infinity无穷大
    String - 字符串 - 表示所有字符串;用单引号或者双引号括起来;'abc', "abc"
    Boolean - 布尔 - true和false两个值
    Array - 数组 - 相当于python中的列表;[23, -23.9, 'abc', true]
    Object - 对象 - 相当于python中的字典+对象;{属性名:属性值,属性名2:属性值2...}
    属性值可以是任何类型,属性名可以使用引号也可以不使用引号
    Function - 函数 - 相当于python中的函数
    等...

    b.查看类型和类型转换
    查看类型:typeof(数据)
    
        console.log(typeof(100))
        ```
        类型转换:  类型名()/parseInt()/parseFloat()
    
    int1 = parseInt(12.4)
    float1 = parseFloat(12)
    num = Number('123')
    console.log(num, int1, float1)
    ```
    

    变量
    1.基本语法

    格式1:变量名 = 值
    格式2: var 变量名 = 值
    

    单独声明一个变量
    name = '小明' var name2 = '小红' console.log(name, name2)
    同时声明多个变量赋一样的值
    a = b = c = 10 console.log(a, b, c)
    同时声明多个变量赋不同的值;
    注意:使用var声明变量的时候,可以不给变量赋初值,默认是undefined

        a1 = 10, b1 = 20
        console.log(a1, b1)
        
        var a2, b2, c2
        console.log(a2, b2, c2)
    

    运算符
    js支持:数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算符

    1.数学运算符: +,-,*,/,%,++,--(和python比少了整除和幂运算,多了++和--)
    +,-,*,/,%和python一样

    ++(自加1), --(自减1)
    变量++、++变量 - 让变量自己的值加1
    变量--、--变量 - 让变量自己的值减1

        num = 10
        num++    //相当于:num += 1
        ++num
        num--    //相当于:num -= 1
        console.log(num)
        
        //坑!!!!!
        num1 = 10
        //先赋值再加1
        num2 = num1++
        
        num11 = 10
        //先加1再赋值
        num22 = ++num11
        console.log(num2, num22)
    

    2.比较运算符: >,<,>=,<=,==,!=,===,!==
    结果都是布尔
    比较大小和python一样
    ==判断值是否相等,!=判断值是否不相等
    ===判断值和类型是否相等,!==判断值和类型是否不相等(相当于python的==和!=)

        console.log(5 == 5)      //true
        console.log(5 == '5')    //true
        console.log(5 === 5)     //true
        console.log(5 === '5')   //false
    

    3.逻辑运算符:&&(逻辑与)、||(逻辑或)、!(逻辑非)
    运算规则和python一样

    4.赋值运算符: =, +=, -=, *=, /=, %=
    运算规则和python一样

    5.位运算符: &、|、~、^
    和python一样

    6.复合运算和python一样

    7.三目运算符
    ?: - 条件语句?值1:值2 (条件语句成立结果是值1,否则是值2)


    分支结构
    js中的分支结构有两种: if语句、switch语句

    1.if语句

        if(条件语句){  
             条件语句成立执行的代码段
         }
         
           if(条件语句){
            条件语句成立执行的代码段
         }else{
            条件语句不成立执行的代码段
         }
         
           if(条件语句1){
            条件语句1成立执行的代码段
         }else if(条件语句2){
            条件语句2成立执行的代码段
         }else if(条件语句3){
            条件语句3成立执行的代码段
         }else{
            前面的条件语句都不成立执行的代码段
         }
    
        num = 10
        if(num%2 == 0){
            console.log('偶数')
        }else{
            console.log('奇数')
        }
    

    2.switch语句

    a.语法

         switch(表达式){
            case 值1:{
                代码段1
            }
            case 值2:{
                代码段2
            }
            case 值3:{
                代码段3
            }
            ...
            default:{
                代码段4
            }
         }
    

    注意:case后面的{}可以省略,代码段也可以没有

    b.执行过程: 先计算表达式的结果,然后再从上往下和每个case后面的值进行比较,判断是否相等
    找到第一个和表达式的结果相等的case,然后将这个case作为入口,依次执行后面的所有代码段
    直到执行到最后一个代码段或者遇到break才结束
    如果表达式的结果和每个case的值都不相等,将default作为入口,直接执行default后面的代码段
    注意:default一般放在最后


    循环
    js中的循环结构有两种:for循环、while循环

    1.for循环
    1)python中的for循环: for-in

         for(变量 in 序列){
            循环体
         }
    

    注意:不管序列是什么类型,变量取的都是下标/属性名(key)
    str1 = 'abc' for(index in str1){ console.log(index, str1[index]) }
    2)C的for循环
    a.语法:

         for(表达式1;表达式2;表达式3){
            循环体
         }
    

    b.执行过程相当于下面的while循环:

         表达式1
         while(表达式2){
            循环体
            表达式3
         }
    

    2.while循环
    1)python的while循环

        while(条件语句){
            循环体
        }
    

    2)C的do-while

         do{
            循环体
         }while(条件语句)
    

    执行过程:会先执行一次循环体,然后才去判断条件语句是否为true


    函数
    1.语法

            function 函数名(参数列表){
            函数体
        }
    

    a.不支持关键字参数
    b.不支持不定长参数
    c.不支持多个返回值

        function sum(x,y=300){
            console.log('函数体',x,y)
            return x+y
        }
        
        sum(10, 20)
        sum(11)
    

    2.声明函数的时候就是声明类型是Function的变量

        console.log(sum)
        
        a = sum
        a('a','b')
    

    3.匿名函数

        function(参数列表){
            函数体
        }
    

    注意:如果函数体中没有return,函数的返回值是undefined

        func1 = function(a){
            console.log(a)
        }
        
        func1('hello js')
    

    相关文章

      网友评论

          本文标题:Day05-js基础语法1

          本文链接:https://www.haomeiwen.com/subject/erfceqtx.html