JS基础-3
1.运算符
(1)位运算符(了解)
模拟计算机底层的运算过程,先将值转为二进制然后再运算,运算完再把结果转会成十进制
1 2 3 4 5 6 7
1 10 11 100 101 110 111
& :按位与,上下两位比较都是1,则结果为1,否则为0
console.log(3&5);
/* 3&5
011
101
& ______
001
*/
| :按位或,上下两位含有1,则结果为1,否则为0
console.log(5|7); //7
/*
101
111
|________
111
*/
^ :按位异或,上下两位不同,则结果为1,否则为0
console.log(9^3); //10
/*
1001
0011
^________
1010
*/
>> :按位右移,去掉最后的若干位
console.log(7>>1);
/*
让7往右移动一位
7 -> 3
111 -> 11
*/
<< :按位左移,在最后补若干个0
console.log(7<<1);
/*
让7往左移动一位
7 -> 14
111 -> 1110
*/
(2)赋值运算符
= += -= *= /= %= …
计算赋值:先进行计算,再进行赋值
练习:声明变量保存商品的价格,让价格执行打八折,最后打印价格
var price=150;
price*=0.8;
console.log(price);
(3)三目运算符
一目运算符:由一个运算符连接了一个操作数据或者表达式
二目运算符:由一个运算符连接了两个操作数据或者表达式
三目运算符:由两个运算符连接了三个操作数据或者表达式
条件表达式 ? 表达式1:表达式2
如果条件表达式为true,执行表达式1,否则执行表达式2
2.浏览器端函数
alert() 弹出警示框
prompt() 弹出提示(输入)框,需要使用变量保存用户输入的值,类型是字符串型;如果点击取消返回null
练习:弹出两次提示框,分别输入数字,计算两个数字相加的结果并打印出来
程序=数据+算法
程序的执行方式分为顺序执行,选择执行,循环执行
3.流程控制(选择执行)
(1)if 语句
满30减20
if (条件表达式){语句块}
//满30减20
//商品的总价
var total=32;
//判断是否满30
if(total>=30){
total-=20
}
console.log(total);
如果if后语句中只有一行语句,则可以省略大括号。
以下数据作为条件表达式出现,隐式转换为false
0 ‘’(引号为空字符) NaN undefined null
练习:声明一个变量保存用户的签名内容,如果签名内容为空,设置签名内容’这家伙很懒,什么也没留下‘,最后打印签名内容
方法一:
var autograph='';
if (autograph===''){
autograph='这家伙很懒,什么也没留下';
}
console.log(autograph);
方法二(取反):
var autograph='飞哥超勇的';
if (!autograph){
autograph='这家伙很懒,什么也没留下';
}
console.log(autograph);
(2)if-elase语句
if(条件表达式){
语句块
}else{
语句块2
}
练习:声明变量分别保存输入的用户名和密码,如果用户是’root’,并且密码是’123456’,打印登陆成功,否则打印登陆失败
var uname='root',password='123456';
if (uname==='root' && password==='123456'){
console.log('登陆成功');
}else{
console.log('登陆失败');
}
(3)if-else嵌套
if(条件表达式1){
语句块1
}else if(条件表达式2){
语句块2
}else{
语句块n //以上所有条件都是false
}
练习:声明一个变量,保存数据库中读取的订单状态码,要求根据订单的状态码打印对应的汉字状态 1-等待付款;2-商家等待发货;3-运输中;4-已签收;5-已取消;其他-无法追踪
var status=6;
if (status===1){
console.log('等待付款');
}else if (status===2){
console.log('等待发货');
}else if (status===3){
console.log('运输中');
}else if (status===4){
console.log('已签收');
}else if (status===5){
console.log('已取消');
}else{
console.log('无法追踪');
}
(4)switch-case
根据一个表达式的值,选择执行对应的语句块,属于是一种特殊的多项分支语句
switch(表达式){
case 值1: //会将表达式的值和值1比较
语句块1
break;
case 值2:
语句块2
break;
default:
语句块n
}
switch后的表达式在和case后的值比较的时候只能进行全等于(===),要求值和类型都相同。
练习:声明变量保存任意一个城市名称,根据成十名称打印对应的美食
var city='保定';
switch(city){
case '保定':
console.log('驴肉火烧');
break;
case '北京':
console.log('北京烤鸭');
break;
case '高邮':
console.log('咸鸭蛋');
break;
case '西安':
console.log('羊肉泡馍');
break;
default:
console.log('未知');
}
小编第一次在csdn上发表有关文章,如果有问题可以私信我,有问题也可以一起讨论。而且小编也会不定时更新的哦!!
小编寄语:希望大家多多努力,创造更好的自己
侵删