【你也能从零基础学会网站开发】Web建站之javascript入门篇 JavaScript中的表达式、运算符、位运算、递增递减

🚀 个人主页 极客小俊
✍🏻 作者简介:web开发者、设计师、技术分享
🐋 希望大家多多支持, 我们一起学习和进步!
🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注

JavaScript 表达式

表达式是产生一个结果值的式子,JavaScript的表达式是由常量、变量和运算符等组成。
表达式可以作为参数传递给函数,或将表达式结果赋予给变量保存起来。
表达式的结果值有多种类型
例如
比如布尔型、字符串型或数值型等,因此常有逻辑表达式、数值表达式和布尔表达式之说。

JavaScript 操作数是什么

操作数是指表达式中的变量常量,在javascript中也包含表达式的返回值(实际上就是一个常量),常提供计算用的数据。
下面是操作数在表达式中的形态

( A + B + C ) / D

其中A、B、C、D就是操作数,而“+”和“/”则是操作符,操作符将在下一节介绍。

操作数的数据类型由表达式的类型和运算符所支持的数据类型来决定的,上述代码中若表达式是数值表达式则需要A、B、C和D的类型皆为数值或可以转换为数值。

JavaScript 运算符

说到JavaScript 中的运算符,那可就多了 , 嘿嘿!
JavaScript 中运算符是指程序设计语言中有运算意义的符号,类似于普通数学里运算符。

通常,每一门数学都定义了一个数集和在数集上可以进行的运算。

程序设计语言也一样,规定了其支持的数据类型以及数据可以进行的运算。

JavaScript的运算符包含算术运算符、逻辑运算符和一些特殊的运算符。

在JavaScript中有单目多目之分!
单目运算符带一个操作数
多目运算符带多个操作数

举个栗子

( 12 ) × 3     //数学表达式
++A				   // 左结合递增

而一般情况下表达式中的操作数要么是常量要么是变量,常量和变量都有其特定的数据类型。
构成表达式的操作数的数据类型是由变量或常量的类型来确定!

JavaScript 算术运算符

JavaScript中算术运算符有 加(+)、 减(-)、 乘(*) 、除(/) 、余数(% ) 商(Math.floor)
这里的加、减、乘、除、余数数学中的运算方法一样!
例如9/2=4.5,4*5=20,9%2=1

注意: -号除了可以表示减号还可以表示负号!

例如:x=-y

+号除了可以表示加法运算还可以用于字符串的连接

例如:“abc”+“def”=“abcdef”

加法运算符

加法运算符使用数学符号+,属于双目运算运算符,返回两个操作数的算术和。

操作数的类型要求为数值型,如果是字符串型则意义不同,主要运用在数值求和的场合

例如 操作数1 + 操作数2

举个栗子

var departmentA = 1000;				// 部门A 1000人
var departmentB = 375;				// 部分B 375人
var total = departmentA + departmentB;		// 公司总人数
document.write("公司总人数:" + total);		// 输出人数信息
减法运算符

减法运算符使用数学符号,属于双目运算符,返回两个操作数的算术差,操作数类型要求为数值型。

含义与数学上的减法计算完全一样 : 操作数1 – 操作数2

举个栗子

var totalGas = "20升";					// 汽油总量
var used = "7.5升";					// 开出100公里后消耗
var overplus = parseFloat(totalGas) - parseFloat(used);		// 剩余
document.write("车子已经开了100公里,还剩汽油" + overplus + "升");	// 100公里时输出提示
乘法运算符

乘法运算符使用符号*,属于双目运算符,返回两个操作数的算术积。

运算意义上完全等同于数学上的乘法计算,使用语法如:操作数* 操作数2

举个栗子

var employee = 300;			// 雇员总数
var prize = 370;				// 每人奖金数额
var total = employee * prize;		// 预算总额
document.write("预算:" + total + "元");		// 输出总额
除法运算符

除法运算符使用符号/,也是属于双目运算符,操作数类型要求为数值型。

其返回两个操作数之商,JavaScript返回的商是实数集内的数据,也就是浮点型数据。

意义上等同于数学中的除法运算,因此可用在求商的场合,使用语法如:操作数1 / 操作数2

