运算符优先级/模板字符串/类型转换

1. 运算符优先级

优先级 顺序
1 ()
2 ++  --  !
3 先 * / % 后 + -
4 > >= < <=
5 ==  != === !==
6 先&& 后 ||
7 =

2. 模板字符串``中输入变量

模板字符串中可换行,变量放在${}中

3. 数据转换

为什么需要转换?

使用表单,prompt 获取过来的数据默认是字符串类型,此时就不能直接进行加法运算

3.1 显式转换

手动写代码告诉系统转成什么类型(数据类型很明确,程序员主导)

类型主要转换成数字型、字符串型、布尔型

显示转换为数字型

①Number(“1”)最常用的方式

以数字开头的字符串,如果只保留数字,就可以使用 ②parseInt(数据)、③parseFloat(数据) 

        // var num1 = prompt("请输入第一个数");
        // var num2 = prompt("请输入第二个数");
        // alert(num1+num2);

        console.log(typeof Number("1"))  //number
        console.log(Number("abc"));  //NaN
        console.log(Number(true));  //1
        console.log(Number(false));  //0

        console.log(Number(null));  //0
        console.log(Number(undefined)); //NaN

        console.log("-----------");
        // 把以数字开头的字符串  如果只保留数字  就可以使用parseInt  parseFloat
        console.log(parseInt("100px"));//100
        console.log(parseInt("100.5px"));//100
        // parseFloat 保留小数
        console.log(parseFloat("100.5px")); //100.5

        /* 
         数据类型转换有两种:1.显式转换  2.隐式转换
         显式转换:自己手动写代码告诉系统转成什么类型(数据类型很明确,程序员主导)

         Number("1")
        
         类型转换主要转换为 数字型  字符串型  布尔型


         转换为数字型  
         Number("1")最常用的方式  
         parseInt(数据)  parseFloat(数据) 固定使用场景
        */

显示转换为字符型

①String(数据) 返回字符串类型

②变量.toString(进制)

    /* 
      转换为字符型
      String(数据)  返回字符串类型
      变量.toString(进制)

      转换为布尔型
      Boolean(数据)
    
    
    */

    // 开发中提倡使用
    console.log(typeof String(1))
    console.log(String(true))  //"true"

    //变量.toString()
    var num = 10
    console.log(typeof num.toString())  //string--
    console.log(num.toString(10))   //10
    console.log(num.toString(8))  //12

/* 
  转换为布尔类型 Boolean()
  有6种情况为false    : false  0 '' null  undefined NaN 
  其余的为true

*/
console.log(Boolean(false))  //false
console.log(Boolean(0));//false
console.log(Boolean(1)) //true
console.log(Boolean(''));//false
console.log(Boolean(null)) //false
console.log(Boolean(undefined)) //false
console.log(Boolean(NaN)) //false

显示转换为布尔型

有6种情况为 false:false,0,'', null,undefined,NaN

其余的为 true

3.2 隐式转换

某些运算被执行时,系统内部自动将数据类型进行转换

        /* 
          某些运算符被执行时,系统内部自动将数据类型进行转换, ---隐式转换

          1.转换为数字型
            算术运算符  - *  /  %  比较运算符 >  ==
            + 作为正号 可以把字符串转换成数字型
          2.转换为字符串型
           + 号字符串拼接
          3.转换为布尔型
          !  逻辑非
        */

        console.log(3=='3')
        console.log(8- '4');
        console.log('1999'* '2');
        console.log(3>'1')

        console.log(+'123')
        console.log(typeof +'123')

        // var num1 = + prompt("请输入一个数");
        // var num2 = + prompt("请输入一个数");
        // alert(num1 + num2)
        console.log("-----------------")
        console.log('hello'+12)
        console.log('' + 12);  //'12'
        console.log("-----------------")
        console.log(!true)  //false
        console.log(!0) //true
        console.log(!'')  //true
        console.log(!null) //true
        console.log(!undefined);//true
        console.log(!NaN) //true
        console.log(!false) //true
        console.log(!'hello')  //false

1. 转换为数字型

    算术运算符:- * / %,比较运算符:> ==

    + 作为正号 可以把字符串转换成数字型

let num = +propt('请输入一个数')

2. 转换为字符串型

    + 号字符串拼接

'hello' + 12
'' + 12

3. 转换为布尔型

    ! 逻辑非

你可能感兴趣的:(JavaScript,javascript)