从0开始学习JavaScript--JavaScript 表达式与运算符

JavaScript中的表达式和运算符是构建逻辑、进行计算的基础。本文将深入研究JavaScript中各类表达式,包括算术表达式、关系表达式、逻辑表达式,以及运算符的使用方法,并通过丰富的示例代码来帮助读者更全面地了解和运用这些概念。

算术表达式

算术表达式用于数值的基本计算,包括加法、减法、乘法、除法等。

// 示例:算术表达式
let a = 5;
let b = 3;

console.log(a + b); // 输出:8
console.log(a - b); // 输出:2
console.log(a * b); // 输出:15
console.log(a / b); // 输出:1.6666666666666667

在这个例子中,算术表达式进行了加、减、乘、除的基本运算。

关系表达式

关系表达式用于比较两个值之间的关系,返回一个布尔值。

// 示例:关系表达式
let x = 10;
let y = 5;

console.log(x > y); // 输出:true
console.log(x < y); // 输出:false
console.log(x === y); // 输出:false
console.log(x !== y); // 输出:true

在这个例子中,关系表达式用于比较变量xy之间的大小和相等关系。

逻辑表达式

逻辑表达式用于进行逻辑运算,包括与、或、非等。

// 示例:逻辑表达式
let p = true;
let q = false;

console.log(p && q); // 输出:false
console.log(p || q); // 输出:true
console.log(!p); // 输出:false

在这个例子中,逻辑表达式用于进行与、或、非的逻辑运算。

赋值表达式

赋值表达式用于将值赋给变量。

// 示例:赋值表达式
let num = 10;

num += 5; // 等同于 num = num + 5
console.log(num); // 输出:15

num *= 2; // 等同于 num = num * 2
console.log(num); // 输出:30

在这个例子中,赋值表达式用于对变量num进行累加和倍增操作。

条件(三元)运算符

条件运算符是一种简洁的表达条件语句的方式。

// 示例:条件运算符
let age = 20;
let message = age >= 18 ? '成年人' : '未成年人';

console.log(message); // 输出:成年人

在这个例子中,条件运算符用于根据年龄判断一个人是否成年。

typeof 运算符

typeof运算符用于返回一个值的数据类型。

// 示例:typeof运算符
let name = 'John';
let age = 30;
let isStudent = false;

console.log(typeof name); // 输出:string
console.log(typeof age); // 输出:number
console.log(typeof isStudent); // 输出:boolean

在这个例子中,typeof运算符用于获取变量的数据类型。

位运算符

位运算符是对二进制表示的数进行操作的运算符,包括按位与、按位或、按位取反等。

// 示例:位运算符
let a = 5; // 二进制:101
let b = 3; // 二进制:011

console.log(a & b); // 输出:1(二进制:001)
console.log(a | b); // 输出:7(二进制:111)
console.log(~a); // 输出:-6

在这个例子中,位运算符用于对二进制表示的数进行按位操作。

运算符的优先级和结合性

理解运算符的优先级和结合性对于正确解读表达式至关重要。

// 示例:运算符的优先级和结合性
let result = 5 + 3 * 2;

console.log(result); // 输出:11

在这个例子中,乘法运算符的优先级高于加法运算符,所以先进行乘法运算,然后再进行加法运算。

总结

JavaScript中的表达式和运算符是构建程序逻辑、进行计算的关键要素。通过深入学习和实际应用算术、关系、逻辑等各类表达式,以及了解赋值、条件运算符、typeof等运算符的使用方法,能够更加灵活地处理各种数据操作。

掌握运算符的优先级和结合性是确保表达式按照预期进行计算的关键。深入理解这些概念,有助于避免由于优先级导致的错误,确保代码的可靠性和可读性。

总体而言,JavaScript中的表达式和运算符是编写高效、清晰代码的不可或缺的工具。深刻理解这些概念,有助于开发者更好地设计程序逻辑,提高代码的可维护性和可扩展性。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【算法萌新闯力扣】:两个数组的交集

