运算符:
赋值运算符:=
算术运算符:+ - * / %
自增自减:++ --
自增自减在单独使用时放前放后没区别
如果参与其他运算时分前缀和后缀
++ 在后 先使用后自增
++ 在前 先自增后使用
关系运算符
>、 >=、 <、 <=、 ==、 !=
===
全等/恒等
!==
不全等/不恒等
关系运算符的结果都为boolean类型
数字与字符串进行比较:
实现自动转换数据类型在比较 如果转换成功 按照数字比较
失败会变成NaN与数字比较 永远都是false
字符串之间的比较:
每个字符分别按照Unicode编码比较大小
如果当前字符相同进行后移 不相同直接出结果
== !=
先进行数据转换后进行比较 只进行值得比较
=== !==
直接进行数据比较 进行数据转换 同时判断数据类型和值是否完全相等
逻辑运算符:
!
非 对现有条件进行取反 非真即假 非假即真
&&
与
等同于Python的and 判断两个结果都正才为真 见False的False
||
或
关联的两个条件有一个为真就为真 见True的True
位运算:
& 按位与
|
按位或
^
按位异或
数据交换
var a = 3;
var b = 5;
1.
var c = a;
a = b;
b = c;
2.
a = a + b;
a += b;
b = a - b;
b = a -b;
a = a - b;
a -= b;
3.
a = a ^ b;
a ^= b;
b = b ^ a;
b ^= a;
a = a ^ b;
a ^= b;
4.Python特有
a, b = b, a
条件运算符:
单目运算符/一元运算符:只有一个操作数的运算符
++、 --、 !、 typeof、 -
双目运算符/二元运算符:有两个操作数的运算符
+、-、*、%、/、&&、||、&、|、......
三目运算发/三元运算符:有三个操作数
的运算符
? :
语法:
条件表达式 ? 表达式1 : 表达式2
等同于简单版的 if else
运算符的优先级
流程控制:
流程结构:
1.顺序结构:
按照代码书写顺序依次执行
2.分支结构/选着结构:
if 语句:
if (条件) {
语句块;
}else if (条件){
语句块;
}else{
语句块
}
条件尽量是布尔类型
任何零或空值都为False
0.0、0、""、undefined、null
if后的{}可以省略 生路后只会控制if后的第一条语句 其他不管
switch语句:
switch(变量){
case 值1:
语句块1;
break; //可选 跳出switch
case 值2;
语句块2;
...
default:
//可选 相当于else 所有case都没走才会走
语句块n;
}
switch只能用于等值判断的场合 case以 === 的方式判断是否相等
3.循环结构:
重复执行相同或相似的代码
循环三要素:
循环变量
循环条件
循环操作
while循环:
while (条件) {
循环操作;
}
先判断条件 再决定是否进行循环操作
do ... while循环:
do{
循环操作;
}while (条件);
先执行一次循环操作 在判断条件决定是否继续循环
while循环:
1.创建一个网页
2.从弹框中录入一个数字,表示年份
3.判断该年份是否为闰年并输出结果(true 或 false)
闰年:能被4整除但不能被100整除或能被400整除的年份都是闰年
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<script type="text/javascript">
/*
var yoer = prompt("请输入年份");
year = yoer % 4 == 0 && yoer % 100 != 0 || yoer % 400 ==0;
if (year) {
console.log("是闰年");
}else{
console.log("不是润年");
}
*/
///*
var input = prompt("请输入年份");
var res = input % 4 == 0 && input % 100 != 0 || input % 400 == 0;
//console.log(input + "是闰年吗?" + res);
res ? console.log(input, "是闰年") : console.log(input, "不是润年");
var days = res ? 366 : 365;
console.log(days, "天")
//*/
</script>
</head>
<body>
</body>
</html>
从弹框中录入1个字符,判断该字符是英文?中文?数字?
从弹框中录入:5
是数字吗?false
是英文吗?true
是中文吗?false
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<script type="text/javascript">
var k = prompt("");
var number = k >= 0 && k <= 9;
var str = (k >= 'a' && k <= 'z') || (k >= 'A' && k <= 'Z');
var chr = k >= '\u4e00' && k <= '\u9fa5';
if (number) {
console.log("是数字\n不是英文\n不是中文");
}else if(str){
console.log("是英文\n不是数字\n不是中文");
}else if(chr){
console.log("是中文\n不是英文\n不是数字");
}else{
console.log("非法字符 10秒后电脑将爆炸!")
}
/*
var input = prompt("请输入一个字符");
var isNum = input >= 0 && input <= 9;
console.log("是数字吗? " + isNum);
var isStr = input >= "\u4e00" && input <= "\u9fa5";
console.log("是中文吗? " + isStr);
var isCode = input >= "a" && input <= "z" || input >= "A" && input <= "Z";
console.log("是英文吗? " + isCode)
*/
</script>
</head>
<body>
</body>
</html>
BMI指数计算
要求从弹框中录入身高(m)
要求从弹框中录入体重(kg)
BMI = 体重 / (身高 * 身高);
如果 BMI 小于 18.5 属于 偏瘦
如果 BMI 大于 23.9 属于 偏胖
否则 : 正常
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<script type="text/javascript">
/*
var m = prompt("请输入身高:");
var kg = prompt("请输入体重KG:");
var BMI = kg / (m * m);
if (BMI < 18.5) {
console.log("偏瘦");
}else if (BMI > 23.9) {
console.log("偏胖");
}else{
console.log("正常");
}
*/
var height = prompt("请输入身高M:");
var weight = prompt("请输入体重KG:");
var BMI = weight / (height * height);
console.log("您的BMI指数为" + BMI);
BMI < 18.5 ? console.log("偏瘦"):
BMI > 23.9 ? console.log("偏胖"):
console.log("正常")
</script>
</head>
<body>
</body>
</html>
输入学生成绩判断成绩情况
大于90分为优秀 大于80分为良好 大于60分为及格
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<script type="text/javascript">
var score = prompt();
var res = score >= 90 ? "优秀" :
score >= 80 ? "良好":
score >= 60 ? "及格" : "不及格";
console.log("成绩", score, res);
</script>
</head>
<body>
</body>
</html>
分三次从弹框中录入年,月,日
计算该日是该年的第?天
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<script type="text/javascript">
var year = Number(prompt("请输入年"));
var mocth = Number(prompt("请输入月"));
var day = Number(prompt("请输入天"));
var days = 0;
var i = 1;
while (i < mocth){
switch (i){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
days += 31;
break;
case 4:
case 6:
case 9:
case 11:
days += 30;
break;
case 2:
days += 28;
days += year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
break;
}
i++;
}
days += day;
console.log(year,"年的第",days,"天");
</script>
</head>
<body>
</body>
</html>
打印 九九乘法表中的某一行
从弹框中录入一个数字,录入的是几,就打印第几行
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<script type="text/javascript">
var i = 0;
while (i < 100){
if (i % 2 == 1) {
console.log(i);
}
i++;
}
var i = 0;
var line = Number(prompt("请输入行数"));
var sum = " "
while (i < line){
i++;
//console.log(i + "*" + line + "=" + i * line);
sum += i + "*" + line + "=" + i * line + "\t";
}
console.log(sum)
</script>
</head>
<body>
</body>
</html>
分三次输入年,月,日
判断该日是星期?
1990年的1月1日是星期一
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<script type="text/javascript">
var year = prompt("请输入年");
var month = Number(prompt("请输入月"));
var day = Number(prompt("请输入天"));
var days = 0;
var i = 1900;
while (i < year) {
days += 365;
days += i % 4 == 0 && i % 100 !=0 || i % 400 == 0;
i++;
}
var calendar = 0;
var i = 1;
while (i < month){
switch (i){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
days += 31;
break;
case 4:
case 6:
case 9:
case 11:
days += 30;
break;
case 2:
days += 28;
days += year % 4 == 0 && year % 100 !=0 || year % 400 == 0;
break;
}
i++;
}
days += day
switch ( days % 7) {
case 1:
console.log(year + "年" + month + "月" + day + "日", "是星期一");
break;
case 2:
console.log(year + "年" + month + "月" + day + "日", "是星期二");
break;
case 3:
console.log(year + "年" + month + "月" + day + "日", "是星期一");
break;
case 4:
console.log(year + "年" + month + "月" + day + "日", "是星期四");
break;
case 5:
console.log(year + "年" + month + "月" + day + "日", "是星期五");
break;
case 6:
console.log(year + "年" + month + "月" + day + "日", "是星期六");
break;
case 0:
console.log(year + "年" + month + "月" + day + "日", "是星期日");
break;
}
</script>
</head>
<body>
</body>
</html>