js基础

作者: 憨猜猜 | 来源:发表于2019-02-11 21:00 被阅读0次

    1.基本语法

    1.控制台输出
    console.log(输出内容) - 和print的功能一样
    
    2.注释 - 和c一样
    //单行注释
    /*
    *  多行注释
    */
    
    3.标识符
    由字母数字下划线和$组成,数字不能开头
    
    4.行和缩进
    从语法角度,js代码怎么换行和缩进都无所谓。js中通过{}来确定代码块
    
    5.常见的数据类型:数字,布尔,字符串,数组,对象,函数
    a.数字(Number) - 包含所有的数字,包含整数和小数,支持科学计数法,不支持虚数
    b.布尔(Boolean) - 只有两个值true和false。这两个值是关键字;分别代表‘真’和‘假’
    c.字符串(String) - 使用单引号或者双引号引起来的字符集
    d.数组(Aeeay) - 相当于python中的列表
    e.对象(object) - 相当于python中的字典和对象
    f.函数(Function) - 相当于python中的函数
    

    2.变量

    1.变量声明
    变量名=值
    语法1:变量名=值
    变量名-标识符,不能是关键字;驼峰式命名(第一个单词首字母小写,后面每个单词首字母大写);见名思意
    
    语法2:var 变量名 = 值或者var 变量名
    var - 声明变量的关键字
    补充:js中两个特殊的值 - undefined(没有,空)和null(清空)
    

    3.运算符

    1.数学运算符:+,-,*,/,%,++,--
    
    ++,-- 都是单目运算符,使用方式:变量++/--,++/--变量
    
    a.++  - 自加1运算;让变量本身值加1
    b.--   - 自减1运算:让变量本身值减1
    
    坑:用一个变量单独使用++/--的时候,++/--放前面和放后面效果一样;
    如果是使用++/--运算的结果给另一个变量赋值,++/--放前面是先自加/自减在赋值
    ++/--放后面是先赋值在自加/自减
    
    2.比较运算符:>,<,==,!=,<=,>=,===,!==
    结果是布尔值
    比较大小的和python一样
    a.==:判断值是否相等
    b.===:判断值和类型是否相等(完全相等),相当于python中的==,!==相当于python中的!=
    
    3.逻辑运算符:&&(逻辑与)、||(逻辑或)、!(逻辑非)
    运算规则和使用方式和python的逻辑运算一样
    
    4.赋值运算符:=,+=,-=,*=,/=,%=
    和python一模一样
    
    5.三目运算符 - ?:
    语法:
    条件语句?值1:值2 - 判断条件语句的值是否为true,为true整个表达式的结果就是值1否则就是值2
    

    4分之结构

    js中的分之结构有两种:if 和switch
    1.if 语句
    a.if
    if(条件语句){
        满足条件会执行的代码
    }
    b.if - else
    if(条件语句){
        代码段1
    }else{
        代码段2
    }
    c.if - else if - else
    if(条件语句){
        代码段1
    }else if(条件语句){
        代码段2
    }else if (条件语句){
       代码段3
    }else{
    代码段4
    }
    执行过程和python一模一样
    
    2.switch语句
    a.结构:
    switch(表达式){
          case 值1:
                  代码段1
          case 值2:
                  代码段2
          ···
         default:
                   代码段3
    }
    
    b.执行过程:
    使用表达式的值依次和后面每一个case后面的值进行比较,看是否相等。
    找到第一个和表达式的值相等的case,将这个case作为入口,依次执行后面所有的代码
    直到执行完成或者遇到break为止。如果每个case的值都和表达式的值不相等
    就执行default后面的代码
    
    注意:case后面必须是一个有结果的表达式
    
     a=10
         switch(a){
            case 5 :
                console.log('表达式1')
            case 6:
                console.log('表达式2')
            case 7:
                console.log('表达式3')
            case 10:
                console.log('表达式4')
            case 11:
                console.log('表达式5')
                //break
            default:
                console.log('表达式6')
            
         }
    

    5.循环结构

    js中有for循环和while循环两种
    1.for循环
    a.for  in 
    结构:
    for(变量 in 序列){
    循环体
    }
    执行过程和python一样,但是变量取到的不是元素,而是下标/key(属性名)
    序列 - 字符串,数组,对象
    
    b.c的for循环
    结构:
    for(表达式1;表达式2;表达式3){
    循环体
    }
    执行过程:先执行表达式1;判断表达式2的值是否为true,如果为true就执行循环体,执行完循环体在执行表达式3
    然后判断表达式2是否为true,为true就执行循环体,执行完循环体,在执行表达式3
    ···
    以此类推,直到表达式的结果为false为止(循环结束)
    
    表达式1
    while (表达式2){
           循环体
           表达式3
    }
    
    表达式1
    for (表达式2){
           循环体
           表达式3
    }
    
    2.while循环
    a.while循环
    while (条件语句){
          循环体
    }
    执行过程和python一模一样
    
    b.do-while循环
    do{
        循环体
    }while(条件语句)
    区别:do-while的循环体至少会执行一次
    
    

    6.函数

    1.函数的声明
    function 函数名(参数列表){
            函数体
    }
    js中的函数除了声明的关键字不一样,其他的都一样
    
    参数可以设置默认值,也可以通过关键字参数来调用函数
    
    2.函数的调用
    函数名(实参列表)
    
    js中所有的函数都有返回值,默认是undefined
    
    
    3.匿名函数(函数的字面量)
    函数名 = function(参数列表){函数体}
    
    4.变量的作用域
    a.全局变量:只要声明在函数外面的变量就是全局变量;在函数中以'变量名=值'的形式声明的变量就是全局变量
    
    b.局部变量:以关键字var关键字声明在函数中的变量,才是局部变量
    
    

    7.字符串

    1.字符串运算
    a.加法运算:做字符串拼接操作
    注意:js中支持字符串和其他数据相加
    
    b.比较运算:>,<,==,===,!=,!==
    比较相等
    比较大小:和python字符串比较大小的方式一样
    
    c.字符串长度
    字符串.length
    
    2.相关方法
    创建字符串对象
    
    a.big方法
    产生一个big标签,并且标签中的内容就是字符串中的值
    b.charAt(下标)
    获取指定下标对应的字符;相当于:字符串[下标]
    c.字符串.charCodeAt(下标)
    获取指定下标对应的字符的编码(js中的字符采用的也是Unicode编码)
    d.字符串.concat(数据1,数据2......)
    将字符串和多个数据依次连接在一起产生一个新的字符串(相当于+的功能)
    e.字符串1.endswith(字符串2)
    判断字符串1是否以字符串2结尾
    f.字符串1.indexOf(字符串2)
    获取字符串2在字符串1中出现的第一次的位置
    g.字符串1.lastIndexOf(字符串2)
    获取字符串2在字符串1中出现的最后一次的位置
    h.字符串.match(正则表达式)
    相当于python中re模块的match;匹配成功返回一个数组
    i.字符串.repea(数字)
    指定的字符串重复出现指定次数产生一个新的字符串(相当于python中的*)
    j.字符串1.replace(正则表达式,字符串2)
    将字符串1中第一个满足正则表达式的子串替换成字符串2
    k.字符串.slice(开始下标,结束下标)
    从开始下标获取到结束下标为止,步长是1
    注意:这的下标可以是负数,代表倒数第几个
    l.字符串1.split(字符串2)
    将字符串1按照字符串2进行切割,返回一个数组
    

    8.数组

    1.加法运算:两个数组相加实质是将数组转换成字符串然后拼接
    
    2.比较运算
    ==、===判断相等时判断地址石佛偶相等,和python中的is一样
    
    3.数组长度:length属性
    
    2.元素的增删改查
    查:获取元素
    a.获取单个元素
    数组[下标] - 获取下标对应的元素
    注意:负数的下标没有意义
    b.切片:
    数组.slice(开始下标,结束下标) - 返回一个新的数组
    注意:结束下标取不到,下标可以时负数;开始下标要在结束下标的前面
    c.遍历
    for(index in fruits){
            console.log(fruits[index])
        }
    
    增:添加元素
    数组.push(元素) - 在指定的素组的最后添加指定的元素
    
    删:删除最后一个元素
    数组.pop() - 删除最后一个元素
    数组.splice(下标,个数) - 从指定下标开始删除指定个数的元素
    
    改:修改元素
    数组[下标] = 新值 - 修改指定下标对应的值
    
    
    3.相关方法
     数组.reverse()
    倒序
    
    数组.sort()
    元素从小到大
    注意:当判断一个数组纯数字,中位数不同的时候是先判断第一位,在判断第二位来排序......
    
    数组.sort(函数) - 按指定规则对数组中的元素进行排序
    函数的要求:两个参数(代表的是数组中的两个元素),一个返回值(两个元素或者两个元素的属性的差)
    
    数组.join (字符串)
    将指定的字符串插入到数组的每个元素之间产生一个新的字符串
    
    

    9.对象字面量

    1.对象字面量
    用大括号括起来,里面是多个属性,属性名和属性值之间用冒号连接,多个属性之间用逗号隔开
    注意:1).对象字面量需要保存 2).属性名可以加引号也可以不加(没有区别)
    
    2.获取对象属性对应的值
    1)对象[属性名]
    2)对象.属性
    
    3.增:添加属性
    1)对象.属性 = 值
    2)对象[属性] = 值
    属性不存在就是添加
    
    4.构造方法 - 创建对象的方法
    语法
    function 类名 (参数列表){
            对象属性
            对象方法
    }
    说明:
    a.对象属性:this.属性名 = 值
    b.对像方法:this.方法名=匿名函数
    c.类名:首字母大写
    这的this相当于python中的self
    
    5.创建对象
    对象=new 构造方法()
    注意:js中声明全局变量实质都是添加给window对象的属性
    
    6.添加类的全局的属性
    类名.prototype.属性名 = 属性值 - 给指定的类的所有对象添加属性
    
    //7.系统的对象和类
        //document对象
        //window对象
        //Element类型的对象
        //date类型的对象
        //。。。。
        //创建时间对象
        date1 = new Date()
        console.log(date1)
        //年
        year = date1.getFullYear()
        //月 - 从0开始
        month = date1.getMonth()
        //日
        day = date1.getDate()
        //时
        hours = date1.getHours()
        //分
        min = date1.getMinutes()
        //秒
        seconds = date1.getSeconds()
        //星期
        week = date1.getDate()
    

    相关文章

      网友评论

          本文标题:js基础

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