举个栗子

var total = 1000; 				// 1000元
var thieves = 3;				// 3个贼
document.write("每人瓜分所得:" + total / thieves + "元");// 输出3人瓜分后所得数额
模运算符

对于取模而言,可能有些新手朋友听上去有点新奇了!
其实取模运算符使用符号%,其作用是求一个数除以另一个数的余数

操作数的类型要求为数值型或能转换为数值型的类型,属于双目运算符。
事实上可以这样理解,如手表上的小时刻度,每到12点以后就是1点,此钟表的模为12。

通常取模运算可以取求某个数的倍数

举个栗子

for (i = 1; i < 1000; i++)               		// 找出0到1000中3的公倍数{if (i % 3 == 0)                   		// 当模3为0时即是3位数{document.write(i + " ");     		// 输出}}

循环输出如下结果

正负号运算符

负号运行符使用符号-,取负也就是等于取反。

等同于数学意义的上负号,属于单目运算符
语法如下

-操作数

举个栗子

var a = -1;			// 负数
var b = -a;			// 取反
document.write(a + "取反后得:" + b);	// 输出

那么相反的正号运算符使用符号+,针对数值类型操作数,意义上等同于数学上的正号。
属于单目运算符

语法如下

+ 操作数
自增自减运算符

递增运算符使用符号++,也称为自增运算符,属于单目运算符。

可使数值类型的变量值自增1,操作数只能是变量。

使用形式分左结合右结合两种:

自增运算符的使用规则如下:
左结合在表达式中的效果是先递增再使用, 右结果则是先使用再递增,记住这个逻辑!

语法如下

	变量名++;					// 右结合递增++变量名;					// 左结合递增代码的执行

递增(++) 、递减(--)的运算方式

举个栗子

假如x=2,那么x++表达式执行后的值为3,x–表达式执行后的值为1, 那么i++相当于i=i+1,i–相当于i=i-1, 所以递增递减可以放在变量前也可以放在变量后!

递减运算符
递减运算符使用符号--,也称为自减运算符,可使变量的值自减一。

效果与递增运算符完全相反,也有左结合与右结合之分,情况与递增运算符相同,此不赘述

举个栗子

var a = 5;						// 定义一个数字变量
document.write(a);	 				// 输出a原来的值
document.write("<br>");				// 输出换行标签
a--;			 			// a自减一(右结合)
document.write(a);					// 输出变量a
document.write("<br>");				// 输出换行
--a;			 			// a自减一(左结合)
document.write(a);					// 输出变量a
document.write("<br>");				// 输出换行
if (--a == 2)				// 测试左、右结合位于表达式中的情况
{document.write("<li>左结合的情形");			// 输出提示信息
}
if (a-- == 2)					// 等于2时
{document.write("<li>右结合的情形");			// 输出提示信息
}

JavaScript 逻辑运算符

逻辑运算符主要有逻辑与、或、非运算符
逻辑与运算符用&&表示,逻辑或运算符用||表示,它们属于双目运算符,操作数被当成布尔类型,可以是变量也可以是常量。

逻辑与运算符使用语法:

操作数1 && 操作数2	

逻辑或“||”运算符语法如下:

操作数1 || 操作数2

逻辑非运算符“!”,属于单目运算符,对操作数的逻辑值取反,操作数可以是变量或常量。

逻辑运算符在我们执行判断的时候用得非常多, 主要有以下这些

例如

等于 ( == )不等于(!= )大于( > )小于( < ) 
大于等于(>=)小于等于(<=)
 (&&)  and、或(||) or (短路)、非(!)
全等(===)不全等(!==)

举个例子

console.log(1 && 1);   //输出1
console.log(1 && 0);   //输出0
console.log(0 && 0);   //输出0console.log(1 || 1);   //输出1
console.log(1 || 0);   //输出1
console.log(0 || 0);   //输出0console.log(!0);   //输出true  也可以代表 1
console.log(!1);   //输出false 也可以代表 0

JavaScript 位运算符

位运算符是对数字的二进制位进行操作的运算符。

这些运算符直接对数字的二进制表示进行运算,而不是对它们的数值进行运算。

