- 进制转换
toString() 10进制转至其他进制
parseInt() 其他进制转至10进制
// 1100
var num = 1100;
var res = parseInt(num, 2);
console.log(res);
// 10111 --> 10进制
var num = 10111;
var res = parseInt(num, 2);
console.log(res);
var a = 193
console.log(a.toString(2)); //11000001
console.log(a.toString(8)); // 301
console.log(a.toString(16)); //c1
// 56的16进制转换 二进制
var b = 56;// 16进制
console.log(parseInt(56, 16).toString(2)); //1010110
// 1. 将这些二进制1100 , 10111转成八进制、十进制、十六进制
// 2. 将下列10进制数转成二进制
// 193 , 49 , 81 , 35
// 3. 将下列二进制数转成十进制数
// 100001001
// 11001101
console.log("------------");
var a=1100,b=10111;
console.log(parseInt(a,2).toString(8));
console.log(parseInt(a,2));
console.log(parseInt(a,2).toString(16))
console.log("-----------");
console.log(parseInt(b,2).toString(8));
console.log(parseInt(b,2));
console.log(parseInt(b,2).toString(16))
console.log("2.------------")
var a1=193,a2=49,a3=81,a4=35;
console.log(a1.toString(2));
console.log(a2.toString(2));
console.log(a3.toString(2));
console.log(a4.toString(2));
console.log("3.------------")
var b1=100001001,b2=11001101;
console.log(parseInt(b1,2));
console.log(parseInt(b2,2));
- 运算符
//1.运算符有哪些呢?
// 1).算术运算符
// +,-,*,/,%
// 2).逻辑运算符
// && || !
// 3).关系运算符
// >,<,>=,<=,==,===,!=,!==
// 比较运算符的规则 (牢记)
// 1.数值与数字比较,直接比较大小
// 2.数值与字符串比较,字符串转换成数字,再比较大小
// 3.字符与字符比较,把字符转换成ASCII码,再比较大小
// a - z 97 ~ 122
// A - Z 65 ~ 90
// 0 - 9 48 ~ 57
// 4).一元运算符
// a++,a-- 先取值,后运算
// ++a,--a 先运算,后赋值
//
// 5).三目运算符(三元)
// 表达式 ? 条件1:条件2
// 6).赋值运算符
// +=,-=,*=,/=,%=, =
// 7).位移运算符
// >> 右位移 , << 左位移
// 8).拼接运算符
// + 左右2边,有1边出现字符,就是拼接
// //一.算术运算符
// // +,-,*,/,%
// var a = "10";
// var b = "2";
// var res = a - b; //隐式转换
// console.log(res);
// // 11%5 2*5=10 余1
// //% 取值范围
// // Math.random() 生成0~1之间的值,包含0,不包含1 [0,1)
// // 0 | 1
// // % 5 的范围 0~4
// // %10 的范围是 0~9
// // %100的范围是 0~99
// console.log(parseInt(Math.random() * 10) % 5);
// // + 左右2边,有1边出现字符,就是拼接
// var a = "10";
// var b = 20;
// var res = a + b;
// console.log(res);
// //逻辑运算符
// // && 与 我与你是帅哥 ,请问几个帅哥 2个
// // || 或 我或你是帅哥 ,
// // ! 非 取反
// console.log(true && true);
// console.log(true && false);
// console.log(true || false);
// console.log(false || true);
// //1.短路运算符 || 或
// // 只找"真",找到真的就不往后面执行
// // && 和 ||
// console.log("想睡觉到的..草有1米高");
// true || num;
// console.log("不想睡觉到的..工资有1万");
// //2.短路运算符 && 与
// //只找假,找到假,就不往后面执行
// // true && true && num
// // console.log("11111");
// //3. ! 取反
// // console.log(!true);
// // && 找到假
// // || 找到真
// // true --> 1
// // false--> 0
// var num1 = 1 && 2; //0和NaN为false,非0为true
// var num2 = true || false;
// // 2 1
// var result = num1 * num2 + 3
// console.log(result); // 5
// //关系运算符
// // >, < ,>=,<=
// // console.log(5 >= 5);
// // console.log(5 <= 5);
// // console.log(5 == 5);
// // console.log(5 === 5);
// // ==, ===, !=, !==
// // == 它会隐式转换. 它比较的是值,不是类型
// // 1元钱纸币和1元钱硬币 面额相等
// console.log(10 == "10");
// console.log(10 == "10");
// // === 不会隐式转换,比较的是值与类型都要相同
// // 材质与面额要一直
// console.log(10 === 10); //false
// // !=
// // 3 != 4
// // === 值与类型
// // !==
// console.log(3 !== 4); //true
// // 比较运算符的规则 (牢记)
// //1.数值与数字比较,直接比较大小
// //2.数值与字符串比较,字符串转换成数字,再比较大小
// //3.字符与字符比较,把字符转换成ASCII码,再比较大小
// // a - z 97 ~ 122
// // A - Z 65 ~ 90
// // 0 - 9 48 ~ 57
// // 65 66
// console.log("A" < "B");
// // console.log("3" > 2);
// // console.log("你好" > 2); //false
// // console.log("AA" >= 2); //false
// // console.log("AA" <= 2); //false
// // 9, 11 57 49 49
// console.log("9" > "11"); // true
// 一元运算符
// a++ 先取值,后运算
// ++a 先运算,后赋值
// a-- ,--a
// var a = 10;
// console.log(a ++); //10
// console.log(a);
// console.log("--------");
// var a = 10;
// console.log(++a);; //11
// console.log(a);
// var a = 10;
// var res = a++ + a++ + a++;
// console.log(a);//13
// console.log(res);//33
// var a = 10;
// var res = a++ + ++a + a++ + ++a;
// console.log(a); // 14
// console.log(res);//48
// 一元 > * / > + -
// var i = 12;
// var sum = i++ + ++i + ++i * 2 + i-- + i--;
// document.write(sum + " " + i);
// 75 13
// 85 13
//三目(三元)运算符
//语法
// 表达式 ? 条件1:条件2
// // 1==1? true:false;
// var num = 10;
// var res = num < 5 ? "大于5" : '小于5';
// console.log(res);
// =,==,===, 代表什么意思?
// = 赋值, 把右边的值给到左边
// == 比较 只比较值,类型会自动进行转换
// === 值和类型,都要相同,才会全等于 (恒等于)
// 赋值运算符
// +=,-=,*=, /=, %=
// var a = 10;
// a += 1;
// console.log(a);
// // a+=1; //a=a+1
// // a+=5 a=a+5;
// var a = 10;
// a -= 3; // a=a-3 10-3的结果7,把7赋值给a,最后a的结果就是7
// console.log(a);
// var a = 10;
// a *= 3; // a=a*3
// console.log(a);
// var a = 10;
// a /= 5; // a=a/5
// console.log(a);
// var a = 10;
// a %= 3;
// console.log(a);
// 2 >> 2 等于 0, 2 << 2 等于 8
// 位移运算符
// 2 2 把第1个2,转换成2进制,再向左边或右边移动n位, n:就是第2个数
// 2 3
// 2 5
//2 ---> 二进制的数 000010
//看到NaN 参与比较, 就是false
- 分支结构(单分支,双分支,多分支)
单分支语法: if (表达式){//逻辑代码}
var a = 10; console.log("111111"); if (a == 10) { console.log("条件满足,我被执行"); } console.log("222222");双分支:表达式1 算术表达式 逻辑表达式 关系表达式 常量...
语法 if (表达式1) { //逻辑代码1 } else { //逻辑代码2 }双分支 var str = prompt("请输入开和关"); if (str === "开") { console.log("世界亮了"); } else { console.log("伸手不见五指黑"); }//Math.random() 0~1 包含0,不包含1 // 1、判断一个数是偶数还是奇数; // 0~9 包含0,也包含9 var num = parseInt(Math.random() * 10); if (num % 2 == 0) { console.log(num + "是一个偶数"); } else { console.log(num + "是一个奇数"); } // 2、求两个数的最大数; var numA = parseInt(Math.random() * 10); var numB = parseInt(Math.random() * 10); console.log(numA, numB); if (numA > numB) { console.log("numA是最大的数:" + numA); } else { console.log("numB是最大的数:" + numB); } //------------------------ //使用三目运算符 // 1、判断一个数是偶数还是奇数; var num = parseInt(Math.random() * 10); // var res = num % 2 ? "奇数" : "偶数"; //写法1 var res = num % 2 == 0 ? "偶数" : "奇数"; //写法2 console.log(num + "是一个" + res); // 2、求两个数的最大数; var numA = parseInt(Math.random() * 10); var numB = parseInt(Math.random() * 10); var res = numA > numB ? "numA大" : (numA === numB ? "等于" : "numB大") console.log(numA, numB, res); // 3、判断一个年份是闰年还是平年; // (1.能被4整除而不能被100整除.(如2004年就是闰年,1800年不是.) // 2.能被400整除.(如2000年是闰年)) //写法1 var year = 2020;//闰年 4月 if (year % 4 === 0 && year % 100 != 0 || year % 400 === 0) { console.log("闰年"); } else { console.log("平年"); } //写法2 var year = 2020; //1.能被4整除而不能被100整除 var exp1 = year % 4 == 0 && year % 100 != 0; // 2.能被400整除 var exp2 = year % 400 == 0; if (exp1 || exp2) { console.log("闰年"); } else { console.log("平年"); }多分支的语法
if (表达式1) { //逻辑代码 } else if (表达式2) { //逻辑代码 } else if (表达式3) { //逻辑代码 } else { //逻辑代码 }//一周7天 var day = prompt("请输入星期几的数字?"); if (day == 1) { console.log("星期一:红烧肉+雪碧"); } else if (day == 2) { console.log("星期二:红烧鱼+雪碧"); } else if (day == 3) { console.log("星期三:小炒肉"); } else if (day == 4) { console.log("星期四:盖码饭"); } else if (day == 5) { console.log("星期五:米粉"); } else if (day == 6) { console.log("星期六:方便面"); } else { console.log("回家吃"); //多分支练习 1. var x = prompt("请输入一个数?"), y; if (x < 1) { y = x; } else if (x >= 1 && x < 10) { y = 2 * x + 1; } else { y = 5 * x - 17; } console.log(y); 2. var score = prompt("请输入分数"); //输入的是分数 if (!isNaN(score) && score !== "") { //是数字 if (score > 85) { console.log("秀儿,是你吗?"); } else if (score >= 75 && score <= 85) { console.log("良好"); } else if (score >= 60 && score < 75) { console.log("及格"); } else { console.log("不及格"); } } else { console.log("别捣蛋!"); } var x = prompt("请输入一个") if (x != 0) { if (x > 0) { console.log("大于0"); } else { console.log("小于0"); } } else { console.log("x等于0"); } }- switch
switch 开关
1. 防止穿透 break
2. 恒等于,值和类型要一致
语法 switch (表达式) { case 常量1: //逻辑代码1 break; case 常量2: //逻辑代码2 break; default: //逻辑代码3 }var grade = prompt("请输入等级?"); switch (grade) { case "A": console.log("80~100"); break; case "B": console.log("70-79"); break; case "C": console.log("60~69"); break; case "D": console.log("小于60"); break; default: console.log("输入有误"); } var a = 0; if (++a) { console.log("我被执行了吗?"); } //switch练习 // 1周7天,每一天过不同生活,可有质量 var day = prompt("请输入星期几?(数值1-7)"); // console.log(typeof day); switch (Number(day)) { case 1: console.log("一天一包 和天下!"); break; case 2: console.log("一天一包 华子"); break; case 3: console.log("一天一包 蓝芙蓉"); break; case 4: console.log("一天一包 黄芙蓉"); break; case 5: console.log("一天一包 金白沙"); break; case 6: console.log("一天一包 芙蓉"); break; default: console.log("一天一包 烟屁股"); break; }
//9.4练习
// 1, 今天课堂所有的代码,照敲至少一, 理解并熟练掌握今日知识点.
// 2, 入职薪水10K,每年涨幅入职薪水的5%,50年后工资多少?
var salary = 10000;
var money = salary * 0.05 * 50;
//此处的+ 是拼接
console.log("入职薪水10K,每年涨幅入职薪水的5%,50年后工资" + money);
// 3, 为抵抗洪水,战士连续作战89小时,编程计算共多少天零多少小时?
var h = 89;
var day = parseInt(h / 24)
console.log(day);
var hour = h % 24;
console.log(hour);
console.log("编程计算共" + day + "天零" + hour + "小时");
console.log('"编程计算共' + day + '天零' + hour + '小时"');
// 4, 小明要到美国旅游,可是那里的温度是以华氏度为单位记录的。
//它需要一个程序将华氏温度(80度)转换为摄氏度,
//并以华氏度和摄氏度为单位分别显示该温度。
//提示:摄氏度与华氏度的转换公式为:摄氏度 = 5/9.0*(华氏度-32)
var hssd = 80;
var ssd = 5 / 9.0 * (hssd - 32);
console.log(parseInt(ssd));
// 5, 给定一个三位数,分别把这个数字的百位、十位、个位算出来并显示。
var num = 895;
var a = num % 10;
var b = parseInt(num / 10) % 10;
var c = parseInt(num / 100)
console.log(c, b, a);