作业
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 取整 parseInt(变量)
// var num = parseInt(23.567);
// console.log(num);
// 保留几位小数 变量.toFixed(几位小数)
// var num1 = 23.4530237.toFixed(2);
// console.log(num1);
// 1.为抵抗洪水,战士连续作战89小时,编程计算共多少天零多少小时?
// // 总共作战的小时
// // var zong = 89;
// var zong = prompt('请输入战士连续作战的小时数');
// console.log(zong);
// // 计算 整天数
// var day = parseInt(zong/24);
// console.log(day);
// // 计算 零小时数
// var hours = zong%24;
// console.log(hours);
// document.write('战士一共连续作战了'+day+'天'+hours+'小时');
// 2. 小明要到美国旅游,可是那里的温度是以华氏度为单位记录的。
// 它需要一个程序将华氏温度(80度)转换为摄氏度,并以华氏度和摄氏度为单位分别显示该温度。
// 提示:摄氏度与华氏度的转换公式为:摄氏度 = 5/9*(华氏度-32)
// 结果保留3位小数 num.toFixed(3)
// // 已知的华氏度温度
// // var hsd = 80;
// var hsd = prompt('请输入当前的华氏度温度');
// console.log(hsd);
// // 根据 公式 计算 摄氏度温度
// // var ssd = (5/9*(hsd-32)).toFixed(3);
// var ssd = 5/9*(hsd-32);
// // 一个等号是 先执行右侧,在将 右侧的结果 赋值给 左侧的变量
// ssd = ssd.toFixed(3);
// console.log(ssd);
// document.write("华氏度温度为"+hsd+",摄氏度温度为"+ssd);
// 3、输入一个五位数,通过算数运算,分别输出 个十百千万位;
// // var n1 = 91827; // 11223 40987
// var n1 = prompt('请输入一个五位数的数字');
// console.log(n1)
// var w = parseInt(n1/10000);
// console.log(w);
// var q = parseInt(n1/1000)%10;
// console.log(q);
// var b = parseInt(n1/100)%10;
// console.log(b);
// var s = parseInt(n1/10)%10;
// console.log(s);
// var g = n1%10;
// console.log(g);
// document.write(n1+"这个五位数的万位是"+w+"千位是"+q+"百位是"+b+"十位是"+s+"个位是"+g);
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 赋值运算符
// 作用就是 给 变量 赋值
// 在执行时 先执行 赋值运算符的右侧,后执行 左侧
// 对于 赋值运算符的右侧 还是 从左往右执行的
// 要求:赋值运算符的左侧必须是一个变量
// = += -= *= /= %=
// = 将 等号右侧的值 赋值给 左侧的变量
var a = 111;
console.log(a);
var b = 222 + 333;
console.log(b);
// += -= *= /= %= 是 使用变量自身参与运算,将结果重新赋值给变量自身
// += 结合 算数运算符的加号 和 赋值运算符的等号
a += b; // 等价于 a = a+b
console.log(a); // a = 111 + 555 = 666
b += 'abc';
console.log(b); // '555abc'
// -= 结合 算数运算符的减号 和 赋值运算符的等号
var n1 = 22;
n1 -= 11; // 等价于 n1 = n1-11
console.log(n1); // 11
// *= 结合 算数运算符的乘号 和 赋值运算符的等号
var n2 = 16;
n2 *= 3; // 等价于 n2 = n2*3
console.log(n2); // 48
// /= 结合 算数运算符的除号 和 赋值运算符的等号
var n3 = 66;
n3 /= 2; // 等价于 n3 = n3/2
console.log(n3); // 33
// %= 结合 算数运算符的取余号 和 赋值运算符的等号
var n4 = 66;
n4 %= 5; // 等价于 n4 = n4/5
console.log(n4); // 1
// 注意:这几个输出语句无法赋值给变量使用
// console.log()
// document.wirte();
// alert()
// 只有这个一个可以
var x1 = prompt();
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 一元运算符 --- 自增自减运算符
// ++ 有 先加加 和 后加加
// -- 有 先减减 和 后减减
// 变量++ --- 后加加 --- 先执行自身,后加1
var a = 5;
console.log(a); // 5
var b = a++;
console.log(b); // 5
console.log(a); // 6
var c = 10;
console.log(c); // 10;
console.log(c++); // 10 c++ 等价于 c = c+1,但是+1的操作在 这条语句执行完后在执行
console.log(c++); // 11
console.log(c++); // 12
console.log(c); // 13
console.log(c); // 13
var n1 = 7;
var sum1 = n1++ + n1++ + n1 - n1++ + n1++;
// 7 + 8 + 9 - 9 + 10
console.log(n1); // 11
console.log(sum1); // 25
console.log('-----------------华丽的分割线--------------');
// ++变量 --- 先加加 --- 先加1,再执行
var d = 5;
console.log(++d); // 6
console.log(++d); // 7
console.log(d); // 7
console.log(d++); // 7
console.log(++d); // 9
var n2 = 12;
var sum2 = n2++ - ++n2 + ++n2 + n2 + n2++ - ++n2;
// 12 - 14 + 15 + 15 + 15 - 17
console.log(n2); // 17
console.log(sum2); // 26
console.log('-----------------华丽的分割线--------------');
// 变量--
// --变量
var n3 = 9;
var sum3 = n3-- + n3++ + ++n3 - n3-- + --n3 - n3++ + n3++;
// 9 + 8 + 10 - 10 + 8 - 8 + 9
console.log(n3); // 10
console.log(sum3); // 26
// 实现两个变量的值交换
var num1 = 52;
var num2 = 21;
console.log(num1,num2); // 52 21
// 经过一系列操作
console.log(num1,num2); // 21 52
// 自己定义 一个公式,练习 自增自减运算符 的 结果
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 一元运算符 --- 自增自减运算符
// ++ 有 先加加 和 后加加
// -- 有 先减减 和 后减减
// 变量++ --- 后加加 --- 先执行自身,后加1
var a = 5;
console.log(a); // 5
var b = a++;
console.log(b); // 5
console.log(a); // 6
var c = 10;
console.log(c); // 10;
console.log(c++); // 10 c++ 等价于 c = c+1,但是+1的操作在 这条语句执行完后在执行
console.log(c++); // 11
console.log(c++); // 12
console.log(c); // 13
console.log(c); // 13
var n1 = 7;
var sum1 = n1++ + n1++ + n1 - n1++ + n1++;
// 7 + 8 + 9 - 9 + 10
console.log(n1); // 11
console.log(sum1); // 25
console.log('-----------------华丽的分割线--------------');
// ++变量 --- 先加加 --- 先加1,再执行
var d = 5;
console.log(++d); // 6
console.log(++d); // 7
console.log(d); // 7
console.log(d++); // 7
console.log(++d); // 9
var n2 = 12;
var sum2 = n2++ - ++n2 + ++n2 + n2 + n2++ - ++n2;
// 12 - 14 + 15 + 15 + 15 - 17
console.log(n2); // 17
console.log(sum2); // 26
console.log('-----------------华丽的分割线--------------');
// 变量--
// --变量
var n3 = 9;
var sum3 = n3-- + n3++ + ++n3 - n3-- + --n3 - n3++ + n3++;
// 9 + 8 + 10 - 10 + 8 - 8 + 9
console.log(n3); // 10
console.log(sum3); // 26
// 实现两个变量的值交换
var num1 = 52;
var num2 = 21;
console.log(num1,num2); // 52 21
// 经过一系列操作
console.log(num1,num2); // 21 52
// 自己定义 一个公式,练习 自增自减运算符 的 结果
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var num1 = 34;
var num2 = 13;
console.log(num1,num2); // 34 13
// 采用 第三方的方法 --- 针对 任何类型的值 都有效
// var n = num1; // 34
// num1 = num2; // 13
// num2 = n; // 34
// console.log(num1,num2); // 13 34
// 采用 运算符的方法 --- 仅针对 值为 数字是 有效
num1 = num1 + num2; // 34+13 47
num2 = num1 - num2; // 47-13 34
num1 = num1 - num2; // 47-34 13
console.log(num1,num2); // 13 34
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 比较运算符(关系运算符)
// > < >= <= == === != !==
// 由比较运算符组成的表达式为:比较表达式。
// 比较表达式返回的结果为 boolean类型的值,
// 也就是说程序只要执行了比较操作得到结果只能是 true / false
var num1 = 23;
var num2 = 11;
var num3 = 55;
// > 大于
var flag1 = num1>num2; // 23>11 true
console.log(flag1); // true
console.log(num2>num3); // 11>55 false
console.log(10>10); // false
// < 小于
console.log(num2<num3); // true
console.log(100<1); // false
// >= 大于等于
console.log(num2>=10); // true
console.log(num2>=11); // true
console.log(9>=10); // false
// <= 小于等于
console.log(num2<=10); // false
console.log(num2<=11); // true
console.log(9<=10); // true
console.log('-----------------华丽的分割线--------------');
// == 相等 --- 只比较值是否相等,忽略数据类型的比较
console.log(10 == 10); // true
console.log(10 == '10'); // true
console.log('abc'=='abc'); // true
console.log(101 == '102'); // false
// === 全等 --- 不仅比较值是否相等,而且也要比较数据类型是否相等
// 只有 值 和 数据类型 都相等,最终的结果才会是 ture,就是全等
console.log(10 === 10); // true
console.log(10 === '10'); // false
console.log('abc'==='abc'); // true
console.log(101 === '102'); // false
// 注意:
// 在js中
// 一个等号是 赋值 --- 赋值时 一个等号的左侧必须是 变量
// 两个等号是 相等 --- 值比较值是否相等,不比较数据类型
// 三个等号是 全等 --- 值和数据类型都必须相等
console.log('-----------------华丽的分割线--------------');
// != 不相等 --- 只比较值是否不相等,忽略数据类型的比较
console.log(5 != 4); // true
console.log(5 != '4'); // true
console.log(5 != '5'); // false
// !== 不全等
console.log(5 !== 4); // true
console.log(5 !== '4'); // true
console.log(5 !== '5'); // true
console.log(55 !== 55); // false
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 逻辑运算符
// && 与(并且)
// || 或(或者)
// ! 非(取反)
// 逻辑运算符组成的表达式叫做 逻辑表达式 ,和逻辑表达式的结果也是 boolean
// && 与(并且)
// 同时判断多个条件表达式,如果多个条件表达式的结果都为true,最终的结果就是 true
// 如果 至少有一个条件表达式的结果为false,最终的结果就是 false
var num1 = 20;
var flag1 = num1>10 && num1<50; // true
// true true
console.log(flag1); // true
console.log(num1>30 && num1<50); // false
// false ture
console.log(num1<22 && num1>33); // false
// ture false
console.log(num1<10 && num1>33); // false
// flase false
console.log('-----------------华丽的分割线--------------');
// || 或(或者)
// 同时判断多个条件表达式,只要至少有一个条件表达式的结果为true,最终的结果就是 true
// 如果 多个条件表达式的结果都为flase,最终的结果就是 false
var num2 = 20;
var flag2 = num2>10 || num2<50; // true
// true true
console.log(flag2); // true
console.log(num2>30 || num2<50); // true
// false ture
console.log(num2<22 || num2>33); // true
// ture false
console.log(num2<10 || num2>33); // false
// flase false
console.log('-----------------华丽的分割线--------------');
// ! 非(取反)
// 可以实现 将真的变假的,假的变整的
// 得到的结果 是 布尔值
var num3 = 10;
console.log(num3); // 10
console.log(!num3); // false
var flag = false;
console.log(flag); // false;
console.log(!flag); // true;
var str1 = 'hello';
console.log(str1); // 'hello'
console.log(!str1); // false
var str2 = '';
console.log(str2); // ''
console.log(!str2); // true
console.log(!!str2); // flase
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 强制数据类型转换-显式转换
// 将 其他类型的数据 转换成 string
// String() 方法 将 其他类型的数据 转换成 string类型
var num1 = 911;
console.log(num1); // 911
var s1 = String(num1);
console.log(s1); // '911'
let s2 = String(true);
console.log(s2); // 'true'
console.log(typeof s2); // 'string'
console.log(String(false)); // 'false'
var und;
console.log(und); // undefined
console.log(String(und)); // 'undefined'
console.log(null); // null
console.log(String(null)); // 'null'
// toString() 方法 将 其他类型的数据 转换成 string类型 --- 了解
// 针对 null 和 undefined 无法实现 正确转换,会报错
var num2 = 666;
console.log(num2); // 666
var ss1 = num2.toString();
console.log(ss1); // '666'
console.log(true.toString()); // 'true'
// var und2;
// console.log(und2.toString());
// console.log(null.toString());
console.log('-----------------华丽的分割线--------------');
// 将 其他类型的数据 转换成 number
// Number() 方法 将 其他类型的数据 转换成 number类型
var str1 = '6699';
console.log(str1); // '6699'
var n1 = Number(str1);
console.log(n1); // 6699
console.log(typeof n1); // 'number'
var str2 = '22abc33';
console.log(str2); // '22abc33'
var n2 = Number(str2);
console.log(n2); // NaN
console.log(typeof n2); // 'number'
console.log(Number('')); // 0
// 注:将字符串转换成数字
// 纯数字的字符串转换成对应的数组
// 非纯数字的字符串转换成 NaN
// 空字符串转换成 0
console.log(Number(true)); // 1
console.log(Number(false)); // 0
// 注:布尔值转换成数字
// true 转换成 1
// false 转换成 0
var und3;
console.log(Number(und3)); // NaN
console.log(Number(null)); // 0
// parseInt() 取整
// parseInt的执行逻辑
// 首先 查看 第一个字符是否为 数字
// 如果 是 则 继续向下一个字符 查看,直到非数字的字符开始将后面的字符全部去掉
// 如果 不是 则直接 返回 NaN 的结果
// 注:这个方法不是专门用来将其他类型的数据转换成数字的
// 只是 对应在执行过程中 会 有这个现象,方法自身有自身的执行逻辑
console.log(parseInt(99.9999)); // 99
console.log(parseInt('123.456')); // 123
console.log(parseInt('666abc')); // 666
console.log(parseInt('abc999')); // NaN
console.log(parseInt(true)); // NaN
console.log(parseInt(false)); // NaN
console.log(parseInt(undefined)); // NaN
console.log(parseInt(null)); // NaN
// parseFloat() 取浮点数(小数)
// parseFloat的执行逻辑
// 首先 查看 第一个字符是否为 数字
// 如果 是 则 继续向下一个字符 查看,可以认识一次小数点,再往后遇到非数字的值直接去掉
// 如果第一个就是 小数点,则直接 返回 NaN 的结果
// 如果 不是 则直接 返回 NaN 的结果
// 注:这个方法不是专门用来将其他类型的数据转换成数字的
// 只是 对应在执行过程中 会 有这个现象,方法自身有自身的执行逻辑
console.log(parseFloat(99.9999)); // 99.9999
console.log(parseFloat('123.456')); // 123.456
console.log(parseFloat('666abc')); // 666
console.log(parseFloat('666.89abc')); // 666.89
console.log(parseFloat('abc999')); // NaN
console.log(parseFloat(true)); // NaN
console.log(parseFloat(false)); // NaN
console.log(parseFloat(undefined)); // NaN
console.log(parseFloat(null)); // NaN
console.log('-----------------华丽的分割线--------------');
// 将 其他类型的数据 转换成 boolean
// Boolean() 方法 将 其他类型的数据 转换成 boolean类型
// 注:false、0、NaN、空字符串、undefined、null 转换成 布尔值是 false,其他的都是true
console.log(Boolean(false)); // false
console.log(Boolean(0)); // false
console.log(Boolean(NaN)); // false
console.log(Boolean('')); // false
console.log(Boolean(undefined)); // false
console.log(Boolean(null)); // false
console.log(Boolean(1)); // true
console.log(Boolean(55)); // true
console.log(Boolean('123')); // true
console.log(Boolean('abc')); // true
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script>
// var num1 = prompt("请输入一个数字");
// // 空得字符串 点击取消返回null 输入数字是数字得字符串
// if (num1 === "" || num1 === null || isNaN(num1)) {
// console.log("输入数字有误!!")
// }else{
// if (num1 % 3 === 0 && num1 % 7 === 0) {
// console.log(num1 + "这个数字可以被3和7同时整除");
// } else {
// alert(num1 + "这个数字是不可以得");
// }
// }
var year = prompt("请输入一个年份");
// &&得优先级高与||
// &&得优先级高与||
if(year%4 == 0 && year% 100 !=0 || year%400===0){
alert(year+"年是闰年")
}else{
alert(year+"年是平年")
}
</script>
</body>
</html>