目录
1、算术运算符
<script>
// ++e // 前置递增,先加1,后返回值 e=e+1 --> 6
// e++ // 后置递增,先返回值,再加1
var a = 10
++a
var b =++a +2
console.log(b) //结果14
//**********************************
var c = 10
c++
var d =c++ +2 //先返回c值11 +2 赋值给d
console.log(d) //结果13
console.log(c)//结果12
</script>
<script>
/* + - * / % ++ -- */
// - * / % 会将字符串转换成数字
// var a = '88'
// var b = 23
// console.log(a-b) //数字字符串允许相减
// console.log(a+b) //返回字符串8823
// console.log(a*b) //数字字符串允许相乘
// console.log(a/b) //数字字符串允许相除
// var c = 'c'
// var d = 33
// //NaN not a number 是一个特殊的数字类型
// console.log(typeof (c*d))
// console.log(c*d)
</script>
2、赋值运算
<script>
// var a = 1;
// var b = a++
// console.log(a,b) //a=2 ;b=1
c = 5
c += 6
console.log(c)
</script>
3、比较运算符
<script>
// == 默认转换数据类型,只看内容是否相等,不区分类型
// === 除了内容相等,类型也必须一样
var a = '8';
var b = 8;
console.log(a==b) //true
console.log(a===b) //false
</script>
4、逻辑运算符
-
&& 两边为true,结果为true
-
|| 有一个为true,整体为true
-
|| 碰到真就停,&& 碰到假就停
-
布尔值除了0其它数字都是true
<script>
// && 两边为true,结果为true
// || 有一个为true,整体为true
// || 碰到真就停,&& 碰到假就停
// var a = true && true
// console.log(a) //true
// var b = false || true
// console.log(b) //true
// var a = true && false && true
// console.log(a) //false
// var b = 3 || 1 || 0
// console.log(b) // 3 除了0其它数字都是true
// var c = 0 || '' || 2
// console.log(c) // 2
// var d = 4 && '' && 0
// console.log(d) //""字符串 遇到假就停
// var e = 0;
// console.log(e++ || 12) //12 e++先返回值0
// console.log(e) //1
</script>
5、分支流程
语法:if (条件一){ 条件一成立就执行 } else if (条件二){ 条件二成立就执行 } else { 所有条件都不成立的时候执行 }
alert 弹出警示框 ;prompt 输入框,等同于python input
<script>
// alert 弹出警示框
// prompt 输入框,等同于python input
var age = prompt("请输入年龄")
if (age >= 23) {
alert('可以结婚了')
} else if (age >= 18) {
alert('可以谈恋爱了')
} else if (age >= 7) {
alert('可以跟女同学做同桌啦')
} else {
alert('只能回家跟小姨玩啦')
}
</script>
语法:switch ( 你要判断的值 ) {
case 情况一:
满足情况执行代码
break
case 情况二:
满足情况执行代码
break
default:
上面所有的 case 都不满足执行代码
}
注意: 1、switch判断语句仅用于特定值(=),不能判断一个范围。大于小于都不可用;
2、case (===)内容和类型相等时才执行代码
<script>
// switch() 用在特定值的时候
var age = 30
switch (age){
case 10:{
alert(10)
break
}
case 20:{
alert(20)
break
}
case 30:{
alert(30)
break
}
default:
alert(0)
}
</script>
6、循环
for 循环
语法:for(初始化变量;条件表达式;操作表达式){ }
<script>
for(var i = 0; i<=99; i++){
console.log(i)
}
</script>
页面写入99乘法表
<script>
// document.write 页面写入 拼接,用+
// for(初始化变量;条件表达式;操作表达式){}
for(var i=1;i<=9;i++){
for(var j=1;j<=i;j++){
var a = i*j
document.write(j+'*'+i+'='+a+' ' )
}
document.write('<br>')
}
</script>
while循环
语法:while(条件表达式){循环体代码}
<script>
// 计算1-100的和
var i = 1 // 初始值
var sum = 0 // 接收和
while(i<=100){
sum += i
i++
}
console.log(sum)
</script>
7、字符串方法
1、字符串可通过索引获取字符,但是不可变的
2、substring() 截取字符串片段,左闭右开;不在乎位置;如果片段取不到,默认从0开始
3、slice(起始值,结束值) 步长不能加
4、split() 切割字符串
5、indexOf() 查找字符串,成功返回索引,不成功返回-1;可以设置查询的起始位置
<script>
// //length 查看长度
// var str1 = '墨染千秋,海纳百川'
// console.log(str1.length)
// console.log(str1[2])
// str1[0] = 'a' //字符串是不可变
// console.log(str1)
// typeof 查看类型
// toString() 转换为字符串
// var a = 8
// console.log(typeof a.toString())
// substring() 截取字符串片段,左闭右开;不在乎位置;如果片段取不到,默认从0开始
// var str1 = 'hello world'
// console.log(str1.substring(0,4))
// console.log(str1.substring(4,0))
// console.log(str1.substring(-3,4))
// slice(起始值,结束值) 步长不能加
var str2 = 'abcdefgggghijk'
// console.log(str2.slice());
// console.log(str2.slice(1,8)); // bcdefgg
// console.log(str2.slice(1,6)); // bcdefgg
// split() 切割字符串
// console.log(str2.split('g'))
// indexOf() 查找字符串,成功返回索引,不成功返回-1;可以设置查询的起始位置
console.log(str2.indexOf('g',9))
</script>
8、数组方法
js数组索引跟python无差
push() 追加元素 unshift() 向左添加 pop() 向后删除 shift() 向左删除
splice() 删除 sort() 排序 reverse() 反序 join() concat() 合并数组,可以合并多个
indexOf() 查询指定元素,返回元素索引,查不到,返回-1
<script>
// var arr = ['辣子鸡','土豆丝','红烧肉','回锅肉','手撕包菜','扣肉']
// console.log(arr[2])
// arr[2]='红烧猪肘子'
// console.log(arr)
// push() 追加元素
// arr.push('臭豆腐','香干','红烧肉')
// console.log(arr)
// unshift() 向左添加
// arr.unshift('苹果')
// console.log(arr)
// pop() 向后删除
// arr.pop()
// console.log(arr)
// shift() 向左删除
// arr.shift()
// console.log(arr)
// indexOf() 查询指定元素,返回元素索引,查不到,返回-1
// console.log(arr.indexOf('辣子鸡'))
// slice()
// splice() 删除
// console.log(arr)
// // arr.splice(2)
// // arr.splice(2,2) // 从索引为2的元素开始,删除两个
// arr.splice(1,1,'辣子鸡') // 从索引为1的元素开始,删除一个元素,添加元素 辣子鸡
// console.log(arr)
// sort() 排序 reverse() 反序
// var arr1 = [4,1,6,7,9,2]
// arr1.sort().reverse()
// console.log(arr1)
// join()
// var arr1 = ['我','你']
// console.log(arr1.join('爱'))
// concat() 合并数组,可以合并多个
// arr1 = [1,2,3]
// arr2 = [4,5,6]
// arr3 = arr1.concat(arr2)
// console.log(arr3)
</script>
9、数字方法
Math.random() 随机数 Math.floor() 整数 .toFixed(2) 保留两位小数
parseInt或者parseFloat 将参数转换为数字,整数部分遇到不是数字的就停
<script>
// Math.random() 随机数 默认是0-1的小数
// console.log(Math.random())
// console.log(Math.random()*10) // 个位数
//console.log( Math.floor(Math.random()*10)) // 整数
// console.log(Math.random().toFixed(2)) // 保留两位小数
// var a = '123ihj45'
// parseInt或者parseFloat 将参数转换为数字,整数部分遇到不是数字的就停
// console.log(parseInt(a))
</script>