首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >node.js -3- 基本语法

node.js -3- 基本语法

作者头像
为为为什么
发布2022-08-06 10:03:02
发布2022-08-06 10:03:02
1.2K0
举报
文章被收录于专栏:又见苍岚又见苍岚

本文记录 node.js 最基本的语法。

数据类型

Node.js有一些核心类型:number,boolean,string,object、undefined 和 function。

可以使用 typeof 查看数据类型

number

数字

代码语言:javascript
复制
typeof(3.5)
typeof(3)

boolean

true 和 false

代码语言:javascript
复制
typeof(true)
typeof(false)

string

字符串

代码语言:javascript
复制
typeof('abc')

object

node.js 对象,由 {} 定义 或 new Object();

代码语言:javascript
复制
var user = {
    first_name: "HTML",
    last_name: "CSS",
    age: 32,
};
var empty = new Object()

console.log(typeof(user))
console.log(typeof(empty))

undefined

意味着尚未设置或根本不存在

代码语言:javascript
复制
var a
typeof(a)
typeof(askfalsjdflasf)

function

函数类型

代码语言:javascript
复制
function hello(name) {
    console.log("hello " + name);
}

hello('abc')
console.log(typeof(hello))

运算符表达式

算术运算符
  • 加+,减-,乘*,除 /,括号();
代码语言:javascript
复制
var a = 10; // 赋值语句
a = 4 * 23 + 188 / 6; // 数学表达式
var c = 7;
var b = (a + c) / 2; // 变量的数学表达式
console.log(a);
console.log(b);

比较运算符
  • 等于==,小于等于<=,大于等于 >=,不等于 !=
代码语言:javascript
复制
// 比较表达式,如果成立,那么为true,否则为false;
console.log(a > b); 
console.log(a == b);
console.log(a <= b);
console.log(a != b);

逻辑运算符
  • 与&&,或 || 非 !
代码语言:javascript
复制
//&&所有条件都满足才为真
//||所有条件中只要有一条满足就为真
console.log("&&&&&&&&&");
console.log(false && false);
console.log(false && true);
console.log(true && false);
console.log(true && true);

// 逻辑或
console.log("||||||||||||");
console.log(false || false);
console.log(false || true);
console.log(true || false);
console.log(true || true);

console.log((false && false) || true); // true
console.log(false && (false || true)); // false

// 非
console.log(!true)
console.log(!false)

字符串相关运算符
代码语言:javascript
复制
// 字符串的加法是把各个字符串连接在一起,生成一个新的字符串;
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);

简约表达式
  • +=, -=, *=, /=
代码语言:javascript
复制
// 简约的写法
a += c;  // a = a + c;
a -= c; //  a = a - c;
a *= c; // a = a * c;
a /= c; // a = a / c;

  • 自增++,自减 –
代码语言:javascript
复制
a ++;  // a = a + 1;
++ a; // a = a + 1;
a --; // a = a - 1;
-- a; // a = a - 1;

条件语句

if 语句
  • 单个条件

语法

代码语言:javascript
复制
if (条件判断)
{
主体
}

示例

代码语言:javascript
复制
> if (a > b)
{
    console.log("a is bigger")
}

  • 默认否

语法

代码语言:javascript
复制
if (条件判断)
{
主体
} else
{
主体
}

示例

代码语言:javascript
复制
if (a > b)
{
    console.log("a is bigger")
}
else
{
    console.log("b is bigger")
}

  • 多个条件

语法

代码语言:javascript
复制
if(条件判断)
{
}
else if {
}
...
else {
}

示例

代码语言:javascript
复制
if (a == 1)
{
    console.log("a is 1")
}
else if(a == 2)
{
    console.log("a is 2")
}
else if(a == 3)
{
    console.log("a is 3")
}
else if(a == 4)
{
    console.log("a is 4")
}
else
{
    console.log("a is " + a)
}

switch 语句

语法

代码语言:javascript
复制
switch(变量) {
case 常量1:
break;
case 常量2:
break;
}

示例

代码语言:javascript
复制
var a = 2

switch (a)
{
    case 1:
    {
        console.log("a is 1")
        break
    }

    case 2:
    {
        console.log("a is 2")
        break
    }

    case 3:
    {
        console.log("a is 3")
        break
    }
    case 4:
    {
        console.log("a is 4")
        break
    }
    default:
    {
        console.log("final a is " + a)
    }
}

循环语句

while 语句

语法

代码语言:javascript
复制
while(表达式) { 循环体}

示例

代码语言:javascript
复制
//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");
}
*/

for 语句

语法

代码语言:javascript
复制
for(初始化; 循环条件; 循环迭代) {循环体}

示例

代码语言:javascript
复制
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 ++;
}

do while 语句

语法

代码语言:javascript
复制
do {}while(表达式);

示例

代码语言:javascript
复制
// for, while是先判断后执行,do{} while(); 先执行, 再判断是否继续执行循环
i = 0;
do {
    i ++;
    console.log(i);
}while(i < 10);

循环控制语句

continue

终止当前循环体的本次循环

代码语言:javascript
复制
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

结束最近一个循环体所有的循环

代码语言:javascript
复制
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");

字符串常用操作

indexOf

要查找具有另一个字符串的字符串,请使用indexOf函数:

代码语言:javascript
复制
var i = "this is a test".indexOf("is");
console.log(i);
->
2

substr和splice

