JS剩余数据类型转换及运算符和分支语句

81 阅读4分钟

一、JS的数据类型转换

1.转换为字符串数据类型

    1. 变量.toString() 方法     注意: S 是大写的
                   注意: undefined 类型 和 null 不能使用 toString 方法
                   (因为 JS 没有给我们提供, 或者说 JS 不允许)
      
    2. String(变量)     注意 S 也是大写
               什么类型都可以转换为字符串类型的, 包括undefinednull 类型
      
    3. 扩展: 开发时常用的一个方法!
                   变量 + ''      
               转换结果于 String 类似, 写法上更简单一些, 所以推荐使用

2.转换为布尔类型

    Boolean(变量)   将其他数据类型, 转换为 布尔值(也就是转换为 true 或者 false)
        1. 数字转换布尔值, 只有0会转换为 false   其他的数字都会转换为 true, (非0即为真)
        2. 字符串转换布尔值, 只有 空字符串 会转换为 false 其他的字符串都会转换为 true
       ** 3. undefinednull 转换为 布尔值的时候 就是 false  (重点)**

二、JS的运算符

1.算数运算符

    加减乘除  取余(求余数)
               + - * / %
                   注意: + 运算符, 相加时如果两边都是数字, 那么会运算数字的相加操作
                         相加时如果两边有一个不是数字的, 比如出现一个字符串, 那么运行的不是在相加, 而是拼接操作
                         拼接操作只有 + 运算时会出现, 其他符号不出现
                    其他运算符在遇到两边有非数字类型时, 会将其转换为 数字(这一步就叫做隐式转换), 然后再运算

2.赋值运算符

    =
           +=  相当于是 "我自身" 加上一个新值, 就可以用这个 += 来优化, 例子: a = a + 10    优化后: a += 10
           -=  *=  /=  %=      运算逻辑与 += 是完全相同的

3.比较运算符

    比较运算符两边的值之后, 返回一个 布尔值, 也就是返回一个true或者false   
           判断 大于  小于   大于等于   小于等于
                  >    <        >=        <=

           判断相等
                       注意:       =   赋值号
           ==      ===   在JS中 等号出现两次或者三次时代表 等于的意思
               
               两个等号与 三个等号的区别  
                   ==  在JS中判断时会做隐式转换, 也就是说 只会对比值是否相等, 不会对比数据类型
                   ===  JS 中也叫做全等, 在判断的时候不会做隐式转换, 也就是说, 在对比时除了会对比值是否相等, 还会判断数据类型
      
           判断不相等
               !=      !==
                   共同点: 判断符号两边的值是否不相等, 不相等时返回 true 相等时返回 false
                   不同点
                       !=  不会对比数据类型
                       !== 会对比数据类型

4.逻辑运算符

          &&      逻辑与(相当于并且的意思)
          ||      逻辑或(相当于或者的意思)
           !       逻辑非(取反, 反义词)
      
      
           逻辑与运算符的特性!!!
               符号左边的值 如果为真(也就是转为布尔值后为true), 那么会返回 符号右边的值
                           如果为 假(也就是转为布尔值后为 false), 那么会将自身返回出去
      
           逻辑或运算符的特性!!!
               符号左边的值 如果为真, 那么会将自身返回出去
                           如果为假, 那么会将符号右侧的值返回出去
      
           逻辑非运算符的特性!!!
               语法: !值
               返回值: 将值转换为布尔值之后, 做一个取反的操作, 也就是 true 改变false, false改变为 true

5.自增自减运算符

         ++      --
      
           语法:(自增自减都是相同的语法, 这里就拿 自增为例)
               1. ++值
               2. 值++
      
           自增运算符的能力就是将自身的值 +1
           自减运算符的能力就是将自身的值 -1
      
           自增自减运算符 写法不同, 运行结果也不同
               1. ++值(++在前)
                   如果 ++ 在前, 那么会先将自身的值 +1     然后参与其他的
               2. 值++(++在后)
                   如果 ++ 在后, 那么会先参与周围的运算, 然后将自身的值 +1
      
               自减运算符在前与在后的作用与 自增运算符完全相同, 只不过是 -1

三、分支语句

    想法: 打开页面是, 1 和 2 只会执行其中某一个, 但是我要求这两行代码都要写
      
           如果想完成这个需求, 依靠我们目前的技能, 是无法完成的
           只能依靠现在要学习的 分支语句来帮助我们完成
      
     分支语句: 根据我们设置好的条件!!!  然后来决定执行那些代码

1.if分支语句

    语法:  if (条件) {满足条件的时候执行的代码, 如果不满足, 这里边的代码永远不执行}
                      条件最终会返回一个布尔值, 如果为真, 那么会执行对应的代码
                                               如果为假, 那么不会执行
    例: `var a = 2
        if (a === 1) {
            console.log(1)
        } else if (a === 2) {
            console.log(2)
        } else {
            console.log('a 不等于 1或者2')
        }`