1.昨天作业总结
一定要牢记,使用prompt()接收到的数据是字符串型的,要做算术运算,要先使用parseInt()转换成数值型,才能进行操作。
2.新的数据类型-布尔Boolean
昨天已经说了两种基本数据类型:
- Number(数值类型) 控制台显示蓝色 NaN是数值类型
- String(字符串类型) 控制台显示黑色
今天再说一种:Boolean(布尔),他只有两个值 - true(真)
- false(假)
var flag=true;
flag=false;
3.关系运算符
- 昨天说了算术运算符
符号 | 意思 |
---|---|
> | 大于号 |
< | 小于号 |
>= | 大于或等于 |
<= | 小于或等于 |
== | 等等于 |
=== | 全等于 |
!= | 不等于 |
!== | 不全等于 |
- 特别注意“=” 代表的是赋值
console.log(2<4); //true
console.log(5<4); //false
console.log(-10<-11); //false
console.log(110>120); //false
console.log(-123>-234); //true
console.log(5>=4); //true
console.log(-5>=-4); //false
console.log(5>=5); //true
console.log(3==3); //true
console.log(3==4); //false
console.log(3=='3'); //true 没有判断数据类型
console.log(3=='3 '); //加空格还是true
console.log("hello"=="world"); //false
console.log("hello"=="hello"); //true
console.log("hello"=="hello "); //加空格 false
console.log(NaN==NaN); //false
console.log(3===3); //true
console.log('3'==='3'); //true
console.log("我是中国人"==="我是中国人"); //true
console.log("我是中国人"===" 我是中国人"); //加空格 false
console.log(2==='2'); //false
//全等于会进行数据类型的判断,比==严谨了很多
console.log(2!=3); //true
console.log(2!=2); //false
console.log(2!='2'); //false
console.log(2!==2); //false
console.log(2!=='2'); //true
console.log(2=3);// 会直接报错
一个小小的判断程序:
//判断一个人考试是否几个,60分及格
var cj=parseInt(prompt("输入成绩:"));
console.log(cj>=60);
4.逻辑运算符
- && 与 和、且
- || 或 或者
- ! 非 否定、取反
//&& 真真为真(全真为真)
console.log(true&&true); //true
console.log(true&&false); //false
console.log(false&&true); //false
console.log(false&&false); //false
//|| 假假为假(全假为假)
console.log(true||true); //true
console.log(true||false); //true
console.log(false||true); //true
console.log(false||false); //false
//! 非真即假,非假即真
//五种假:0就是假、false就是假、""空字符串也是假
console.log(!true); //false
console.log(!false); //true
//0其实就是假
console.log(!2); //false
console.log(!1); //false
console.log(!0); //true
console.log(!-1); //false
5.if语句
如果、假如…
var a=20;
if(a>10){
alert("哈哈,真好!!!");
}else{
alert("来了老弟!!!");
}
var b=3;
if(b==3){
b+=4;
}else{
b-=3;
}//返回7
if(b=3){
b+=4;
}else{
b-=3;
}//返回7
if(b=0){
b+=4;
}else{
b-=3;
}//返回-3
多分支if语句
if(条件1){
条件1满足执行
}else if(条件2){
条件1不满足,条件2满足执行
}else{
以上条件都不满足执行
}
var a=10;
if(a==10){
a+=2;
}else if(a==12){
a+=4;
}else if(a==16){
a+=4;
}// 返回12
// 跳楼现象
var a=10;
if(a>5){
a+=2;
console.log(a);
}else if(a>=10){
a+=4;
console.log(a);
}else if(a==16){
a+=4;
console.log(a);
}// 返回12 只要一个条件满足,后面的代码就不会执行了
if语句嵌套使用
- 标签可以嵌套使用
if(条件1){
if(条件2){
同时满足条件1和条件2,才会执行
}
}
一个小练习程序
/*比如今晚和朋友吃烧烤
喝啤酒
9度
5元
30瓶 4元
干啤
4元
20瓶3元
输入你喝的啤酒和瓶数
求出付款数额*/
var a=prompt("请输入你喝的瓶酒种类:");
var b=parseInt(prompt("请输入你喝的瓶数:"));
var money;
if(a=="干啤"){
if(b>=30){
money=b*4;
}else{
money=b*5
}
}else{
if(b>=20){
money=b*3;
}else{
money=b*4
}
}
alert("您总共消费:"+money+"元,欢迎下次光临!");
课堂练习
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
button{
display:block;
width:100px;
height:30px;
background-color:skyblue;
border-radius:5px;
margin-top:20px;
margin-left:200px;
}
</style>
</head>
<body>
<script type="text/javascript">
//1.判断考试成绩(60分以上提示很棒,否则提示需要加油哦~)
function one(){
var score=parseFloat(prompt("请输入您的成绩:"));
if(score>=60){
alert("您真棒!!");
}else {
alert("你还要继续加油哦~");
}
}
/*2.考试等级划分(90以上为优秀,提示你很优秀;
80-90为良好,提示考的不错;
60-80位及格,提示还需要努力努力;
60以下为不及格,提示再不加油就完蛋了~);*/
function two(){
var cj=parseFloat(prompt("请输入你的成绩:"));
if(cj>=90){
alert("你很优秀!");
}else if(cj>=80){
alert("考得不错!");
}else if(cj>=60){
alert("你还需要努力努力!");
}else{
alert("再不加油就完蛋了!");
}
}
/*3.根据BMI(身体质量指数)显示一个人的体型。
BMI指数,就是体重、身高的一个计算公式。公式是:
BMI =体重÷身高的平方
比如,张三的体重是81.6公斤,身高是1.71米。
那么张三的BMI就是 81.6 ÷ 1.712 等于 27.906022365856163
过轻:低于18.5
正常:18.5-24.99999999
过重:25-27.9999999
肥胖:28-32
非常肥胖, 高于32
用JavaScript开发一个程序,让用户先输入自己的体重,然后输入自己的身高(弹出两次prompt框)。
计算它的BMI,根据上表,弹出用户的身体情况。比如“过轻” 、 “正常” 、“过重” 、 “肥胖” 、“非常肥胖”。
在程序开发中,充分考虑跳楼现象,不允许出现多余的东西。*/
function three(){
var weight=parseFloat(prompt("请输入你的体重,单位kg"));
var height=parseFloat(prompt("请输入你的身高,单位m"));
var BMI=weight/(Math.pow(height,2));
if(BMI<18.5){
alert("你的体重过轻");
}else if(BMI<24.99999999){
alert("你的体重正常");
}else if(BMI<27.9999999){
alert("你的体重过重");
}else if(BMI<=32){
alert("你已经进入肥胖行列");
}else{
alert("你已经非常肥胖了,请注意你的饮食");
}
}
/*4.一个加油站为了鼓励车主多加油,所以加的多有优惠。
92号汽油,每升6元;如果大于等于20升,那么每升5.9;
97号汽油,每升7元;如果大于等于30升,那么每升6.95
编写JS程序,用户输入自己的汽油编号,然后输入自己加多少升,弹出价格。*/
function four(){
var num=parseInt(prompt("请输入你要加的汽油编号:"));
var l=parseFloat(prompt("请输入你要加多少升汽油:"));
var price;
if(num=92){
if(l>=20){
price=l*5.9;
}else{
price=l*6;
}
}else if(num=97){
if(l>=30){
price=l*6.95;
}else{
price=l*7;
}
}else{
alert("没有你要的汽油!");
}
alert("您本次加油共消费"+price+"元,欢迎下次光临!");
}
/*5.某个公司要给员工发年终奖,为了奖励老员工,所以工作时间越长,发的越多,规则如下:
工作满0年发月薪的1倍月薪年终奖,如果月薪大于8000,那么就是发1.2倍
工作满1年 发月薪的1.5倍月薪年终奖,如果月薪大于10000,那么就是发1.7倍
工作满2年,甚至更多发月薪的3倍月薪年终奖,如果月薪大于12000,那么就是发3.2倍
用JS编写程序,让用户输入工作了几年,可以输入0,然后输入月薪。然后算年终奖。*/
function five(){
var year=parseInt(prompt("请输入你的工作年限,不满一年,请输入0。"));
var sall=parseInt(prompt("请输入你的月薪:"));
var money;
if(year<1){
if(sall>=8000){
money=sall*1.2;
}else{
money=sall;
}
}else if(year<2){
if(sall>=10000){
money=sall*1.7;
}else{
money=sall*1.5;
}
}else{
if(sall>=12000){
money=sall*3.2;
}else{
money=sall*3;
}
}
alert("你的年终奖为:"+money+"元,请继续努力!");
}
</script>
<button "one()">作业一</button>
<button "two()">作业二</button>
<button "three()">作业三</button>
<button "four()">作业四</button>
<button "five()">作业五</button>
</body>
</html>
6.for循环
- 最经典的就是:从1到100求和。
var sum=0;
for(var i=1;i<=100;i++){
sum+=i;
}
7.剩余两种数据类型
- nudefined 只声明变量,而不赋值,打印输出结果为undefined
不声明,直接打印输出,会报错 - null 空
- 五种基本数据类型:Number、Boolean、String、undefined、null。
8.一元运算符
- typeof
- i++
- ++i
- i–
- –i
var b=1;
console.log(b++);// 输出的是1,输出之后才会累加
console.log(++b);// 输出的是2,先累加,再输出
总结:
- ++前置,先赋值后计算
- ++后置,先计算后赋值