所以你最好先去熟悉一下什么是二进制!

位运算符中包含了位与、位或、位异或位非运算符!

位与、位或、位异或分别使用符号“&”、“|”、“^”, 属于双目运算符

位与:是指把两个操作数所对应的二进制位相与 , 对应两个位都为1时, 结果值中对应位也为1,否则为0。

位或: 是指对应位间如果都不为0则结果的相应位为1,否则为0。

位异或: 是当两个操作数对应位不相同时结果的相应位即为1,否则为0

位非运:实现对操作数按位取反运算,属于单目运算符。

其中操作数可以是任意JavaScript类型的常量或变量

举个栗子

左移运算符 、带符号右移运算符 和高位补0右移运算符

左移位运算符<<,实现整体向左移动低位补0的功能,属于双目运算符 。
当移动的是有符号数,左边空出的位用数的符号位填充。

向右移动超出的位将被丢弃,称为带符号右移位操作。其运算符为>>
前面已经提及右移运算时符号位的处理问题,是针对有符号数的情况。

当数是无符号数时,右移后在左边空出的位上填充0,称为无符号右移位。对应的运算符是>>>

如图

所以我给大家总结了一下

  1. 按位与(&):两个数字的二进制位中,只有当对应的位都是 1 时,结果的该位才为 1,否则为 0。
    例如:5 & 3,5 的二进制是 101,3 的二进制是 011,所以结果是 001,即 1。

  2. 按位或(|):两个数字的二进制位中,只要有一个对应的位是 1,结果的该位就为 1。
    例如:5 | 3,结果是 111,即 7。

  3. 按位异或(^):两个数字的二进制位中,如果对应的位不同(一个为 0,一个为 1),则结果的该位为 1;如果相同,则为 0。
    例如:5 ^ 3,结果是 100,即 4。

  4. 按位非(~):对一个数字的二进制位取反,即 0 变为 1,1 变为 0。
    例如:~5,5 的二进制是 101,取反后是 -101(注意这里会有符号扩展),但在 JavaScript 中,结果会是 -6(因为 JavaScript 使用补码表示负数)。

  5. 左移(<<):将一个数字的二进制位向左移动指定的位数,右侧用 0 填充。
    例如:5 << 1,5 的二进制是 101,左移一位后是 1010,即 10。

  6. 有符号右移(>>):将一个数字的二进制位向右移动指定的位数,左侧用该数字的符号位填充(正数用 0 填充,负数用 1 填充)。
    例如:5 >> 1,结果是 010,即 2。

小提示
关于位运算如果你没有二进制计算的基础,那么你占时可以略过, 它说难也不难 说简单但对于初学者来说并不简单!

关于位运算符这里我简单介绍一下,因为对于刚刚接触的新手朋友 ,其实位运算符的使用场景几乎为零, 要是不懂的情况下,你可以忽略,后期我会单独说明!

JavaScript 关系运算符

相等运算符

相等运算符使用符号==,判断两个操作数是否相等。如果相等返回布尔值true,否则返回false。

属于双目运算符,两个操作数的数据类型可以任意。

运行时,==操作符将两端的操作数转换为同一种数据类型后再作比较。

使用语法

操作数1 == 操作数2
完全等同运算符

前述的相等运算符==进行的是非严格意义上的相等性判断,即通过类型转为后相等的也返回true。

而等同运算符===是严格意义上的相等,两个值和它们的类型完全一致时才返回true,

使用语法

操作数1 === 操作数2
不等运算符

不相等运算符使用符号“!=”,属于双目运算符,返回一个布尔值表示两个操作数是否相等。两个操作数类型任意,同时可以是变量也可以是常量。

语法如下

操作数1 != 操作数2
完全不等同运算符

不等同运算符,使用符号!==,属于双目运算符。

效果与等同运算符正好相反,如果两个数严格不相等则返回true,

使用语法

操作数1 !== 操作数2
大于和小于运算符

小于运算符是判断第一个操作数是否小于第二个操作数的运算符,返回一个布尔值。
使用符号<表示,常用于逻辑表达式中。

使用语法

操作数1 < 操作数2

小于或等于符运算符判断第一个操作数和第二个操作数间是否是小于等于关系,使用符号“<=”。