要从字符串中提取子字符串,请使用substrsplice函数。

substr 获取要提取的字符串的起始索引和长度。splice取起始索引和结束索引:

代码语言:javascript
复制
var s = "this is a test string."

console.log(s.substr(19, 3))
console.log(s.substr(-5))
console.log(s.slice(19, 22))
console.log(s.slice(-5))
->
ng.
ring.
ng.
ring.

Split

要将字符串拆分为子字符串,请使用split函数并获取数组作为结果:

代码语言:javascript
复制
var s = "a|b|c|d|e|f|g|h".split("|");
console.log(s);
->
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']

trim

trim函数从字符串的开头和结尾删除空格:

代码语言:javascript
复制
var s = "       cat   \n\n\n    ". trim();
console.log(s);
->
cat

replace

replace替换字符串

代码语言:javascript
复制
var s = "cat"
console.log(s.replace('cat', 'dog'))
->
dog

String 对象属性

属性

描述

constructor

对创建该对象的函数的引用

length

字符串的长度

prototype

允许您向对象添加属性和方法

String 对象方法

方法

描述

charAt()

返回在指定位置的字符。

charCodeAt()

返回在指定的位置的字符的 Unicode 编码。

concat()

连接两个或更多字符串,并返回新的字符串。

fromCharCode()

将 Unicode 编码转为字符。

indexOf()

返回某个指定的字符串值在字符串中首次出现的位置。

lastIndexOf()

从后向前搜索字符串。

match()

查找找到一个或多个正则表达式的匹配。

replace()

在字符串中查找匹配的子串, 并替换与正则表达式匹配的子串。

search()

查找与正则表达式相匹配的值。

slice()

提取字符串的片断,并在新的字符串中返回被提取的部分。

split()

把字符串分割为字符串数组。

substr()

从起始索引号提取字符串中指定数目的字符。

substring()

提取字符串中两个指定的索引号之间的字符。

toLowerCase()

把字符串转换为小写。

toUpperCase()

把字符串转换为大写。

trim()

去除字符串两边的空白

valueOf()

返回某个字符串对象的原始值。

String HTML 包装方法

HTML 包装方法返回加入了适当HTML标签的字符串。

方法

描述

anchor()

创建 HTML 锚。

big()

用大号字体显示字符串。

blink()

显示闪动字符串。

bold()

使用粗体显示字符串。

fixed()

以打字机文本显示字符串。

fontcolor()

使用指定的颜色来显示字符串。

fontsize()

使用指定的尺寸来显示字符串。

italics()

使用斜体显示字符串。

link()

将字符串显示为链接。

small()

使用小字号来显示字符串。

strike()

用于显示加删除线的字符串。

sub()

把字符串显示为下标。

sup()

把字符串显示为上标。

Math 常用功能

完整介绍:https://www.w3cschool.cn/jsref/jsref-obj-math.html

Math 属性

属性

描述

E

返回算术常量 e,即自然对数的底数(约等于2.718)。

LN2

返回 2 的自然对数(约等于0.693)。

LN10

返回 10 的自然对数(约等于2.302)。

LOG2E

返回以 2 为底的 e 的对数(约等于 1.414)。

LOG10E

返回以 10 为底的 e 的对数(约等于0.434)。

PI

返回圆周率(约等于3.14159)。

SQRT1_2

返回返回 2 的平方根的倒数(约等于 0.707)。

SQRT2

返回 2 的平方根(约等于 1.414)。

Math 方法

方法

描述

abs(x)

返回 x 的绝对值。

acos(x)

返回 x 的反余弦值。

asin(x)

返回 x 的反正弦值。

atan(x)

以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。

atan2(y,x)

返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。

ceil(x)

对数进行上舍入。

cos(x)

返回数的余弦。

exp(x)

返回 Ex 的指数。

floor(x)

对 x 进行下舍入。

log(x)

返回数的自然对数(底为e)。

max(x,y,z,…,n)

返回 x,y,z,…,n 中的最高值。

min(x,y,z,…,n)

返回 x,y,z,…,n中的最低值。

pow(x,y)

返回 x 的 y 次幂。

random()

返回 0 ~ 1 之间的随机数。

round(x)

把数四舍五入为最接近的整数。

sin(x)

返回数的正弦。

sqrt(x)

返回数的平方根。

tan(x)

返回角的正切。

垃圾回收

  1. 一个对象如果没有任何引用变量指向这个对象会被判定为垃圾对象;
  2. 在特定的时期js解释引擎会回收复杂对象的内存;
  3. 垃圾回收
    • 没有任何变量,保存了这个对象的引用;
    • 在特定的时候,由js解释引擎(v8)特定的时期回收

参考资料

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年8月7日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据类型
    • number
    • boolean
    • string
    • object
    • undefined
    • function
  • 运算符表达式
    • 算术运算符
    • 比较运算符
    • 逻辑运算符
    • 字符串相关运算符
    • 简约表达式
  • 条件语句
    • if 语句
    • switch 语句
  • 循环语句
    • while 语句
    • for 语句
    • do while 语句
  • 循环控制语句
    • continue
    • break
  • 字符串常用操作
    • indexOf
    • substr和splice
    • Split
    • trim
    • replace
      • String 对象属性
      • String 对象方法
      • String HTML 包装方法
  • Math 常用功能
    • Math 属性
    • Math 方法
  • 垃圾回收
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档