// 变量:
// 由名称和值两部分组成,是程序中临时存储数组的容器
// 变量:var age = 30;将一个数值型的字面量,赋值给变量age
// 一个赋值语句又两部分组成
// 声明:
var age;
var age = undefined;//age 未赋值时为 undefined
// 赋值:第一次赋值叫初始化,第二次叫更新
age = 30;
// 变量提升:将变量的声明自动提升到代码的顶部,第一行。
console.log(n);//n 现在没有赋值,输出时应该报错,但是实际输出是 undefined.
var n = 50;
// 变量提升演示:所以输出为 undefined,因为输出时 n 没有获得赋值,只是声明了 var n = undefined 。
var n;
console.log(n);
n = 50;
// 分支结构:有单分支,双分支和多分支。
// 单分支:
var grad = 70;
var res = '';
if (grad >= 60) {
res = '及格';
}
console.log(res);
// 因为grad的值为70,所以满足大于或等于60的条件,输出值应该为 及格 ,当grad小于60时,无输出值。
// 双分支
var grad = 70;
var res = '';
if (grad >=60) {
res = '及格';
}else {
res = '不及格'
}
console.log(res);
// 因为grad的值为70,所以满足大于或等于60的条件,输出值应该为 及格 ,当grad小于60时,输出为 不及格 。
// 用三元运算符来简化双分号
// 条件 ? true : false
var grad = 70;
var res = '';
res = (grad >= 60) ? '及格' : '不及格';
console.log(res);
// 当条件满足时输出为true的设置值 及格 ,当条件不满足时输出为false的设定值 不及格 。
// 多分支
var grad = 90;
var res = '';
if (grad >= 85 && grad <= 100) {
res = '优秀';
}else if (grad >= 60 && grad <85) {
res = '及格';
}else {//单一个else的时候为默认值,即不满足以上条件
res = '不及格'
}
console.log(res);
// 输出值为:优秀 ,因为满足(grad >=85 && grad <= 100);。
// switch 简化多分支
// switch写法
var grad = 25;
var res = '';
switch (true) {
case (grad >= 85 && grad <= 100):
red = '优秀';
break;//跳出,如果没有break语句的跳出,会顺延执行输出值
case (grad >= 60 && grad < 85):
red = '及格';
break;//跳出,如果没有break语句的跳出,会顺延执行输出值
default://不满足以上条件直接输出值
red = '不及格';
}
console.log(res);
// 输出值为:不及格 ,因为不满足 (grad >=85 && grad <= 100) 也不满足(grad >= 60 && grad < 85)。
// switch : 更多用在单值判断的场景
var lang = 'Html' .toLowerCase();//toLowerCase 不管大小写,默认值为小写。
switch (lang) {
case 'html':
// lang = lang + '是超文本标记语言';
lang += '是超文本标记语言';//缩写
break;
}
console.log(lang);
// 输出值为: html是超文本标记语言
var lang = 'JS' .toLowerCase();//toLowerCase 不管大小写,默认值为小写。
switch (lang) {
case 'javascript':
case 'js':
// lang = lang + '是前段脚本语言';
lang += '是前段脚本语言';//缩写
break;
}
console.log(lang);
//输出值为:js是前段脚本语言