当第一个操作数小于或等于第二个操作数时表达式返回true,否则返回false。

大于运算符与小于运算符相似,效果相反, 大于或等于运算符相似,这里就不多讲了。

instanceof运算符

instanceof运算符返回一个布尔值,表明某对象是否是某个类的实例。

得到一个对象时,有时需要得知其属于哪个类,确定对象的身份。

使用语法

result = Obj instanceof ClassEditPlus
in运算符

in运算符检查对象中是否有某特定的属性。

可以通过in运算符取得数组索引集合,这是个非常有用的运算符。

语法如下

Result = property in Object;

JavaScript 字符串运算符

字符串是一种数据类型,同样也存在相应的计算,因此程序设计语言也为字符串定义了相应的运算符。主要包括+、>、<、>=和<=这几种,这里主要讲解运算符+

运算符“+”,称为连接运算符,它的作用是将两个字符串按顺序连接成为新的字符串。

大大简化了字符串表达式的写法 。

这个运算符在字符串处理中使用是相当的广泛, 我们在实际项目开发中再去演示!

这里简单举个例子:

var str1 = '今天星期几了?';	// 字符串变量
var str2 = '星期五';		   // 字符串变量
document.write( str1 + str2 );	// 输出连接后的字符串

JavaScript 赋值运算符

赋值运算符用=表示,用于给变量赋值。赋值运算符将值与变量绑定起来!
也就是说,值写入了变量所引用的内存单元。

通常,给变量填入数据最直接的办法就是使用赋值运算符将值赋予变量。

例如

var name = “Jet”;				

以上代码将“Jet”赋予变量name,=运算符左边的操作数称为左值,其右边的操作数称为右值。

左值必须是变量,右值可以是变量、常量或表达式。

JavaScript 其它运算符

JavaScript 中还有一些运算符, 例如:new运算符 、void运算符 、类型检测运算符 、对象属性存取运算符 、数组存取运算符 、delete运算符、 this运算符 等等。

条件运算符 可以根据条件在两个语句间选择一个来执行。
使用符号“?:”,属于三目运算符

语法如下

条件表达式 ? 语句1:语句2

如果条件 为真,则执行语句1,否则则执行语句2。

new运算符 是创建对象的一种方式。可以直接使用new运算符创建一个类的实例对象 。
void运算符是用在表达式不需要返回值时,可以使用void运算符来避免表达式返回值 。

对象属性存取运算符 ,用符号.表示。其作用是读取对象的属性、或保存值到对象的属性、或调用对象的方法。

数组存取运算符 ,JavaScript提供[]运算符用于存取数组元素,方括号中是要存取的元素的下标。
这个运算符大大方便了数组的编程 。

delete运算符,它可以删除对象的一个属性或数组的一个元素,JavaScript对象的属性可以动态添加。对于动态添加的属性可以用delete运算符将其删除 。

this运算符this严格的说是一个关键字,也可以理解为运算符。
面向对象的编程中要引用当前对象,this运算符可以返回当前对象的引用。

this通常用在对象构造函数中,用来引用函数对象本身。
this表示当前对象,它可以操作当前对象的所有属性!

关于对象我在面向对象章节详细阐述!

运算符小练习

猜猜看以下表达式返回输出什么结果?

console.log(2 == '2')                  
console.log(2 === '2')                 
console.log(4 != '4')                 
console.log(4 !== '4')                 var a = 2;
var b = 4;var c = a<b | --b>--a;
console.log(c);
var c = a<b || --b>--a;
console.log(c);
var c = a<b &&--b>--a;
console.log(c);
var c = a<b & --b>--a;
console.log(c);

运算符的优先级

JavaScript中的运算符优先级是一套规则。

该规则在计算表达式时控制运算符执行的顺序。

具有较高优先级的运算符先于较低优先级的运算符得到执行。

同等级的运算符按左到右的顺序进行 ,下面这个表把运算符的优先级从高到低进行了归纳

如下表

