JavaScript第二天基础语句
一.表达式
在JavaScript中表达式是最基础的语句,相当于一篇文章中的文字。
1.直接量
20;
3.1415;
"hello";
2.变量
var a=2,b="hello";
a;
b;
3.保留字
NaN;
undefined;
4.语句
if(){};
for(){};
总结:表达式是程序的最小单位 随处可见 给计算机表达指令的一种形式就是表达式
二.基本运算符
1.一元运算符
a++,++a,a--,--a
这种就是一元运算符,加减在前表示先自加一再进行取值,在后反之。
2.逻辑运算符
逻辑运算符有三种符号;取反(!),逻辑与(&&),逻辑或(||)
//取反
var a = 100 === "100" //NaN//" "//1//true;
var b = !!a;//1.把a转化为布尔值 2.然后取反 ==> !Boolean(a)
console.log(b)
//逻辑与
//and 并且
// var A=B&&C
//B表达式的结果判定为真 A的结果就是C表达式
//B表达式的结果判定为假 A的结果是B表达式,C表达式就不会运行了
a1=100
var a = 90
var b = 89
var c = (a > 90) && (b > 90)
console.log(c)
//逻辑或
//or 或者
//var a=A||B
//A表达式判定布尔值为真 a就为A表达式 B表达式不会运行
//A表达式判定布尔值为假 a就为B表达式
var a = (b = 0) || (c = 0)
console.log(a,b,c)
3.加减运算符
加减运算都好理解,但在JavaScript中当进行减法时会将元素转化为数字进行计算,有些特殊的字符串会有对应的数字。
var result1 = 5 - false;
var result2 = NaN - 1;
var result3 = 5 - 3;
var result4 = 5 - "";
var result5 = 5 - "2";
var result6 = 5 - null;
可以看看结果是啥
4.关系运算符
关系运算符的话,用于检测两个值之间的关系,我们也称之为布尔表达式。
// === == > < >= <= in instanceof
var a = 20
var re4 = (18 <= a);
console.log(re4)
var a = 20
var re5 = a => 10
console.log(re5)
在使用关系运算符之后,会将值转化为布尔值。
5.三目运算符
A?B:C这样的语句就差不多是三目运算符的结构。当A为真时运行B,反之运行C。ABC都是表达式,可以进行多层嵌套,虽比较简洁,但语义性不强。
var a = 20;
var re = (a + 100) ? (b = 200) : (c = 90)
6.赋值操作符
这个就是赋值语句将右边的值赋给左边的值。
var a = 10
a = a + 20
console.log(a)
++a + 20
console.log(a)
a += 1 //隐式 a=a+20
console.log(a)
a -= 10//隐式 a=a-10
console.log(a)
a *= 3
console.log(a)
a /= 5
console.log(a)
a %= 5
// a = a % 5
console.log(a)
7.逗号操作符
逗号一般用于同类型的数据隔开,然后进行处理。
var a, b, d = c, c = 20;
var a; var b; var d=c; var c=20;
var a = 20;
var b = 30;
var c = 40;
var re = (a = 100, b = 200, c) //逗号隔开的每一个表达式都要运行一遍,最后一个表达式作为整个逗号表达式的结果
console.log(a, b, c)
需要注意的是用逗号隔开的元素最后应该表达式作为整个逗号表达式的结果。
二.基本语句
1.条件语句
在JavaScript的实际开发中,条件语句的使用非常的频繁。
// if (表达式) { }
//表达式会被判定为布尔值==>Boolean(表达式)
var a = 19
if (a < 20) {
console.log("a是小于20的")}
// if (表达式) { }else { }
//表达式会被判定为布尔值==>Boolean(表达式)
//为真就执行第一个大括号 假就执行第二个大括号
var a = 20
if (a >= 18) {
console.log("成年了")
}
else {
console.log("未成年")
if (a >= 22) {
console.log("可以结婚")
}
else {
if (a < 22) {
console.log("不可以结婚")
}
}
}
//浏览器团队设计出了 认为 复合语句的代码块如果只有一个单语句 那么省略掉大括号
//if () { }
//if () { } else { }
var a = 23;
if (a < 18) {
console.log("未成年")
}
else if (a >= 22) { console.log("可以结婚") }
else if (a >=30 ) {console.log("中年人") }
总之if语句简单来讲就是满足什么条件就是执行对应大括号的内容。
2.for循环语句
简单来讲就是多次执行循环体,这个次数也可以进行操作。
// for (A; B; C) {
// E
// }
//语法规则:
//1. 执行A
//2. 执行B 判定B表达式的布尔结果
//2.1 如果为假for整体代码执行结束
//2.2 如果为真执行E=>C=>2
// for (var i = 0; i < 4; i = i + 1) {
// console.log(i)
// }
//如果你有800元
// 吃一顿饭要13元
// 如果只剩200元 就不能吃饭了 请问你可以吃几顿饭?
var count = 0;
for (var i = 800; i > 200; i = i - 13) {
count = count + 1
}
// console.log(count)
for可以进行嵌套设计跟i语句一起使用。
一个编程例子
一个兔子5文钱,一只鸡3文钱,必须买够100个腿并且活的,130文钱,可以买多少只兔子,多少只鸡(答案:有10种方案)
var m = 130;
var t = 100;
xmax = parseInt(m / 5);
ymax = parseInt(m / 3);
for (var x = 0; x <= xmax; x++) {
for (var y = 0; y <= ymax; y++) {
if ((5 * x + 3 * y <= m) && (4 * x + 2 * y >= t)) {
console.log("兔子数量:" + x + ",鸡数量:" + y);
}
}
}