从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); // 输出:15num *= 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; // 二进制:011console.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中的表达式和运算符是编写高效、清晰代码的不可或缺的工具。深刻理解这些概念,有助于开发者更好地设计程序逻辑,提高代码的可维护性和可扩展性。

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

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

相关文章

component 动态组件的用法

一&#xff1a;前言 <component></component> 标签是Vue框架自定义的标签&#xff0c;它的用途就是可以动态绑定我们的组件&#xff0c;根据数据的不同需求来更换使用不同的组件。 在最上方的图片中&#xff0c;就是使用的 Element Plus 的 Tags 组件&#xff0c;根…

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

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

vb.net U盘或移动硬盘 插入 自动(静默)复制指定格式文件

U盘或移动硬盘 插入 自动复制指定格式文件至系统盘符 开发语言&#xff1a;vb.net 重要申明&#xff1a;该程序只是防止本人不在电脑旁时&#xff0c;别人偷偷copy你的电脑文件&#xff0c;让他偷鸡成了也要蚀把米。严禁从事黑客或违反道德等不良行为&#xff0c;故而不发布程…

【选题推荐】软件工程毕设选题可以选什么

文章目录 0 简介1 如何选题2 最新软件工程毕设选题3 最后 0 简介 学长搜集分享最新的软件工程业专业毕设选题&#xff0c;难度适中&#xff0c;适合作为毕业设计&#xff0c;大家参考。 学长整理的题目标准&#xff1a; 相对容易工作量达标题目新颖 1 如何选题 最近非常多的…

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

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

毅速丨金属3D打印将为模具制造企业带来变革

金属3D打印技术的发展给模具制造带来了巨大的创新价值&#xff0c;包括重塑产品、重组制造、重构业务。 首先&#xff0c;3D打印技术可以大幅度缩短模具制造的生产周期&#xff0c;提高生产效率。传统的模具制造需要经过多个工序和加工过程&#xff0c;而3D打印技术通过打印完成…

突发!“ChatGPT 之父”奥特曼被 OpenAI 开除!!乔布斯故事重演了?

重磅消息&#xff01; OpenAI刚刚官宣领导层换届&#xff0c;SamAltman辞任CEO并离开董事会&#xff0c;原CTO Mira Murati 任命为临时CEO&#xff0c;并正在进行寻找永久继任CE0。 大模型研究测试传送门 GPT-4传送门&#xff08;免墙&#xff0c;可直接测试&#xff0c;遇浏…

Leetcode 剑指 Offer II 053. 二叉搜索树中的中序后继

题目难度: 中等 原题链接 今天继续更新 Leetcode 的剑指 Offer&#xff08;专项突击版&#xff09;系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给定一棵二叉搜索树和其中的一个节点 p &#xff0c;找到该节点在…

适用于 Windows 的 10 款最佳数据恢复工具

在数字时代&#xff0c;数据就是一切。 从珍贵的家庭照片和重要的工作文件到我们最喜欢的音乐和电影&#xff0c;我们的生活存储在越来越多的不同设备上。 系统崩溃、意外删除或恶意病毒都可能导致有价值的数据在瞬间丢失。 这就是数据恢复工具的用武之地。 适用于 Windows 的 …

基于社会群体算法优化概率神经网络PNN的分类预测 - 附代码

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

linux:删除乱码文件、目录

由于编码原因&#xff0c;在linux服务器上上传、创建中文文件或目录时&#xff0c;会产生乱码&#xff0c;如果想删除它&#xff0c;发现用rm命令是删除不了的&#xff0c;这种情况下&#xff0c;用find命令可以删除乱码的文件或目录。 首先进入乱码文件或目录所在的目录&…

5G与中国的海

今年国庆假期&#xff0c;香港迎来了阔别5年的国庆维港烟花汇演 10月1日晚上9点&#xff0c;“HKT x FWD 2023 年国庆烟花汇演”在维多利亚港上空上演。在23分钟时间里&#xff0c;燃放了超过3万枚烟花。而与以往维港烟花秀不同的是&#xff0c;为了让更多民众欣赏这次表演&…