. [] ()字段访问、数组下标、函数调用以及表达式分组
++ — - ~ ! delete new typeof void一元运算符、返回数据类型、对象创建、未定义值
* / %乘法、除法、取模
+ - +加法、减法、字符串连接
<< >> >>>移位
< <= > >= instanceof小于、小于等于、大于、大于等于、instanceof
== != === !==等于、不等于、严格相等、非严格相等
&按位与
^按位异或
|按位或
&&逻辑与
||逻辑或
?:条件
= oP=赋值、运算赋值
,多重求值

"👍点赞" "✍️评论" "收藏❤️"

大家的支持就是我坚持下去的动力!

如果以上内容有任何错误或者不准确的地方,🤗🤗🤗欢迎在下面 👇👇👇 留个言指出、或者你有更好的想法,
欢迎一起交流学习❤️❤️💛💛💚💚

更多 好玩 好用 好看的干货教程可以 点击下方关注❤️ 微信公众号❤️
说不定有意料之外的收获哦..🤗嘿嘿嘿、嘻嘻嘻🤗!
🌽🍓🍎🍍🍉🍇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/734485.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kali当中不同的python版本切换(超简单)

kali当中本身就是自带两个python版本的 配置 update-alternatives --install /usr/bin/python python /usr/bin/python2 100 update-alternatives --install /usr/bin/python python /usr/bin/python3 150 切换版本 update-alternatives --config python 0 1 2编号选择一个即可…

【MySQL篇】 MySQL基础学习

文章目录 前言基础数据类型DDL数据库操作查询数据库创建数据库删除数据库使用数据库 DDL表操作创建表查询表修改表删除 DML-增删改添加数据更改数据删除数据 DQL-查询基础查询条件查询聚合函数分组查询排序查询分页查询编写顺序 DML-用户及权限用户管理权限控制 函数字符串函数…

挑战杯 基于设深度学习的人脸性别年龄识别系统

文章目录 0 前言1 课题描述2 实现效果3 算法实现原理3.1 数据集3.2 深度学习识别算法3.3 特征提取主干网络3.4 总体实现流程 4 具体实现4.1 预训练数据格式4.2 部分实现代码 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习机器视觉的…

浅谈2024 年 AI 辅助研发趋势!

目录 ​编辑 引言 一、AI辅助研发现状 1. 技术发展 2. 工具集成 3. 应用场景 二、AI辅助研发趋势 1. 更高的自动化程度 2. 更高的智能化程度 3. 更多的领域应用 4. 更高的重视度 三、结论 四. 完结散花 悟已往之不谏&#xff0c;知来者犹可追 创作不易&#xff…

(南京观海微电子)——I3C协议介绍

特点 两线制总线&#xff1a;I2C仅使用两条线——串行数据线&#xff08;SDA&#xff09;和串行时钟线&#xff08;SCL&#xff09;进行通信&#xff0c;有效降低了连接复杂性。多主多从设备支持&#xff1a;I2C支持多个主设备和多个从设备连接到同一总线上。每个设备都有唯一…

017-$route、$router

$route、$router 1、$route2、$router 1、$route $route 对象表示当前的路由信息&#xff0c;包含了当前 URL 解析得到的信息。包含当前的路径&#xff0c;参数&#xff0c;query对象等。 使用场景&#xff1a; 获取路由传参&#xff1a;this.$route.query、this.$route.par…

【布局:1688,阿里海外的新筹码?】1688重新布局跨境海外市场:第一步开放1688API数据采集接口

2023年底&#xff0c;阿里巴巴“古早”业务1688突然成为“重头戏”&#xff0c;尤其宣布正式布局跨境业务的消息&#xff0c;一度引发电商圈讨论。1688重新布局跨境海外市场&#xff1a;第一步开放1688API数据采集接口 2023年11月中旬&#xff0c;阿里财报分析师电话会上&…

VUE——v-cloak指令

VUE——v-cloak指令 属性选择器&#xff0c;可以控制vue实例化完成前的dom样式 功能&#xff1a;利用vue实例化后v-cloak属性会消失&#xff0c;设置其样式 官网介绍 没用前效果&#xff1a;当vue没渲染完前&#xff0c;界面效果会看到{{aboutCloak}}字符&#xff0c;影响用户…

UDP与TCP:了解这两种网络协议的不同之处

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

