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")) //numberconsole.log(Number("abc")); //NaNconsole.log(Number(true)); //1console.log(Number(false)); //0console.log(Number(null)); //0console.log(Number(undefined)); //NaNconsole.log("-----------");// 把以数字开头的字符串 如果只保留数字 就可以使用parseInt parseFloatconsole.log(parseInt("100px"));//100console.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 = 10console.log(typeof num.toString()) //string--console.log(num.toString(10)) //10console.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) //falseconsole.log(!0) //trueconsole.log(!'') //trueconsole.log(!null) //trueconsole.log(!undefined);//trueconsole.log(!NaN) //trueconsole.log(!false) //trueconsole.log(!'hello') //false
1. 转换为数字型
算术运算符:- * / %,比较运算符:> ==
+ 作为正号 可以把字符串转换成数字型
let num = +propt('请输入一个数')
2. 转换为字符串型
+ 号字符串拼接
'hello' + 12
'' + 12
3. 转换为布尔型
! 逻辑非