Day10
01-数据类型
想要查看一个数据的类型可以用typeof
可以在控制台打印:
console.log(typeof )
02-字符串
'' "" 包裹起来的数据就是字符串
单引号双引号必须成对出现
自己不能嵌套自己
必要的时候必须自己嵌套自己那么就需要使用转义字符 \
eg: let str1 = 'i\'am zhangsan'
格式化输出以及模板字符串:
let str = "zhangsan"
let age = 21
用户:zhangsan,"年龄:21 岁了。:
1、使用+
console.log("用户:"+str+",年龄:"+age+"岁了。")
2、"" '' ``模板字符串可以进行换行,并且能够配合${}实现格式化输出
console.log(`用户是:${str},年龄是:${age}。`)
let str2 = `
zhang
san
si
mi
da
`
console.log(str2)
在js当中,给变量赋值的数据是什么类型,该变量就是什么类型
03-算数运算符
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
let a = 12
let b =3
console.log(a+b)
console.log(a-b)
console.log(a*b)
console.log(a/b)
// 取余 13/4
console.log(13%4)
// 幂次方 ** 2**3 x**n
console.log(2**4)
</script>
</body>
</html>
04-比较运算符
> < >= <= == != === 结果是布尔值
= 赋值
1=="1" 比较的是值 会在比较之前自动进行数据类型的转换
=== 即会比较值,又会比较数据类型
05-逻辑比较符
and or not
&&:两真才真,一假则假 || :一真则真,两假才假 !:不是
| & 短路或 短路与
06-赋值运算符
=:把运算符右边的数据赋值给左边的变量
a+=21 a=a+21
07-自增自减运算符
后加加和后减减的运算优先级低于赋值运算符
let num =12
let b = num ++
num=13
c=num--
num=12
let d = ++b
前加加,前减减的运算优先级高于赋值运算符
d=13
08-位移运算符
基于二进制
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 与运算 两个1才为1
// 11 & 10
console.log(11&10)
// 或运算
// 11 |10
console.log(11 | 10)
// 异或运算 ^ 相反为1
console.log(11^10)
// <<左移运算符
console.log(10<<2)
// 无符号位的右移
// console.log(-10>>>2)
// >> 有符号位的右移 整数补0 负数补1
// -11
console.log(-11>>2)
// 用户输入两个数,你去打印出来两数之和
let num1 = prompt("请输入num1:")
console.log(typeof num1)
09-类型转换
隐式转换
console.log("12"+3)
console.log("12" - 3)
显示转换 :Number
把数据尽可能的转换为整数:parseInt
转换为浮点:parseFloat
10-流程控制语句
顺序结构:就是默认的代码从上往下从左往右进行执行
选择结构:程序运行时,可能需要出现不同的情况执行不同的代码
单分支:
条件:可以是任何结果为true或者false的运算符、比较、逻辑
if(条件){
条件成立时执行的代码
}
双分支:
if(条件){
条件成立时执行的代码
}else{
条件不满足时执行的代码
}
多分支
if(条件1){
条件1成立时执行的代码
}else if(条件2){
条件2成立时执行的代码
}else if(条件n){
条件n成立时执行的代码
}else{
以上条件都不成立时,执行的代码
}
循环结构 :for while do while