首页 > 编程语言 >细说JavaScript表达式和运算符号(JavaScript表达式和运算符号详解)

细说JavaScript表达式和运算符号(JavaScript表达式和运算符号详解)

时间:2024-01-19 21:35:00浏览次数:24  
标签:console 运算 ++ JavaScript 运算符 num 表达式 log

除了简单的表达式还有复杂的表达式,它是由简单表达式构成的,将简单表达式组合成复杂表达式最常见的方法就是使用运算符
![细说JavaScript表达式和运算符号详解](https://img-
blog.csdnimg.cn/direct/2781400b25be4b38bbf99d0c1b93d169.png)

一、表达式

表达式分为简单表达式和复杂表达式,但最后的结果均是返回一个值

1、简单表达式

简单表达式又称为原始表达式,由原始数据值构成,是表达式中最小的单位,简单表达式包含常量和变量,常量与变量相对应,变量相当于未知数。而常量相当于已知数,在程序运行中,常量不会被更改

110 // 数值常量
1.1001e7 // 数值常量 科学记数法
"兄弟连" // 字符串常量

常量返回值是其本身,所以它们又被称为原始值,除了字符串和数值外还包括boolean类型的true和false、null类型的唯一值null和正则表达式

true // 布尔类型常量
null // 空值常量
/\d{4}/ // 特殊字符常量

变量也是简单的表达式之一,变量如果没有被赋值会被默认为undefined,也就是说它最终会返回一个值

2、复杂表达式
2.1、使用运算符连接的复杂表达式

简单表达式与复杂表达式是相对存在的,复杂表达式可以说是简答表达式的组合,最常见的复杂表达式是有简单表达式和运算符组成的

var num = 1;
console.log(1 + 1); // 为复杂表达式
2.2、直接量表达式

直接量表达式又称为字面量表达式,它最终返回的值就是其本身,直接量表达式又分为函数直接量表达式、数组直接量表达式、对象直接量表达式

2.3、其它表达式

其它表达式包括数组元素访问表达式、对象属性访问表达式、函数调用表达式以及对象创建表达式

二、运算符

运算符又称为操作符,除算数元算符还有赋值运算符、关系运算符、逻辑运算符、位元算符和其它运算符,js中的运算符可以适用于不同的数据类型,当然也会涉及到类型转换的问题

1、算数运算符
运算符 含义 使用格式 本质
+ 加法 a+b 本质
- 减法 a-b 本质
* 乘法 a*b 本质
/ 除法 a/b 本质
% 取余/求模 a%b 本质
+ 取正 +b 本质
- 取负 -b 本质
++ 数值加1后赋值 a++ / ++a a = a+1
数值减1后赋值 a-- / --a a = a-1
// 这里重点说下++ 和 -- 运算,递增++ 和递减-- 符号可以放置在操作数的前面或者后面,
// 这种写法称为前增量和后增量或者前减量、后减量,如果单独使用没啥区别,
// 但在运算时、表达式中、流程控制中或者输出中会产生差异
var num = 1;
num++;
console.log(num); // 2
++num;
console.log(num);  // 3
num--;
console.log(num);  // 2
--num;
console.log(num);  // 1


var num =1;
console.num(num++); // 1
console.log(++num); // 3
console.log(num--); // 3
console.log(--num); // 1

// 总结: 
// 当在表达式中使用时,会出现前增量、先累加、后使用;后增量、先使用、后增加,减量与增量的规则一致
2、赋值运算符
运算符 含义 使用格式 常规表达式
= 赋值 a=b a=b
+= 相加后赋值 a += b a = a+b
-= 相减后赋值 a-=b a = a-b
*= 相乘后赋值 a*=b a = a * b
/= 相除后赋值 a/=b a = a / b
%= 取余后赋值 a%=b a = a%b
3、关系运算符

关系运算符又称比较运算符,用来判断运算符左右两个值的关系,或者比较运算符左右两个值的大小

运算符 含义 使用格式

| 大于| a>b
<| 小于| a<b
=| 大于等于| a>=b
<=| 小于等于| a<=b
| 等于| ab
!=| 不等于| a!=b
=| 全等于| a=b
!| 不等于| a!b

4、逻辑运算符
运算符 含义 使用格式
&& 逻辑与/并且 a&&b
逻辑或/或者
! 逻辑非 !a

逻辑与有短路现象,当判断第一个操作数为false时,就不会去判断第二个操作数
逻辑或也有段路现象,当判断第一个为true并且第二个为false也判定为true
逻辑非运算时,操作数会被转换为布尔值,并且取反,然后返回布尔值

5、位运算符

位运算在编程语言中位于最底层,它是按内存中数值的位来计算数值的。会涉及到计算机底层原理知识,一般不会用到,后面有时间会写一下相关的内容(待补充)

运算符 含义 使用格式
& 位与 b&a
位或 a
~ 位非 ~a
^ 异或 b^a
<< 左移 b<<a

| 右移| b>>a

| 无符号右移| b>>>a

