js基咄入门2
1.进制
1.进制:二进制,八进制,十进制,十六进制
2.计算机只识别二进制(0和1),ob OB开头的数据是二进制
3.计算机只会输出十进制(0—9)
4.八进制:0123456 组成,0O 0O开头的数据为八进制
5.十六进制:0——9 a_f,0x,0X开头的叫做十六进制
6.十进制:0-9
2.进制的换算
1.数据.toString(进制数)
var num = 189;
console.log(num.toString(2));
2.二进制换算
101
1*2^0 + 0*2^1 + 1*2^2 = 1+ 0 + 4 = 5
3.八进制
76
7*8^0 + 6*8^1 = 7 + 48 = 55
4.十六进制
541
5*16^0 + 4*16^1 + 1*16^2 = 5 + 64 + 256 = 325
3.一元运算符
1.++ --
2.++ -- 可以使用在变量的前面,也可以使用在变量的后面
3. 前置++:++变量, 先执行++ ,然后在使用变量
4. 后置++:变量++,先使用这个变量,在执行 +1
5.前置--:--变量,先执行-- ,然后在使用变量
6. 后置--:变量--,先使用这个变量,在执行 -1
案例1
var num = 1;
console.log(num++)//1
console.log(num)//2
console.log(++num)//2
案例2
var n1 = 3;
var n2 = 4;
var res1 = n1++ - n2-- + ++n2 - --n1 + n2++ + n1++ - ++n2;
// 计算res1 n1 n2 的值
// res1:1 2 -1
// n1:3 2 2
// n2:6 6 6
console.log("res1:" + res1); //1
console.log("n1:" + n1); //4
console.log("n2:" + n2); //6
/*
n1 = 3 n2 = 4
n1++ - n2-- + ++n2 - --n1 + n2++ + n1++ - ++n2;
3 - n2-- + ++n2 - --n1 + n2++ + n1++ - ++n2; n1 = 4,n2=4
3 - 4 + ++n2 - --n1 + n2++ + n1++ - ++n2; n1 = 4,n2=3
3 - 4 + 4 - --n1 + n2++ + n1++ - ++n2; n1 = 4,n2=4
3 - 4 + 4 - 3 + n2++ + n1++ - ++n2; n1 = 3,n2=4
3 - 4 + 4 - 3 + 4 + n1++ - ++n2; n1 = 3,n2=5
3 - 4 + 4 - 3 + 4 + 3 - ++n2; n1 = 4,n2=5
3 - 4 + 4 - 3 + 4 + 3 - 6; n1 = 4,n2=6
*/
4.赋值运算
1.=
2.+=
3.-=
4.*=
5./=
6.%=
4.流程控制结构(语句)
1.顺序结构:代码执行顺序是从上而下,从左到右执行
2.选择结构:多条语句选择性的执行需要执行的代码
2.1if分支语句
if(判断语句){
执行语句(当判断语句结果为true的时候)
}
2.2双分支语句
if(判断语句){
执行语句1(判断条件为true的时候执行)
}else{
执行语句2(判断条件为false的时候执行)
}
注:两条语句中肯定会执行其中一条语句
2.3多分支语句
if(判断语句1){
执行语句1
}else if(判断语句2){
执行语句2
}else if (判断语句3){
执行语句3
}else{
执行语句4
}
案例:
判断两个数的大小
var n1 = 10;
var n2 = 40;
if (n1 > n2) {
var max = n1;
console.log("n1比n2大");
} else {
console.log("n2比n1大");
var max = n2;
}
console.log(max);
3.循环结构:重复的执行某一条代码
4.计算机发明的历史:二战期间,美国的部队有一个叫做图灵的人为了破解情报发明的果算机。因为要重复去做破译工作。
5.三目运符
1.三木运算 条件?执行语句1:执行语句1
条件为true的时候,运行执行语句1 如果条件为false的时候,执行语句2
条件为true的时候,执行?后面的语句
案例:
var n1 = 10;
var n2 = 40;
var max = n1 > n2 ? n1 : n2;
console.log(max);
5.案例判断三个数的大小
<script>
var n1 = 10,
n2 = 50,
n3 = 80;
if (n1 > n2 && n1 > n3) {
// 如果满足这个条件,说明n1是最大值
var max = n1;
// 判断n2 和n3 谁的值较大
var center = n2 > n3 ? n2 : n3;
// 判断n2 和n3 谁的值较小
var min = n2 < n3 ? n2 : n3;
console.log(min, center, max);
} else if (n2 > n1 && n2 > n3) {
var max = n2;
// 判断 n1 和 n3 的值 大小
var center = n1 > n3 ? n1 : n3;
var min = n1 < n3 ? n1 : n3;
console.log(min, center, max);
} else {
var max = n3;
var center = n1 > n2 ? n1 : n2;
var min = n1 < n2 ? n1 : n2;
console.log(min, center, max);
}
</script>
5.案例输入星期几,打印出对印的东西出来
<script>
var date = "星期九";
if (date == "星期六") {
console.log("星期六了,可以放飞自我了");
} else if (date == "星期天") {
console.log("苦逼我又在等这个上课");
} else if (date == "星期一" || date == "星期二" || date == "星期三" || date == "星期四" || date == "星期五") {
console.log("我在写bug");
} else {
console.log("时间有错误");
}
</script>
5.用if–else判断润年
<script>
// 能被4整除 但是不能被100整除 或者 能被400整除
// 判断一个数是否能被 2整除,看看这个数 对 2求余 是否为 0
// 如果余数为0 就说明能被整除,否则就不能被整除
var date = prompt("请输入年份");
if (date % 4 === 0 && date % 100 !== 0 || date % 400 === 0) {
console.log(date + "是润年");
} else {
console.log(date + "不是润年");
}
</script>
6.prompt弹出提示信息输入框
1.alert
2.confirm(1)
3.prompt()有输入框的弹窗
返回值:点击取消得到null
点击确定的时候,没有内容,是空白的
有内容得到的是输入的内容
7.switch多值匹配
1.语法:
switch(值){
case 值1:
执行语句1
case 值2:
执行语句2
default:
(默认)
当上面的值都不匹配的时候就会执行这条语句。
}
//case穿透的一个问题:当值匹配了其中一条case之后,那么就会执行这条caserg dm r 代码。
//解决case穿透:给每一个case后面执行语句添加一个break
var num = 1;
switch(num){
case1:
console.log("我是为1的这条case1");
case2:
console.log("我是为2的这条case2");
case3:
console.log("我是为3的这条case3");
case4:
console.log("我是为4的这条case4");
}
7.switch案例
<script>
var date = prompt("请输入星期");
switch (date) {
case "星期一":
case "星期二":
case "星期三":
case "星期四":
case "星期五":
console.log("写bug");
break;
case "星期六":
console.log("放飞自我");
break;
case "星期天":
console.log("等上课的一天");
break;
default:
console.log("时间错误");
}
</script>
8.循环结构
1.for循环
2.while循环
2.1语法
while(判断条件){
执行语句
}
注:
if(判断){
}
先执行判断条件,判断条件为true的时候。就会执行语句。条件为false那么就不执行。
执行语句执行结束,那么if分支就结束。
while循环:执行判断条件,条件为true,那么就执行-执行语句。执行语句执行完成之后,还需要执行一次判断条件。哪果判断条件一直满足,就会一直执行下去,就会造成死循环。
循环的条件:初始值,判断条件,执行语句,变量更新
如果没有变量更新会导致死循环,写循环的时候一定要避免死循环。
3.do...while循环
8.while循环案例
<script>
// 打印1-100之间奇数
var num = 1;
while (num <= 100) {
if (num % 2 !== 0) {
console.log(num);
}
// 变量更新
num++;
}
</script>