概述
一、运算表达式
算术运算符:加+,减-,乘*,除 /,括号();
var a = 10; // 赋值语句
a = 4 * 23 + 188 / 6; // 数学表达式
var c = 7;
var b = (a + c) / 2; // 变量的数学表达式
console.log(a);
console.log(b);
比较运算符:等于==,小于等于<=,大于等于 >=,不等于 !=
// 比较表达式,如果成立,那么为true,否则为false;
console.log(a > b);
console.log(a == b);
console.log(a <= b);
console.log(a != b);
逻辑运算符:与&&,或 ||
//&&所有条件都满足才为真
//||所有条件中只要有一条满足就为真
console.log("&&&&&&&&&");
console.log(false && false);
console.log(false && true);
console.log(true && false);
console.log(true && true);
// end
// 逻辑或
console.log("||||||||||||");
console.log(false || false);
console.log(false || true);
console.log(true || false);
console.log(true || true);
// end
console.log((false && false) || true); // true
console.log(false && (false || true)); // false
字符串与其他基本类型的加法;
// 字符串的加法是把各个字符串连接在一起,生成一个新的字符串;
var str = "Hello i am ";
var name = "a girl"
var str_total = (str + name);
console.log(str, name, str_total);
// 字符串与基本的数据类型相加,把这个基本数据类型转成字符串后再生成新的字符串
var num_str = " " + a + b + c + true;
console.log(num_str);
简约表达式: +=, -=, *=, /= ;
// 简约的写法
a += c; // a = a + c;
a -= c; // a = a - c;
a *= c; // a = a * c;
a /= c; // a = a / c;
// end
自增++,自减 –
a ++ 与 ++a的区别是什么?
++在后面,表示先使用,然后++;
console.log(a ++); // console.log(a); a++;
++在前面, 表示先++,再使用;
console.log(++ a); // a ++; console.log(a);
单独的只有 a ++, ++ a,它们是没有任何区别的
同理可得 a –, –a的区别
a ++; // a = a + 1;
++ a; // a = a + 1;
a --; // a = a - 1;
-- a; // a = a - 1;
二、条件判断
1、if (条件判断)
{
主体
}
if (条件判断)
{
主体
} else
{
主体
}
if(条件判断)
{
}
else if {
}
else {
}
// 判断执行,条件成立,然后执行,特定的代码。if(条件成立) { 执行代码},否者跳出if往下执行
if (a > 8) { // 上面的 a = 6, a > 8 为false 走 if 分支
console.log("go if ");
}
console.log("go out of if");
// 基本数据运算的优先级高于逻辑运算
if ((a > 8) || (b > 6)) { // 如果 a > 8 或 b > 6有一个成立为真,为真就能执行if分支
console.log("go if a > 8 || b > 6");
}
// if(条件成立) {} else {} ; 如果条件成立,走if分支,否则的就走else分支
if (a > 8) {
console.log("go if a > 8");
}
else {
console.log("go else a > 8");
}
2、switch(变量) {
case 常量1:
break;
case 常量2:
break;
}
a = 83;
if (a >= 80) { // 优秀
console.log("a > 80");
}
else if (a >= 70) { // 良好
console.log("a > 70");
}
else if (a >= 60) { // 及格
console.log("a > 60");
}
else { // 不及格
console.log("a < 60");
}
console.log("go out");
// 查看变量的值,判断它走哪个分支入口,如果没有任何一个case,那么就走default分支
// default是可以省略的,如果没有找到任何条件的入口,那么就不会执行任何switch的里面的代码
// 找到入口以后,那么就会一条一条的语句执行,只到遇到break(跳出swtch),或者switch结束的大括号
var index = 4;
switch(index) {
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
console.log("case 4");
// break;
default:
console.log("default");
// break;
}
console.log("out of switch");
三、循环条件
1、while(表达式) { 循环体};
//while(条件成立) {循环体代码};
index = 0;
while(index < 10) { // 循环执行了10次;判断一下, 循环条件是否为真,为真就执行,否者就不执行循环体;
console.log(index);
index += 2;
}
console.log("out of while");
/*
// 死循环,如果任何时候,这个循环判断条件都为真,那么就是死循环,代码就在循环体里面一直执行;
while(true) { // 死循环,一直执行while语句
console.log("while call true");
}
*/
2、 for(初始化; 循环条件; 循环迭代) {循环体};
(1)每次循环开始执行的时候调用先调用初始条件,若有多个初始条件,用逗号隔开。
(2) 执行循环判断,为真时执行循环体,执行结束后,执行循环迭代语句,多个循环迭代语句中间用逗号隔开
(3)继续判断,直到循环条件不成立时,结束循环,执行循环体后面的代码,否者继续执行循环和循环迭代
(4) 初始条件,循环判断,循环迭代,可以没有,如果循环判断没有,默认true
var walk = 0;
var i = 1;
for(walk = 0, i = 1; i <= 10; walk += 2, i ++) {
console.log(walk);
}
walk = 0;
i = 1;
for(; i <= 10; walk += 2, i ++) {
}
console.log("out for");
// 死循环,如果么有循环判断,默认为true
/*for(;;) {
console.log("loop for");
}*/
// 省略初始化与循环迭代语句;
i = 6;
for(; i < 10;) {
console.log("for loop");
i ++;
}
3、 do {}while(表达式);
// for, while是先判断后执行,do{} while(); 先执行, 再判断是否继续执行循环
i = 0;
do {
i ++;
console.log(i);
}while(i < 10);
循环控制语句 continue, 终止本次循环
i = 1;
for(i = 1; i <= 10; i ++) {
if (i == 8) {
continue; // 终止本次循环,但是仍然会执行 循环迭代语句 (i ++);
}
console.log("give hime " + i);
}
i = 1;
while(i <= 10) {
if (i == 8) {
console.log("while continue");
i ++;
continue; // 终止本次循环,回到循环判断,一定要注意循环判断变量,在continue,不要有死循环
}
console.log("while give hime " + i);
i ++;
}
循环控制语句break; 结束所有的循环;
i = 1;
for(i = 1; i <= 10; i ++) {
if (i == 8) {
break; // 终止所有循环,跳出循环代码,但是不会执行 循环迭代语句 (i ++);
}
console.log("give hime " + i);
}
console.log("end_for", i); // i = 8;
i = 1;
while(i <= 10) {
if (i == 8) {
console.log("while continue");
i ++;
break; // 终止所有循环,跳出循环代码
}
console.log("while give hime " + i);
i ++;
}
console.log("end while");
四、执行模式
1、 顺序执行:执行完一条语句后执行下一条语句;
2、条件跳转;
3、函数调用跳转;
4、 循环跳转;
五、垃圾回收
1、一个对象如果没有任何引用变量指向这个对象会被判定为垃圾对象;
2、在特定的时期js解释引擎会回收复杂对象的内存;
3、垃圾回收
(1) 没有任何变量,保存了这个对象的引用;
(2) 在特定的时候,由js解释引擎(v8)特定的时期回收
最后
以上就是还单身裙子为你收集整理的nodejs003-运算表达式/条件判断/循环语句/垃圾回收的全部内容,希望文章能够帮你解决nodejs003-运算表达式/条件判断/循环语句/垃圾回收所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复