力扣热题&#xff1a;两个数组的交集 开篇 今天早上状态不错&#xff0c;花了较短的时间刷了4道力扣算法题。挑选了一道还不错的题目与大伙分享。 题目链接:349.两个数组的交集 题目描述 代码思路 看到题目后&#xff0c;想到可以把一个数组用集合存起来&#xff0c;然后用…

【Linux】 uptime命令使用

uptime 正常运行时间提供以下信息的单行显示。当前时间、系统运行的时间、当前登录的用户数量以及过去1、5和15分钟的系统平均负载。 语法 uptimeuptime命令 -Linux手册页 作者 由Larry Greenfield编写和迈克尔K约翰逊编写。 命令选项及作用 执行令 man uptime 执行命令结…

基于Zemax的高能激光发射系统的扩束系统设计

关键词&#xff1a;高功率激光发射系统&#xff1b;扩束系统 1 引言 高功率激光发射系统是强激光空间传输系统中不可缺少的装置。对高功率激光发射系统的研究一直是激光应用领域的关键技术问题。高功率激光发射系统通常由准直系统、导光光路系统和扩束系统组成,光学系统要求具…

关于新版的Maven创建Maven项目的时候只有Maven Archetype,而找不到Maven的这个问题

问题情况 : 在最近的学习过程中&#xff0c;想要创建一个Maven模块用于分块设计&#xff0c;但是在idea里面创建Maven项目的时候&#xff0c;发现与maven相关的只有Maven Archetype这个模块&#xff0c;然后找不到单纯的Maven模块&#xff1b;就像下面这样 : 解决方案 : 其…

jvm 内存结构 ^_^

1. 程序计数器 2. 虚拟机栈 3. 本地方法栈 4. 堆 5. 方法区 程序计数器 定义&#xff1a; Program Counter Register 程序计数器&#xff08;寄存器&#xff09; 作用&#xff0c;是记住下一条jvm指令的执行地址 特点&#xff1a; 是线程私有的 不会存在内存溢出 虚拟机栈…

stm32入门建议跳过固件库去学习hal库吗?

stm32入门建议跳过固件库去学习hal库吗? 如果要以单片机作为以后的工作方向&#xff0c;建议还是深入了解一下单片机的原理与机制&#xff0c;比如串口收发的时候&#xff0c;内部的寄存器是怎么工作的&#xff0c;中断又是怎么工作的&#xff0c;然后我们又是怎么进行中断处…

基于黑猩猩算法优化概率神经网络PNN的分类预测 - 附代码

基于黑猩猩算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于黑猩猩算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于黑猩猩优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络…

Redis(哈希Hash和发布订阅模式)

哈希是一个字符类型字段和值的映射表。 在Redis中&#xff0c;哈希是一种数据结构&#xff0c;用于存储键值对的集合。哈希可以理解为一个键值对的集合&#xff0c;其中每个键都对应一个值。哈希在Redis中的作用主要有以下几点&#xff1a; 1. 存储对象&#xff1a;哈希可以用…

Linux 进程管理 实时调度类及SMP和NUMA

文章目录 一、 实时调度类分析1.1 实时调度实体sched_rt_entity数据结构1.2 实时调度类rt_sched_class数据结构1.3 实时调度类功能函数 二、SMP和NUMA2.1 SMP&#xff08;多对称处理器结构&#xff0c;UMA&#xff09;2.2 NUMA&#xff08;非一致内存访问结构&#xff09;2.3 C…

RT-DETR算法优化改进:Inner-IoU基于辅助边框的IoU损失,高效结合 GIoU, DIoU, CIoU,SIoU 等 | 2023.11