6、其它运算符
运算符 含义 使用格式
typeof 查看类型 typeof a
delete 删除属性 delete a
void 取消返回值
in 验证属性是否存在 a in b
instanceof 验证对象是否为类的实例
?: 判断表达式,弱真则为执行问好后的表达式,若假则为冒号后面的表达式 a ? b : c
new 构造对象 new A
6.1、instanceof运算符
// 实例判断运算符,用于判断一个对象是否为一个类的实例
var nums = [1,2,3,4];
console.log(nums instanceof Array); // true
6.2、delete运算符
// 删除属性运算符,用来删除对象属性或数组中的元素,返回值为true或false

var obj = {name:"知数SEO"};
delete obj.name;
6.3、in运算符
// 属性验证运算符,用来验证一个对象是否包含某个属性,返回true和false
var obj = {name:"知数SEO"};
console.log("name" in obj);
6.4、void运算符
// 取消返回值运算符,用于解析表达式,并返回undefined
// 例如这个运算符用于阻止<a>标签跳转
<>a href="javascript:void(1=1)"点击链接跳转</a>
6.5、三元运算符(?:)
// 表达式 ? 真区间 : 假区间
// 表达式为真时,则执行真区间代码,否则执行假区间代码
console.log(1+1 == 2 ? "真区间" : "假区间");

标签:console,运算,++,JavaScript,运算符,num,表达式,log
From: https://www.cnblogs.com/zhishunet/p/17975668

相关文章

  • 细说JavaScript BOM之window对象
    window对象是JavaScript中最大的对象,其他对象都是window对象的一部分,window对象表示浏览器的一个实例,在浏览器中它有双重身份,既是通过JavaScript访问浏览器窗口的一个接口,又是ECMAScript标准中规定的Globel(全局)对象。第二个身份说明了我们在网页中定义的任何一个变量、函数和对......
  • 什么是JavaScript BOM
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/9466bdfb467e4a49b64c69669d68d396.png)BOM是BrowserObjectModel的缩写,即浏览器对象模型。由于BOM是和浏览器相关的一些操作,因此产生的后果就是无数的浏览器厂商各自使用自己的一套方式实现BOM(当然现在这个问题基本......
  • 什么是DOM?(JavaScript DOM是什么?)
    1、DOM简洁DOM是js中最重要的一部分,没有DOM就不会通过js实现和用户之间的交互。window是最大的浏览器对象,在它的下面还有很多子对象,我们要学习的DOM就是window对象下面的document对象DOM(DocumentObjectModel)是由W3C指定的用于访问诸如XML和HTML等结构化文档的标准W3CDOM......
  • 细说JavaScript BOM之HTML5新特性
    1、applicationCache对象什么是ApplicationCache呢?HTML5引入了应用程序缓存技术,意味着Web应用可进行缓存,并在没有网络的情况下使用,通过创建cachemanifest文件,可以轻松的创建离线应用。ApplicationCache带来的优势:1.离线浏览2、提升页面载入速度3、降低服务器压力需要......
  • 细说JavaScript BOM之window常用子对象
    一、locationlocation翻译过来就是位置的意思,打开浏览器窗口大家可以看到导航栏上有一个URL地址。//例如https://www.zhishunet.com//分心可知,它使用的网络协议是https服务器名称是www,zhishunet.comlocation常用对象属性属性描述search设置或返回从问好(?......
  • JavaScript DOM可以做什么?
    1、通过id获取标签元素DOM是文档对象模型,它提供了一些属性和方法来方便我们操作document对象,比如getElementById()方法可以通过某个标签元素的id来获取这个标签元素//用法window.document.getElementById('id');//例子<!DOCTYPEhtml><html><head><metacharset="U......
  • powershell中的比较运算符
    操作定义-eq等于-ne不等于-gt大于-ge大于或等于-lt小于-le小于或等于-Like使用 * 通配符进行匹配-NotLike不使用 * 通配符进行匹配-Match匹配指定的正则表达式-NotMatch不匹配指定的正则表达式-Contains确定集合中是否包含指定的值-NotContains确定集合是否不包含特定值-In确定......
  • (10)Powershell赋值运算符(一)
    (10)Powershell赋值运算符(一)上一节介绍了Powershell中的内置变量,细节使劲戳jiaerkuaier。本节介绍Powershell中的赋值运算符,赋值运算符可向一个变量赋予一个或多个值。赋值运算符可以在赋值之前对值执行数值运算。Powershell支持以下赋值运算符。运算符说明备注......
  • Verilog四则运算
    verilog中进行四则运算时,需要注意区分原码补码的使用。以加法运算为例,如果不对右值进行显式说明($signed),则默认为无符号数,显式说明需完整,即对每一个右值都进行$signed描述,否则verilog将对混合运算的右值都当做无符号数进行运算,显式说明将失效。不使用显式说明$signed来进行有符......
  • 使用Cron表达式调度多个任务的实现方法
    Cron表达式是一种用于指定定时任务执行时间的字符串格式。通过合理运用Cron表达式,我们可以方便地调度多个任务,并按照设定的时间规则自动执行。本文将介绍如何使用Cron表达式来调度多个任务,以帮助您更好地管理和执行定时任务。一、什么是Cron表达式Cron表达式是一种由6个或7个字段组......