Javascript03

1.运算符

(5)赋值运算符

= += -= *= /= %= …
赋值 运算赋值:先执行运算,再执行赋值

//赋值
var a = 1;
a = 3;
//在原来的基础之上加1
//a++;
//a = a + 1;
//运算赋值,先执行运算再执行赋值
a += 1;
//console.log(a);

练习:声明变量保存商品的价格,让该商品在原来的基础之上打九折,最后打印价格。

var price = 1000;
//在原来基础之上乘以0.9
price *= 0.9;
console.log(price);
(6)三目运算符

一目运算符:由一个运算符连接的一个操作数据或者表达式 ++ – !
二目运算符:由一个运算符连接的两个操作数据或者表达式
三目运算符:由两个运算符连接的三个操作数据或者表达式

条件表达式 ? 表达式1 : 表达式2
如果条件表达式为true执行表达式1
如果条件表达式为false执行表达式2

//判断一个人是否为成年人
var age = 11;
age >= 18 ? console.log('成年人') : console.log('未成年人');
var res = age >= 18 ? '成年人' : '未成年人';
console.log(res);

//练习:声明变量保存用户输入的用户名和密码,如果用户名是root并且密码是123456,打印’登录成功’,否则打印’登录失败’

var uname = 'root';
var upwd = '123456';
var res = uname === 'root' && upwd === '123456' ? '登录成功' : '登录失败';
console.log(res);

2.浏览器端函数

alert() 弹出警示框

//alert('WEB2104');
//alert('javascript');

prompt() 弹出提示框(输入框),需要使用变量保存用户输入的值,类型是字符串型,如果直接点击取消返回null。如果什么也没输入点击确定得到的是空字符串( “”)

var uname = prompt('input user name');
var upwd = prompt('input password');
console.log(uname,upwd);
console.log(typeof uname,typeof upwd);

//练习:弹出两次提示框,分别输入数字,计算两个数字相加的和,将结果以警示框形式弹出

var n1 = prompt('input num1');
var n2 = prompt('input num2');
//将相加的结果以警示框弹出
alert( parseFloat(n1) + parseFloat(n2) );

程序 = 数据 + 算法

程序的执行方式:顺序执行、选择执行、循环执行

3.流程控制(选择执行)

(1)if语句

在这里插入图片描述

满30减20

if(条件表达式){ 语句块}
如果if后的语句块中只有一行代码,则大括号可以省略

var total = 28;
if(total >= 30){
  //在当前总价基础之上减20
  total -= 20; //total = total-20;
}

//练习:声明变量保存年份,使用if语句,判断是否为闰年,如果是打印’闰年’

var year = 2021;
//可读性
if(year% 4 === 0 && year % 100 !== 0 || year % 400 === 0){
  console.log('闰年');
  console.log('2月有29天');
}

以下数据作为条件表达式会隐式转换为false
0 ‘’ undefined null NaN

if(!''){
//console.log('ok');
}

练习:声明变量保存用户的签名内容,如果签名内容为空设置默认内置为’这家伙很懒,什么也没留下’,最后打印签名内容。

var str='';
//如果是空字符串,执行语句块中代码
if(!str){//str === ''
  str = '这家伙很懒,什么也没留下';
}
//console.log(str);

(2)if-else语句
在这里插入图片描述

if(条件表达式){ 语句块1}else{ 语句块2}

(3)if-else嵌套
在这里插入图片描述

if(条件表达式1){
语句块1
}else if(条件表达式n){
语句块n}else{
语句块n+1 //以上所有的条件表达式都是false
}

//判断是否为成年人
var age = 12;
if(age >= 18){
  console.log('成年人');
}else{
  console.log('未成年人');
}
//练习:声明变量保存用户输入的用户名和密码,如果用户名是root并且密码是123456,打印'登录成功',否则打印'登录失败'
//使用if-else判断
var uname = 'root';
var upwd = '123333';
if(uname === 'root' && upwd === '123456'){
  console.log('登录成功');
}else{
  console.log('登录失败');
}
*/
//练习:声明变量保存读取的性别的值(1/0),如果是1打印'男',否则是0打印'女'
//分别使用if-else和三目运算两种方法完成
var sex = 0;
if(sex){
  console.log('男');
}else{
  console.log('女');
}
console.log(sex ? '男' : '女');

(4)switch-case
是特殊的多项分支语句,根据表达式的值选择执行对应的语句

switch(表达式){ 
case1:  
语句块1  
break; 
case 值n:  
语句块n  
break; 
default:  
语句块n+1  //表达式和case后的值都不相同}
/*
//1-非洲(瓦坎达)  2-印度  3-日本
var n;
if(n === 1){
  console.log('瓦坎达');
}else if(n === 2){
  console.log('印度');
}else if(n === 3){
  console.log('日本');
}else{
  console.log('八宝山');
}

//练习:假设从数据库中读取到了订单的状态码,根据订单的状态码打印对应的汉字状态
//1-等待付款  2-等待发货  3-运输中  4-已签收  5-已取消   其它-无法追踪
var status = null;
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('无法追踪');
}
*/
//练习:声明变量保存一个人的成绩,如果不在0~100之间打印'非法的成绩',然后再判断成绩打印出对应的状态
//90~100    优秀
//80~90以下 良好
//70~80以下 中等
//60~70以下 及格
//60以下    不及格
var score = 52;
if(score > 100 || score < 0){
  console.log('非法的成绩');
}else if(score >= 90){//score>=0 score<=100
  console.log('优秀');
}else if(score >= 80){//score>=0 score<90
  console.log('良好');
}else if(score >= 70){//score>=0 score<80
  console.log('中等');
}else if(score >= 60){//score>=0 score<70
  console.log('及格');
}else{//score>=0 score<60
  console.log('不及格');
}

对比if-else嵌套和switch-case的区别

相同:两者都可以用于多项判断
不同:if-else既可以进行等于,也可以进行不等于的比较;switch-case只能进行全等于的比较;if-else的适用范围更加广泛,switch-case结构上更为清晰,执行效率更高。

课后任务
(2)练习:弹出两次提示框分别输入商品的单价和数量,计算出总价;如果总价满1000打九折,假设当前会员卡内有余额1200,如果足以支付,警示框弹出’pay success’,否则支付失败,警示框弹出’pay err’

//练习:弹出两次提示框分别输入商品的单价和数量,计算出总价;如果总价满1000打九折,假设当前会员卡内有余额1200,如果足以支付,警示框弹出'pay success',否则支付失败,警示框弹出'pay err'
//获取用户输入的单价和数量
var price = prompt('input price');
var num = prompt('input number');
//计算出总价 = 单价*数量
//隐式转换
var total = price * num;
console.log(total);
//判断是否满1000
if(total >= 1000){
  //打九折
  total *= 0.9;
}
console.log(total);
//当前卡内余额
var card = 1200;
//判断是否足以支付
if(card >= total){
  alert('pay success');
}else{
  alert('pay error');
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值