JS 09-19 or 20

数据类型转换

强制类型转化

  • ParseInt 将数字或者字符转化整形
  • Parsefloat 将数字或者字符转化为浮点型 如果转化内容结果是整形 那么结果就是整形 不会是浮点型

  • Number(‘内容’)结果只有两种: 一种是 数字类型 一种是NaN 主要内容中有一个不是数字 那么结果就是NaN
  • String 将内容转化为字符串类型 :当使用string 转化null undefined 会直接将这个原始的数据类型转化为字符串
  • Boolean 把任何内容转化为布尔值 把任何内容转化为true和false
    转为布尔值为false的情况 :undefined null false 0 NaN ‘’或者“”“” 空字符串
    总结 如果是strin类型g只要不是空字符串 转化出来就是true number类型 只要不是0转化出来就是true object类型 只要不是null 转化出来都是true undefined类型 都会转化为false

隐式类型转化

  • 判断里面 结果转化为布尔值
  • 具有字符串的加法 两边都要转化为字符串 就是字符串的拼接
  • 如果是数字与字符串比较大小 这种情况下 字符串要哦转化为数字
  • 减法运算的时候字符串要转化为数字
    技巧:快速的实现字符串转化为数字 减0运算

运算符号

算数运算符

  • 加法运算符 数字的加法 字符串的加法
    数字的加法就是简单的数字相加 要求 加好两边都是数值类型
    字符串的加法是字符串拼接 只要 加号两边有一边是字符串 那么 这个运算就是字符串的拼接 (字符串必须放在引号里 )

  • 减法运算符 数字的减法 会进行影视类型的转化 如果减号两边 有一边不是数字 那么会自动转化为数字类型

  • 乘法(*)与除法(/) 就是简单的数字运算
    Js里面除法运算的除数是可以为0的 结果为无穷 infinity

  • 取余(%) 余数运算 就是除法运算在得到结果为整数的情况下 被除数剩下的值
    余数 5%2 = 1 10%3 = 1
    取余运算符号只与被除数有关 被除数是什么符号 余数就是什么符号
    绝对值 某一个数字的正数值 正数的绝对值就是本身 负数的绝对值是相反数 0的绝对值 就是0

  • Math.abs()获取绝对值

  • Math.pow()次方运算

  • Math.rando()随机数
    虽然浮点数也能够进行取余运算 极度不精确

自增与自减运算

  • i++ 对i加一然后结果赋值给I 和i=i+1一样
  • i- 同上
    ++I单独使用同上
    --I 单独使用同上
    区别
    如果自增自减运算参与其他运算 那么后++要先参加运算然后再自增或自减 前加加是先自增或自减 然后再参与运算
  • 乘方运算 **
    3**2=9

赋值

Var a = 1
A = a+2 ==a+=2
+=
-=
*=
/=
%=

比较(关系)运算符

< > >= <=
== 判断是否相同
=== 判断值是否相同
!= 判断是否 不同
!== 判断不全等

  • 这些比较运算符 一般是用在需要判断的地方 比如if while 等小括号里面 返回值一定是一个布尔值
    如果是数字与字符串进行比较 那么先比较第一个字符 第一个字符打的字符串大 第一个字符相同再比较第二个字符
    字符大小是按照Unicode编码确定的
    Unicode编码

NaN与任何数比较都是false

逻辑运算符

&&与 符号两边的条件同时符合 才会返回true
||或 符号两边 只要有一边 符合条件就会返回true
!非 取反 true转为false false转为true
短路运算
当逻辑判断操作 前面的操作已经得出结果的时候 后面的操作就不再执行 具体指或操作的第一个判断返回true 与操作的第一个判断返回false

三元运算符

三元 三个操作数
自增 自减 一元操作符 i++
== > 二元操作符 a>b a==b
? :
条件?操作1 :操作2
If(条件){操作1} else{操作2}

Innertext
获取标签里面的内容 不获取标签
123
innerHTML 123
innertext 123

eval 运行一个字符串表达式
能够把一个字符串当做表达式 来进行运算


程序的三大流程

  • 顺序结构
    If
  • 循环结构
  • 选择结构(分支结构)

流程图
开始和结束 圆角矩形 程序总是从开始作为入口从结束作为出口
过程 每一个步骤都是一个过程 过程是使用矩形来表示的 过程只能有一个入口一个出口
判断 里面是一个条件判断 用 菱形来表示 一个入口多个出口

If结构

  • 单句if

    • If(条件)一句代码;
      如果符合条件的结果语句只有一条 那么if后面的大括号可以省略
      等价于
      If(判断条件){
      一句代码 ;
      }
      虽然这个很简洁但是不建议这样使用 即使只有一句代码也要加上大括号
  • 一般if

    • If(条件){
      一组语句;
      }
  • 双分支if

    • If(条件){
      一组语句
      }else{
      一组语句
      }
      这个语句相对来说比较麻烦 如果语句比较少的时候可以使用 如果语句比较多 那么转化为单分支if(一般 if)
      If(a==1){
      }
      If(!a==1){}
  • 多分支结构if
    If(判断){
    }else if(判断){}
    Else if{}
    Else{}

Switch结构
不确定具体值的用if结构
确定具体值的并且值的个数是有限个(数量不能太多) 的时候就用switch
Switch(判断的值){
Case 第一个值:
语句;
Break;
Case 第二个值:
语句;
Break;
Default:
语句;
Break;
}
Break 是为了跳出一个代码块 如果没有break 那么switch case后面代码会继续往下执行 下面的case判断不起作用

For循环结构
For(初始化;判断条件;改变循环条件){

}
While循环
初始化
While(判断条件){

改变循环条件
}

Do while
Do{、

}while();
区别 while循环县判断在执行 不符合条件的一次都不运行
Do---while 先执行 然后在判断 不符合条件的至少执行一次

Break 与continue

Break 跳出代码块
Continue 继续执行 但结束本次
Label语法 控制break和continue
一般不使用 但是可能遇到
label_name
For(){
Break name
Continue name
}

你可能感兴趣的:(JS 09-19 or 20)