红包题第一弹

下载附件&#xff0c;发现有86个压缩包 现每个压缩包里面都有图片&#xff0c;010打开图片末尾都有base64部分&#xff0c;并且每个压缩包里面图片末尾的base64长度一样&#xff0c;刚好每一张的base64长度为100。猜测需要拼接起来然后解码 写个python脚本 import os import …

阿里云服务器9元1个月优惠价格表

阿里云服务器9元1个月优惠价格表&#xff0c;用不上9元&#xff0c;又降价了&#xff0c;只要5元。阿里云服务器一个月多少钱&#xff1f;最便宜5元1个月。阿里云轻量应用服务器2核2G3M配置61元一年&#xff0c;折合5元一个月&#xff0c;2核4G服务器30元3个月&#xff0c;2核2…

对象注入的几种方式

⭐ 作者&#xff1a;小胡_不糊涂 &#x1f331; 作者主页&#xff1a;小胡_不糊涂的个人主页 &#x1f4c0; 收录专栏&#xff1a;JavaEE &#x1f496; 持续更文&#xff0c;关注博主少走弯路&#xff0c;谢谢大家支持 &#x1f496; 注入对象 1. 属性注入2. 构造方法注入3. S…

微信小程序uniapp+django+python的酒店民宿预订系统ea9i3

Android的民宿预订系统设计的目的是为用户提供民宿客房、公告信息等方面的平台。 与PC端应用程序相比&#xff0c;Android的民宿预订系统的设计主要面向于民宿&#xff0c;旨在为管理员和用户、商家提供一个Android的民宿预订系统。用户可以通过Android及时查看民宿客房等。 An…

滑动窗算一下rms

clear clc close all fs20; width16; height16; t(1/fs:1/fs:200); signalsin(2*pi*0.1)rand(length(t),1)3/100*t; figure(1) set(gcf,units,centimeters,Position,[1,2height,width,height]) plot(t,signal) smoothed_avg_values smooth(signal, 20); % 这里的10是…

013 Linux_互斥

前言 本文将会向你介绍互斥的概念&#xff0c;如何加锁与解锁&#xff0c;互斥锁的底层原理是什么 线程ID及其地址空间布局 每个线程拥有独立的线程上下文&#xff1a;一个唯一的整数线程ID, 独立的栈和栈指针&#xff0c;程序计数器&#xff0c;通用的寄存器和条件码。 和其…

【C++】深度解剖多态

> 作者简介&#xff1a;დ旧言~&#xff0c;目前大二&#xff0c;现在学习Java&#xff0c;c&#xff0c;c&#xff0c;Python等 > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;了解什么是多态&#xff0c;熟练掌握多态的定义&a…

【SpringCloud】微服务重点解析

微服务重点解析 1. Spring Cloud 组件有哪些&#xff1f; 2. 服务注册和发现是什么意思&#xff1f;Spring Cloud 如何实现服务注册和发现的&#xff1f; 如果写过微服务项目&#xff0c;可以说做过的哪个微服务项目&#xff0c;使用了哪个注册中心&#xff0c;常见的有 eurek…

图片在div完全显示

效果图&#xff1a; html代码&#xff1a; <div class"container" style" display: flex;width: 550px;height: 180px;"><div class"box" style" color: red; background-color:blue; width: 50%;"></div><div …

30m二级分类土地利用数据Arcgis预处理及获取

本篇以武汉市为例&#xff0c;主要介绍将土地利用数据转换成武汉市内各区土地利用详情的过程以及分区统计每个区内各地类面积情况&#xff0c;后面还有制作过程中遇到的面积制表后数据过小的解决方法以及一些相关的知识点&#xff1a; 示例数据下载链接&#xff1a;数据下载链…

2024年阿里云服务器新用户购买一个月多少钱?

阿里云服务器一个月多少钱&#xff1f;最便宜5元1个月。阿里云轻量应用服务器2核2G3M配置61元一年&#xff0c;折合5元一个月&#xff0c;2核4G服务器30元3个月&#xff0c;2核2G3M带宽服务器99元12个月&#xff0c;轻量应用服务器2核4G4M带宽165元12个月&#xff0c;4核16G服务…