我是靠谱客的博主 还单身裙子,最近开发中收集的这篇文章主要介绍nodejs003-运算表达式/条件判断/循环语句/垃圾回收,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、运算表达式

算术运算符:加+,减-,乘*,除 /,括号();

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 > 8falseif 分支
    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-运算表达式/条件判断/循环语句/垃圾回收所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部