目录
数据类型
一、类型转换
1、隐式转换
①+号两边只要一个是字符串,那么都会把另外一个转为字符串(任何数据与字符串相加结果都为字符串)
②除了+号以外的运算符,如 -、*、/等运算符,都会将数据转为数字类型
注意:+号作为正号解析可以转为数字类型
console.log(typeof +'123')//结果为number类型
console.log(+'11'+11)//结果为22
2、显式转换
①Number
//第一种方法,利用加号
let num=+prompt('请输入数字')
console.log(typeof num)//这个就是number型
//第二种方法,Number方法
let num1=prompt('请输入数字')
console.log(Nuber(num1)//这个就是number型
//第三种方法
let num=Nuber(prompt('请输入数字'))
console.log(typeof num)//这个就是number型
let num1 = +prompt('第一个数')
let num2 = +prompt('第二个数')
alert(`两个数相加的结果为${num1 + num2}`)
②ParseInt只保留整数
console.log(ParseInt('12px'))//12
③ParseFloat可以保留小数
console.log(ParseInt('12.99px'))//12.99
运算符
1、赋值运算符:=,+=,-=
2、自增运算符:
①前置自增
let num=10
++i//11
②后置自增
let num=10
i++//11
③区别(++i是先加了再运算,i++是先运算了再加1)如果是单独使用++i和i++没区别
let i=1
console.log(++i +1)//3
let j=1
console.log(i++ + 1)//2
3、比较运算符
开发中更推荐用全等===
不同类型的转换会存在着隐式转换
4、逻辑运算符
逻辑与&&:一假则假,&&的优先级比||高
逻辑或||:一真即真
逻辑非!:真变假,假变真
分支语句
1、if语句
除了0其余数字都为真,除了空字符串都为真
if(条件表达式1){
满足条件表达式1执行这里
}
else if(条件表达式2){
满足条件表达式2执行这里
}
else{
以上都不满足那么就执行这段代码
}
2、三元运算符
条件?满足执行条件的代码:不满足条件的执行代码
3>5:'真的','假的' //输出假的
//数字补0案例
let num = +prompt('请输入一个数字')
num = num < 10 ? '0' + num : num
alert(num)
3、Switch语句(如果判断值和以下的case一致,那么就会跳转的对应的case,否则就直接跳到default,注意case要加break,否则就会被穿透)
switch(判断值){
case 值1:
代码1
break
case 值2:
代码2
break
case 值3:
代码3
break
default:
执行内容
}
//案例
let num1 = +prompt('第一个数字')
let num2 = +prompt('第二个数字')
let opt = prompt('输入一个操作符')
switch (opt) {
case '+':
alert(`两个数字运算操作结果为${num1 + num2}`)
break
case '-':
alert(`两个数字运算操作结果为${num1 + num2}`)
break
case '*':
alert(`两个数字运算操作结果为${num1 + num2}`)
break
case '/':
alert(`两个数字运算操作结果为${num1 + num2}`)
break
default:
alert('输入错误')
}
循环
1、while循环
三要素:变量起始值、终止条件、变量的变化
let i = 0
while (i < 10) {
alert(`我要循环${i + 1}次`)
i++
}
2、循环退出
①break:退出整个大循环,不会再进入到循环里面
②continue:下面的代码不再执行,结束本次循环,开始下一轮循环
//强人所爱案例
while (1) {
let love = prompt('你爱我吗')
if (love == '我爱你') {
break
}
else {
continue
}
}
3、for循环
for(变量起始值;循环条件;变量的变化){
循环的内容
}
//数组循环
let i = 0
let arr = ['小华', '小兰', '小红', '小明']
for (i; i < arr.length; i++) {
document.write(arr[i])
}
4、for循环嵌套
//外层天数
for (let i = 1; i <= 5; i++) {
// 里层一天背的单词
for (let j = 1; j <= 5; j++) {
document.write(`<br>今天是第${i}天,今天学习${j}个单词<br>`)
}
}
//九九乘法表
for (let i = 1; i <= 9; i++) {
for (let j = 1; j <= i; j++) {
document.write(`<span>${j}*${i}=${i * j}<span/> `)
}
document.write(`<br>`)
}
数组
一、声明数组
let arr=['小明','小红','小华','小刚']//数组定义,数组可以单个变量存储多个数据
console.log(arr[0])//这里就是小明,数组编号从0开始
二、术语
数组元素:小明、小红都是元素
数组下标:数组下标从0开始
数组长度:上面的数组长度是4
三、操作数组(增删查改)
1、修改数组
let arr=[1,2,3,4,5]
arr[0]=0//这里修改了arr[0]的内容,数组变成了[0,2,3,4]
2、增加数组内容
let arr = ['小明', '小红']
//在数组的后面添加
arr.push('小芳', '小刚')//在旧数组的后面添加元素,此时的数组为[小明,小红,小芳,小刚]
alert(arr);
//在数组的前面添加
arr.unshift('小丽')///在旧数组的前面添加元素,此时的数组为[小丽,小明,小红,小芳,小刚]
alert(arr);
3、数组筛选
//查找旧的数组中大于10的内容然后放进新的数组
let arr = [2, 0, 6, 1, 77, 0, 52, 0, 35, 7]
let newarr = []
for (let i = 0; i < arr.length; i++) {
if (arr[i] > 10) {
newarr.push(arr[i])
}
}
alert(newarr)
4、数组删除(三种方法)
let arr = [2, 0, 6, 1, 77, 0, 52, 0, 35, 7]
//第一种方法
arr.pop()//删除最后一个元素,此时输出2, 0, 6, 1, 77, 0, 52, 0, 35
//第二种方法
arr.shift()//删除第一个元素,此时输出0, 6, 1, 77, 0, 52, 0, 35, 7
//第三种方法
arr.splice(1,1)//arr.splice(起始位置,删除几个元素),这句代码就是从第一个位置开始,删除一个元素,此时的数组为2, 6, 1, 77, 0, 52, 0, 35, 7