1.运算符
(1)位运算符
模拟计算机底层的运算,先把数据转为2进制再进行运算,运算完再把结果转回成10进制
1 2 3 4 5 6 7
1 10 11 100 101 110 111
& 按位与,上下两位比较,都是1结果是1,否则是0
| 按位或,上下两位比较,含有1结果是1,否则是0
^ 按位异或,上下两位比较,不同为1,否则为0
>> 按位右移,删除末尾的位数,每次移动一位是原来一半再取整
<< 按位左移,在末尾补0,每次移动一位在原来基础乘以2
9>>1 2<<1
1001 10
100 100
1000
3&5 5&7 3|9 6^8
011 101 0011 0110
101 111 1001 1000
——— ——— ——— ———
001 101 1011 1110
5 11 14
(2)赋值运算符
= += -= *= /= ...
运算赋值
(3)三目运算符
一目运算符:由一个运算符连接了一个表达式 ++ -- !
二目运算符:由一个运算符连接了两个表达式
三目运算符:由两个运算符连接了三个表达式
条件表达式 ? 表达式1 : 表达式2
当条件表达式为true,执行表达式1
当条件表达式为false,执行表达式2
2.浏览器端函数
alert() 弹出警示框
prompt() 弹出提示框(输入框),需要使用变量保存用户输入的值,类型是字符串型,如果点击取消结果是null
练习:弹出两次提示框,分别输入数字,获取输入的数字,计算相加的和,将结果以警示框弹出
程序 = 数据 + 算法
程序的执行方式:顺序执行、选择执行、循环执行
3.流程控制
(1)if语句
满30减20
if(条件表达式){ 语句块 } |
如果if后的语句块中只有一行代码,则大括号可以省略的
以下数据作为条件隐式转换为false:
0 NaN '' undefined null
练习:声明变量保存个人签名,如果签名内容为空(空字符串),设置默认签名‘这家伙很懒,什么也没留下’,最后打印签名。
解法1:
var n='';
if(!n){
n='这家伙很懒,什么也没留下';
}
console.log(n);
解法2:
var n='';
if(n===''){
n='这家伙很懒,什么也没留下';
}
console.log(n);
(2)if-else语句
if(条件表达式){ 语句块1 }else{ 语句块2 } |
(3)if-else嵌套
if(条件表达式1){ 语句块1 }else if(条件表达式n){ 语句块n }else{ 语句块n+1 //以上所有的条件表达式都是false } |
(4)switch-case语句
是一种特殊的多项分支语句
switch(表达式){ case 值1: //如果表达式和值1相同,执行对应语句块 语句块1 break; //结束switch-case,不再往后继续执行 case 值n: 语句块n break; default: 语句块n+1 //表达式和case后的值比较都是false } |
表达式在和case后的值比较的过程中,只能进行全等于的比较(===)
练习:弹出两次提示框,分别输入商品的单价和数量,计算出总价,如果总价满1000打九折,假设会员卡内有余额1500元,如果会员卡足以支付警示框弹出‘pay success’,否则警示框弹出‘pay error’
循环:一遍又一遍执行相同或者相似的代码
循环的两个要素
循环条件:循环往后执行的前提条件
循环体:要重复执行的内容
1.while循环
while(循环条件){ 循环体 } |
2.break
在循环体中使用,用于强制结束循环,就会跳出循环。
3.do-while循环
do{ 循环体 }while(循环条件); |
4.for循环
for(初始值;循环条件;增量){ 循环体 } |
5.continue和break
continue,跳过后续的循环体代码,还会执行下一次循环
break,强制结束循环,不再执行任何循环的代码
练习:打印1~100之间所有的整数,不包含能被3或者能被4整除的数字
for(var i=1;i<=100;i++){
if(i%3===0 || i%4===0){
continue;
}
console.log(i);
}
6.循环嵌套
在一个循环的循环体中又出现了另一个循环
任意两个循环之间都可以相互嵌套的
*****
*****
*****
*****
*****
*
**
***
****
*****
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
声明变量保存任意一个整数,判断是否为素数,是的话打印'素数',否则打印‘非素数’
课后任务:打印出100~200之间所有素数
7 8 9 2~6 2~7 2~8 |
综合练习:
使用do-while循环,当循环条件为true,在循环体中弹出弹出提示框,如果用户输入的值‘888888’,警示框弹出‘login success’,结束循环;如果输入的次数达到了3次,警示框弹出‘game over’,结束循环。