if判断
if(条件1){
// 如果条件1为真,就会执行代码块
//代码块
}else if(条件2){
//代码块
}else if(条件3){
}else{
// 以上条件都不满足就会执行这个代码块的代码
}
以下数据均判定为false:
1).null
2).undefined
3).false
4).NaN
5).''
6).0
1.如果某个条件满足,则直接忽略后面的所有条件
2.else if可以有多个或0个
3.else可以有一个或者0个
4.else可以换行,可以不换行
5.如果代码块只有一条语句,可以省略花括号(不推荐)
6.if只能出现一次
var score=87;
//给成绩划分等级 A:>=90 B:>=70 <90 C>=50 <=70 D:其他
function getLevel(score){
if(score>=90){
return 'A'
}else if(score>=70&&score<90){
return 'B'
}else if(score>=50&&score<=70){
return 'C'
}else{
return '其他'
}
}
console.log(getLevel(score));//B
//简写形式
function getLevel(score){
if(score>=90){
return 'A'
}else if(score>=70){
return 'B'
}else if(score>=50){
return 'C'
}else{
return '其他'
}
}
console.log(getLevel(score));
var score=97;
//给成绩划分等级 A:>=90 B:>=70 <90 C>=50 <=70 D:其他
// 三个独立的if块
//这种判断的条件更多 影响执行效率
if(score>=90){//符合条件打印A
console.log('A');
}
if(score>=70){//符合条件,打印B
console.log('B');
}
if(score>=50){//符合条件,打印C
console.log('C');
}else{
console.log('D');
}
//x的打印结果为多少
var x=1;
if(x++>=1){//true
x++
}else if(++x>=2){
x++
}else{
x--
}
console.log(x);//3
//x的打印结果是多少
if(!x){
x=1
}
if(false){//就算这里的条件为false.下面的var x也会发生代码提升
var x;//这里会发生变量提升,相当于在js脚本的第一行声明了x,但是并没有赋值
}
console.log(x);//1
补充
用户输入:prompt
返回类型:null或者字符串
该表达式得返回结果:
1.null:表示用户点击了取消
2.用户输入的字符串:表示用户点击了确定,得到用户输入的结果
let num=prompt('请输入一个数字',0);//等待用户操作(确定,取消) 将用户操作的结果保存到变量result中
console.log(num);
let num=prompt('请输入一个数字',0);
console.log(typeof num);//string
将字符串转换为数字:+字符串
// 让用户输入一个数字,如果点击了取消,输出取消,如果点击了确定,根据输入的内容判断输入是否正确
var result=prompt('请输入你的年龄',18);
if(typeof result=='object'){
console.log('您已取消');
}else if(typeof +result=='number'){
console.log(`您输入的年龄是${result}`);
}else {
console.log('类型错误');
}
var result=prompt('请输入您的年龄');
if(result===null){
console.log('点击了取消');
}else{
//点击了确定
result=+result;//转换为数字
if(isNaN(result)){
//不是正常的数字
console.log('输入有误');
}else{
console.log(result,typeof result);
}
}
练习题
- 提示用户输入一个三位数,若不是三位数,则提示用户输入有误;若是三位数,则判断该数能否被13整除。
// 提示用户输入一个三位数,若不是三位数,则提示用户输入有误;若是三位数,则判断该数能否被13整除
var result=prompt('请输入一个三位数字',000);
//用户点击了取消
if(result===null){
console.log('您点击了取消');
//用户点击了确定
}else if(result.length!=3){
console.log('输入有误');
}else{
//输入的长度等于3
//输入位数是正确的
// 判断是不是数字
result=+result;
if(isNaN(result)){
//不是一个正常的数字
console.log('请输入合适的数字');
}else{
// 判断该数能否被13整除
if(result%13==0){
console.log('可以被13整除');
}else{
console.log('不能被13整除');
}
}
}
let result=+prompt('请输入一个三位数');
if(isNaN(result)||result<100||result>999){
console.log('输入有误');
}else{
//判断是否能被13整除
if(result%13==0){
console.log('能被13整除');
}else{
console.log('不能被13整除');
}
}
- 让用户输入一个成绩(0-100),判断这个成绩属于哪个范围并输出结果(A:90-100 B:70-89 C:60-69 D:40-59 E:0-39),若用户输入的不是0-100的数字,则输出输入有误。
// 让用户输入一个成绩(0-100),判断这个成绩属于哪个范围并输出结果
// (A:90-100 B:70-89 C:60-69 D:40-59 E:0-39),若用户输入的不是0-100的数字,则输出输入有误
var score=prompt('请输入您的成绩',0);
if(isNaN(score)||score<0||score>100){
console.log('输入有误');
}else{
if(score>=90){
console.log('A');
}else if(score>=70){
console.log('B');
}else if(score>=60){
console.log('C');
}else if(score>=40){
console.log('D');
}
else{
console.log('E');
}
}
- 根据世界卫生组织推荐的计算方法,
男性标准体重计算方法为(身高cm-80)×70﹪
女性标准体重计算方法为(身高cm-70)×60﹪
标准体重正负10%为正常体重,低于标准体重的10%为过瘦,高于标准体重的10%为过重
编写程序,让用户输入性别、身高、体重,判断用户的健康状况
健康状况有3种:
- 你的体重正常,请继续保持
- 你的身体偏瘦,请加强营养
- 你的身体偏胖,请加强锻炼
let sex=prompt('请输入您的性别(0表示女性,1表示男性)',);
let height=prompt('请输入您的身高(单位为cm)',160);
let weight=prompt('请输入您的体重(kg)');
if(sex!=0||sex!=1||isNaN(weight)||isNaN(height)){
console.log('输入有误');
}
//计算标准体重得函数
function getWeight(sex,height){
if(sex==0){
//女性
return (height-70)*0.6
}else{
//男性
return (height-80)*0.7
}
}
let standardWeight=getWeight(sex,height);
// 最高标准体重
let highStandardWeight=standardWeight*(1+0.1);
// 最低标准体重
let lowerStandardWeight=standardWeight*(1-0.1);
// console.log('你的体重正常,请继续保持');
// 属于健康范围
if(weight>highStandardWeight){
console.log('你的身体偏胖,请加强锻炼');
}else if(weight<lowerStandardWeight){
console.log('你的身体偏瘦,请加强营养');
}else{
console.log('你的体重正常,请继续保持');
}
- 某理财公司推出一种理财服务,服务规则如下:
若用户的理财金额在50万元以下,则每年的收益按照4%计算。
若用户的理财金额在50万元以上(包括50万),则每年收益按照4.5%计算。
若用户的理财金额超过200万,除了理财收益外,还要额外给予用户收益金额的10%
编写程序,让用户输入理财金额和理财年限,计算到期后的收益
let money=prompt('请输入理财金额');
let year=prompt('请输入理财年限');
// 容错
if(isNaN(money)||isNaN(year)||year<=0||money<=0){
console.log('输入错误');
}
function calcProfit(money,year){
//假设用户输入的是正确的金额
if(money<500000){
return money*(0.04)*year
}else if(money>=500000&&money<2000000){
return parseInt(money*(0.045)*year)
}else{
let lirun=money*(0.045)*year;
return parseInt(lirun*(1+0.1))
}
}
console.log(calcProfit(money,year));
- 编写一个用户和计算机猜拳的游戏,用户输入剪刀、石头或布,与计算机的出拳进行比较,判断胜负
let userFist=prompt('请出拳(剪刀或者石头或者布)');
let arr=['石头','剪刀','布'];
let computerFistIndex=Math.floor(Math.random()*arr.length);
let computerFist=arr[computerFistIndex];
if(userFist!='石头'&&userFist!='剪刀'&&userFist!='布'){
console.log('输入错误');
}else{
console.log(userFist,computerFist);
if(userFist==computerFist){
console.log('平局');
}else if(userFist=='剪刀'&&computerFist=='石头'||userFist=='石头'&&computerFist=='布'||userFist=='布'&&computerFist=='剪刀'){
console.log('计算机胜利');
}else {
console.log('用户胜利');
}
}
网友评论