js

特点

  1. 不完善
  2. 有很多默认遵守的规则

语法

  1. 注释:

    //空*        #单行注释
    /*  */       #多行注释  
    
  2. 书写位置

    1.
    <head>
        <script>第一种位置</script>
    </head>
    
    <body>
    
    
    2.
    第二种位置body底部
    </body>
    
    
    3.直接写一个js脚本,引入
    <script src=''>第三种方式</script>
    
    4.在浏览器控制台书写
    
  3. 规范

    ;  结束符
    代码报错了,页面依然正常显示
    
    
  4. 变量

    1. 定义方法
    var name=""
    
    let name=""     #es6新语法,作用域比var小
    
    const NAME=""    #常量定义,不允许修改
    
  5. 数据类型:

    1. 类型

      1. Number=int+float

        1. 类型转换:parseInt var/parseFloat(var)
      2. string

        多行字符
        var a=`as
        bd
        dc
        ed
        cd`
        
        格式化字符串
        
        var b= `my name is ${a}`
        
        拼接字符串
        var c=a+b
        
        常用方法
        .length
        .trim()
        .trimLeft()
        .trimRight()
        .indexof("")  #字符的索引
        .charAt(n)   #索引为n的字符
        .substring(a,b) #切片 索引a到b,不能用负索引?
        .toLowerCase()  #转小写
        .toUpperCase()   #转大写
        .split('a',n)      #用a切分出2个元素
        .concat(a,b,c)    #与a,b,c拼一起
        .toString()         #强制类型转换为字符串
        
      3. undefined 和null

        1. null 空,指定清空变量时用
        2. undefined 声明了一个变量但是没有做初始化
      4. bollean=true/false

        1. true:others
        2. false:空字符串、0、null、undefined、NaN
        3. 类型转换:Boolean(var)
      5. object

    2. 方法:

      1. typeof(var) 查看类型
      2. parseInt(var) /parseFloat(var)字符串转number
      3. NaN = not a number
  6. 运算符

    1. 算数运算符

      1. +/ -*/()% #加减乘除,优先运算,取余
      2. 任何有NaN参加的运算结果都是NaN
      3. null 运算中转为0,undefined转为NaN
    2. 比较运算符

      >
      <
      <=
      >=
      ==    #相等
      !=
      ===   #全等,判断数据类型
      !==   #不全等
      
      Infinity   #无穷大
      
      字符串比较按照ASCII码顺序
      
      比较顺序:从前往后
      
    3. 逻辑运算符

      &&    #与
      ||    #或
      !     #非
      
    4. 赋值运算符

      =
      +=
      -=
      *=
      /=
      %=
      ++      #递增
      --      #递减
      
    5. 一元运算符

      var a=10
      var res1= ++a    #res1=12??
      var res2 =a++    #res2=11
      
      var res1= --a    #res1=8??
      var res2 =a--   #res2=9
      
    6. 运算优先级()>一元>算数>比较>逻辑>赋值

  7. 流程控制

    1. if判断

      if (条件){结果}else if(条件){结果}else{结果}
      
    2. switch-case

      switch (num){case0:***;break;
      case1:***;break;
      case2:***;break;
      default:***
      }  #num用来选择case;如果没有break,case1执行完了就会依次往下
      
    3. for

      for (let i=0;i<10;i++){console.log(i)}
      #打印0-9
      
    4. while

      while (i<100){console.log(i)}
      
    5. do while :后侧循环,最少执行一次

      do{console.log(i)}while(i<100)
      
    6. 三元运算符

      var res=1>2?4:6   #?前为条件,  :前后为条件成立或不成立的值(如果1>2则res=4,否则res=6)
      
  8. 数组

    1. 定义

      var arr=[]
      var arr=new Array()
      
    2. 方法

      arr.length
      
      arr.forEach((item,index)=>{console.log(`${index}:${item}`)})#打印索引:值
      
      arr.forEach(function (item,index)  {
        console.log(`Element at index ${index}: ${item}`);
      });
      
      for (const item of arr){console.log(item)}
      
      
      arr.concat(arr2)    #arr本身不变,生成第三个
      
      arr.join(',')     #用,将arr数组中的元素链接为字符串
      
      arr.pop()      #删除arr的最后一个元素,返回值是删除的那个元素
      
      arr.shift()     #删除arr的第一个元素,返回值是删除的那个元素
      
      arr.unshift('a')  #在arr数组开头插入字符a
      
      arr.push('a')    #在arr数组结尾插入字符a
      
      arr.reverse()    #翻转数组
      
      arr.sort()    #排序
      
      arr.slice(s,e)  #截取s到e子数组
      
      arr.splice(a,c,'c',...)#从下标a开始删除c个元素,插入字符c...
      
      arr.toString()
      
      arr.valueof()
      
      arr.indexof('a') 
      
      arr.lastIndexOf('a')
      
      arr.map(a=>a*a)
      
      arr.filter(a=>a%2===0)
      
      arr.every(a=>a)??   #all
      
      arr.some(a=>a)      #any
      
      arr.reduce((total,num)=>total+num,0)??
      
      arr.rightReduce((total,num)=>total+num,0)??
      
      
      
  9. 函数对象

    1. console.log(var) #打印 print

    2. alert() #弹框显示

    3. prompt(var) #输入框 input

    4. 定义:参数传多传少一样执行,不报错

      fuction fun(a,b){...return...}
      
    5. 参数

    6. 匿名函数

    7. 递归

    8. 作用域

    9. 箭头函数

  10. 内置方法

  11. 对象

    1. 对象字面量:var obj={}
    2. var obj= new object()
posted @ 2024-06-07 16:31  zenopan  阅读(10)  评论(0编辑  收藏  举报