本文改进:Inner-IoU引入尺度因子 ratio 控制辅助边框的尺度大小用于计算损失,并与现有的基于 IoU ( GIoU, DIoU, CIoU,SIoU )损失进行有效结合 推荐指数:5颗星 新颖指数:5颗星 RT-DETR魔术师专栏介绍: https://blog.csdn.net/m0_63774211/category_12497375…

MySql的C语言API

创建数据库&#xff08;开辟堆空间资源&#xff09; 连接数据库 查询数据库 获取查询结果&#xff0c;获取一行信息 mysql_use_result这个函数并不会真正获取数据&#xff0c;只有当使用mysql_fetch_row才真正获取 数据 mysql_store_result会直接把所有查询结果存储下来 释…

微积分在神经网络中的本质

calculus 在一个神经网络中我们通常将每一层的输出结果表示为&#xff1a; a [ l ] a^{[l]} a[l] 为了方便记录&#xff0c;将神经网络第一层记为&#xff1a; [ 1 ] [1] [1] 对应的计算记录为为&#xff1a; a [ l ] &#xff1a; 第 l 层 a [ j ] &#xff1a; 第 j 个神经…

揭秘“ChatGPT之父”突遭罢免内幕:从开发者大会起,几件事已有征兆

腾讯新闻《潜望》 纪振宇 发自硅谷 美国时间11月17日午间&#xff0c;OpenAI首席执行官&#xff0c;被称为“ChatGPT之父”的山姆奥特曼突遭董事会罢免。 OpenAI在当天发布的官方声明称&#xff0c;董事会启动了一项特别的调查&#xff0c;结论是奥特曼在与董事会沟通过程中没…

基于PLC的污水厌氧处理控制系统(论文+源码)

1. 系统设计 污水厌氧由进水系统通过粗格栅和清污机进行初步排除大块杂质物体以及漂浮物等&#xff0c;到达除砂池中。在除砂池系统中细格栅进一步净化污水厌氧中的细小颗粒物体&#xff0c;将污水厌氧中的细小沙粒滤除后进入氧化沟反应池。在该氧化沟系统中进行生化处理&…

windows 10 更新永久关闭

1 winR 输入&#xff1a;services.msc 编辑&#xff1a; 关闭&#xff1a;

服务器端请求伪造(SSRF)

概念 SSRF(Server-Side Request Forgery&#xff0c;服务器端请求伪造) 是一种由攻击者构造形成的由服务端发起请求的一个安全漏洞。一般情况下&#xff0c;SSRF是要攻击目标网站的内部系统。&#xff08;因为内部系统无法从外网访问&#xff0c;所以要把目标网站当做中间人来…

Win10关机设置里没有睡眠选项的解决方法

用户想给自己的Win10电脑设置睡眠模式&#xff0c;但是在关机设置里面找不到睡眠选项&#xff0c;导致自己不能顺利完成睡眠模式的设置。接下来小编给大家带来解决Win10关机设置里没有睡眠选项的简单方法&#xff0c;解决后用户就可以看到Win10电脑关机设置中有睡眠选项了。 Wi…

【LeetCode】每日一题 2023_11_18 数位和相等数对的最大和(模拟/哈希)

文章目录 刷题前唠嗑题目&#xff1a;数位和相等数对的最大和题目描述代码与解题思路思考解法偷看大佬题解结语 刷题前唠嗑 LeetCode? 启动&#xff01;&#xff01;&#xff01; 本月已经过半了&#xff0c;每日一题的全勤近在咫尺~ 题目&#xff1a;数位和相等数对的最大和…

云端援手:智能枢纽应对数字资产挑战 ——华为云11.11应用集成管理与创新专区优惠限时购

现新客3.96元起&#xff0c;下单有机会抽HUAWEI P60 Art 福利仅限双十一 机会唾手可得&#xff0c;立即行动&#xff01; 「有效管理保护应用与数据的同时实现高效互通」——华为云全力满足企业需求&#xff0c;推出全套「应用集成管理与创新」智能解决方案&#xff1a;华为云…