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

news2024/11/15 11:53:41

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

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

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

相关文章

和鲸 ModelWhale 入驻华为蓝鲸应用商城,助力大模型时代 AI 赋能应用落地

近日&#xff0c;和鲸旗下数据科学协同平台 ModelWhale 成功入驻华为蓝鲸应用商城&#xff0c;这也是继和鲸与华为发布数据分析建模实训联合解决方案后的再度携手&#xff0c;标志着双方的合作进入更全面、更深入的新阶段。 华为蓝鲸应用商城是华为数据存储面向客户提供的一站…

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

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

【Mysql】复合查询详解+实战操作(多表查询、自链接、子查询等)

&#x1f308;欢迎来到Python专栏 &#x1f64b;&#x1f3fe;‍♀️作者介绍&#xff1a;前PLA队员 目前是一名普通本科大三的软件工程专业学生 &#x1f30f;IP坐标&#xff1a;湖北武汉 &#x1f349; 目前技术栈&#xff1a;C/C、Linux系统编程、计算机网络、数据结构、Mys…

网络协议头分析及抓包三次挥手四次握手

数据的封装与传递过程 思考&#xff1a; 应用层调用send后&#xff0c;是如何把数据发送到另一台机器的某个进程的。接收的设备收到数据包后&#xff0c;如何处理给应用层&#xff1f; MTU &#xff1a; Maximum Transmit Unit 最大传输单元 物理接口&#xff08;数据链路层&am…

vmware workstation pro 17.5 安装 macos 13.5.2 虚拟机超详细图文教程

前言 本文很细&#xff0c;甚至有点墨迹&#xff0c;主要为了方便从来没用过 vmware 的新人&#xff0c;其实大部分步骤和正常安装虚拟机没有区别&#xff0c;详细贴图以方便大家对比细节 参考文章 感谢大佬们的无私分享 https://blog.csdn.net/qq_19731521/article/details…

Linux下非root用户安装CUDA

目录 前言 参考链接 步骤 一. 首先&#xff0c;需要查看系统版本&#xff1a; 二. 安装包下载。 下载CUDA&#xff1a; cuDNN下载 三. 开始安装CUDA和cuDNN 安装CUDA 修改环境变量 安装 cuDNN 查看是否安装成功&#xff0c;输入nvcc -V 前言 由于一些代码实现&…

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

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

Google大法好

Google Search Central 前言&#xff1a; google的搜索方式&#xff1a; Google 是一款全自动搜索引擎&#xff0c;会使用名为“网页抓取工具”的软件定期探索网络&#xff0c;以找出可添加到 Google 索引中的网站。实际上&#xff0c;Google 搜索结果中收录的大多数网站都不…

BGP的基础知识

BGP——边界网关协议 IGP——内部网关协议——OSPF、RIP、ISIS EGP——外部网关协议——EGP、BGP 边界网关协议BGP是一种实现自治系统AS之间的路由可达&#xff0c;并选择最佳路由的路径矢量路由协议。目前在IPV4环境下主要使用BGPV4&#xff0c;目前市场上也存在BGPV4&…

uniapp优化h5项目-摇树优化,gzip压缩和删除console.log

1.摇树优化 勾选摇树优化,打包删除死代码 2.gzip压缩和删除console.log 安装插件webpack和compression-webpack-plugin webpack插件 npm install webpack4.46.0 --save-devcompression-webpack-plugin插件 npm install compression-webpack-plugin6.1.1 --save-devconst Com…

java+ 如何动态配置业务规则组

思路 1. 实现在页面上的动态配置规则组&#xff08;2张数据表枚举类serviceimplaction&#xff09; 2. 从数据库中表staffmoverules&#xff08;规则明细表&#xff09;或者staffmovetyperule&#xff08;规则组表&#xff09; &#xff0c;根据传入类型&#xff0c;取出规则编…

[C/C++]数据结构 栈和队列()

一:栈 1.1 栈的概念及结构 栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作,进行数据插入和删除操作的一端称为栈顶,另一端称为栈底,栈中的数据元素遵守先进后出的原则. 压栈:栈的插入操作叫做进栈/压栈/入栈,将数据插入栈顶 出栈:栈的删除操作也叫出…

自学嵌入式,已经会用stm32做各种小东西了

自学嵌入式&#xff0c;已经会用stm32做各种小东西了 1、stm32 工程中&#xff0c;定义一个变量&#xff0c;记录复位次数&#xff0c;即复位一次变量加一。要求不许用备份寄存器和 flash 保存信息。本题只讨论不断电热启动情况&#xff0c;至于冷启动&#xff0c;不在此讨论。…

整理MLAI学习路径图

干货分享&#xff1a; 下面给出一个笔者自己整理的GitHub仓库&#xff1a;https://github.com/isLinXu/awesome-road-map&#xff0c;里面包含了一些可供参考的学习路径和思维导图&#xff0c;并整理微软、meta、谷歌、Kaggle以及华为、百度、阿里、腾讯、讯飞等相关的学习资源…

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

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

【广州华锐互动】自然灾害科普3D体验展厅:培养安全意识,共创美好未来

在人类历史的进程中&#xff0c;灾难始终是我们不可避免的挑战。地震、洪水、火灾等自然灾害无情地摧毁我们的家园&#xff0c;带走我们的亲人。然而&#xff0c;随着科技的进步&#xff0c;我们已经有了更多的手段来预防和应对这些灾难。在这个背景下&#xff0c;自然灾害科普…

嵌入式系统中相关的高质量开源项目

关于GitHub&#xff0c;可能很多人误以为这是互联网人的专属&#xff0c;其实并不是&#xff0c;那上面嵌入式相关的开源项目是有很多的。现分享一些高星开源项目&#xff08;像RT-Thread、AWTK等大家都熟知的就不介绍了&#xff09;&#xff1a;Avem 项目链接&#xff1a; ht…

实力进阶,教你使用thinkphp6开发一款商城系统

0.开篇 你好&#xff01;很高兴你能点开这个教程&#xff0c;相信你对这个教程有了那么一点点兴趣&#xff0c;接下来占用你一点点时间&#xff0c;邀你浏览一下本章内容&#xff0c;希望能够让你更加有兴趣去学完这个教程。 作者我是一名九零后程序员&#xff0c;搬砖了好几…

山西电力市场日前价格预测【2023-11-19】

1.日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-11-19&#xff09;山西电力市场全天平均日前电价为591.63元/MWh。其中&#xff0c;最高日前电价为1500.00元/MWh&#xff0c;预计出现在16:45~20:45。最低日前电价为268.57元/MWh&#x…

简朴博客系统测试报告

文章目录 一. 项目简介二. 测试概要三. 测试环境四. 测试执行概况及功能测试1. 手工测试1.1 手动测试用例编写1.2 执行的部分测试用例 2. 自动化测试Selenium2.1 编写测试用例2.2 自动化测试代码 3. 测试结果 五. 发现的问题 一. 项目简介 简朴博客系统是采用前后端分离的方式…