js运算,笔试踩坑知识点

news2024/9/27 16:23:30

文章目录

    • 前端面试系列
    • 运算符
    • 记住口诀
    • 先计算 后 赋值
    • 赋值从右向左
    • ++ 和 - -
    • 计算从左向右
    • 括号里的加减优先于括号外的乘除
    • 交换俩数的值
    • 答案

在这里插入图片描述

前端面试系列

js运算 笔试踩坑知识点
前端js面试题 (三)
前端js面试题(二)
前端js面试题 (一)
css前端面试题(三)
css前端面试题(二)
css前端面试题 (一)
html面试题(二)
html 高频面试题

运算符

常见的算术运算符,+-*%/=()

不常见的运算符 ++,--,+=,-=,%=,/=

记住口诀

先计算,后赋值,计算从左向右,赋值从右向左。
先乘除后加减,括号里的加减优先于括号外的乘除。

哪些属于赋值呢 +=,-=,%=,/=,=

先计算 后 赋值

var a = 1;
var b = 2;
var d = 0;

d -= a + b
console.log(d)

赋值从右向左

var a = 1;
var b = 2;
var d = 0;

d -= a += b /= d + 1
console.log(a)
console.log(b)
console.log(d)

++ 和 - -

符号在前,先计算再运行
符号在后,先运行再计算

var a = 5;
var b = a++ + 12 + ++ a
console.log(a);
console.log(b);
var a = 5;
var b = (a ++) + (12 + -- a)
console.log(a);
console.log(b);

计算从左向右

var a = 5;
var b = 3;
b += a++ + (12 + -- a)
console.log(a);
console.log(b);

括号里的加减优先于括号外的乘除

var a = 5;
var b = 3;
b += a++ * (12 + -- a)
console.log(a);
console.log(b);

交换俩数的值

var a = 123, b = 234;
a = a + b
b = a - b
a = a - b

答案

先计算后赋值, a + b = 3, 然后 d = 0 - 3

var a = 1;
var b = 2;
var d = 0;

d -= a + b
console.log(d) // -3

同样先计算后赋值,多个赋值,从右向左
d + 1 = 1
b = 2 / 1 = 2
a = 1 + 2 = 3
d = 0 - 3 = -3

var a = 1;
var b = 2;
var d = 0;

d -= a += b /= d + 1
console.log(a) // 3
console.log(b) // 2
console.log(d) // -3

多次计算,从左向右,++ 在后先运算后加1,++在前,先加1,后运算

a++ 此时 a为 5 变为 5 + 12 + ++a 但完成转变后 a = a + 1 = 6
17 + ++ a 因为++ 在前面,a = a + 1 = 7 所以,b = 17 + 7 = 24

var a = 5;
var b = a++ + 12 + ++ a
console.log(a); // 7
console.log(b); // 24

同理类推

var a = 5;
var b = (a ++) + (12 + -- a)
console.log(a); // 5
console.log(b); // 22
var a = 5;
var b = 3;
b += a++ + (12 + -- a)
console.log(a); // 5
console.log(b); // 25

括号内的加减法优先于括号外的乘除法, 但计算还是从左向右

a++ * (12 + -- a) 变为 5 * (12 + -- a) 然后 a = a + 1 = 6
先算括号里面的加法 ,发现 --在a的前面,所以 a = a - 1 = 5,5 * (12 + -- a)变为5 * (12 + 5) = 85
最后 b = b + 85 = 88

var a = 5;
var b = 3;
b += a++ * (12 + -- a)
console.log(a); // 5
console.log(b); // 88

在这里插入图片描述

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

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

相关文章

【数据在内存中的存储】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 1. 整数在内存中的存储 2. 大小端字节序和字节序判断 2.1 什么是大小端? 2.2 为什么有大小端? 2.3 练习 2.3.1 练习1 2.3.2 练习2 2.3.3 练习3 2.3.4 …

uniapp发行web页面在老版本浏览器打开一片空白

uniapp发行的web页面(菜单->发行->网站-PC Web或手机H5),对于一些老的浏览器(或内核),打开一片空白; 而在新版本的浏览器中打开却正常。这是因为那些版本较低的浏览器不支持ES6的语法和新…

【Windows Docker:安装nginx】

拉镜像 docker pull nginx运行初始镜像 docker run -d -p 80:80 --name nginx nginx拷贝文件 docker cp nginx:/etc/nginx/nginx.conf D:/dockerFile/nginx/nginx.conf docker cp nginx:/etc/nginx/conf.d D:/dockerFile/nginx/conf.d docker cp nginx:/usr/share/nginx/htm…

JAVA基础5:分支语句

1.流程控制 1)流程控制语句分类 顺序结构分支结构(if,switch)循环结构(for,while,do...while) 2.顺序结构 顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行&a…

WebGL-Vue3-TS-Threejs:基础练习 / Javascript 3D library / demo

一、理解Three.js Three.js是一个用于WebGL渲染的JavaScript库。它提供了一组工具和类,用于创建和渲染3D图形和动画。简单理解(并不十分准确),Three.js之于WebGL,好比,jQuery.js之于JavaScript。 OpenGL …

Gated Context Aggregation Network for Image Dehazing and Deraining(GCANet)

1 总体概述 GCANet是端到端去雾的一篇代表性的文章,它摒弃以往使用手工设计的先验以及大气散射模型的使用,直接通过原始有雾图像估计出无雾图像J与有雾图像I之间的残差,图像恢复阶段直接使用网络输出的残差与输入有雾图像I之间的加和完成去雾…

跨境电商商城源码,支持多语言,开启全球贸易新篇章!

随着全球化的不断深入,跨境电商已经成为越来越多企业的选择。我们为您提供的跨境电商源码产品,具有强大的多语言支持功能,可轻松扩展至多个语言,助您迅速占领全球市场,实现业务的国际化发展。 一、多语言支持&#xff…

uniapp蓝牙搜索设备并列表展示

1.需求:3.0的桩可以值扫码通过蓝牙名字直接绑定,2.0的桩二维码无蓝牙名称则需通过蓝牙列表来绑定 2.碰到问题 1.0 蓝牙列表需要去重(蓝牙列表通过deviceId去重再放进展示列表) 2.0页面会卡顿(调用my.stopBluetoothDevi…

(附源码)基于spring boot 房屋租赁系统小程序-计算机毕设 88306

spring boot 房屋租赁系统小程序 目 录 摘要 1 绪论 1.1选题意义 1.2开发现状 1.3springboot框架介绍 1.4论文结构与章节安排 2 房屋租赁系统小程序系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统功能分析 2.…

【Spring】AOP实现原理

注册AOP代理创建器 在平时开发过程中,如果想开启AOP,一般会使用EnableAspectJAutoProxy注解,这样在启动时,它会向Spring容器注册一个代理创建器用于创建代理对象,AOP使用的是AnnotationAwareAspectJAutoProxyCreator&…

MES系统数据集成系统源码

MES系统数据集成系统源码 1 MES的生产计划管理综述 生产计划的管理在MES系统中是非常重要的。我们知道,一般的情况下,企业的生产计划是由上层管理系统ERP来完成,那么MES中的生产计划和ERP的生产计划的不同点在于: ERP的生产计划…

选择振弦采集仪进行岩土工程监测时,根据不同工况选择合适的种类

选择振弦采集仪进行岩土工程监测时,根据不同工况选择合适的种类 岩土工程监测是保证工程质量和安全的重要手段。振弦采集仪是一种常用的岩土工程监测仪器,可用于对岩土工程场地振动环境的监测。它具有测量精度高、实时性强、易于安装、使用方便等特点。…

唯众技能大赛公开公平公正践行者

​近日,2023一带一路暨金砖国家技能发展与技术创新大赛网络综合布线赛项成功举办。唯众创始人辜渝傧对本次比赛情况就相关问题回答了记者提问。 采访人:第一个问题,咱们这一次“2023一带一路暨金砖国家技能发展与技术创新大赛之网络综合布线赛…

React【异步逻辑createAsyncThunk(一)、createAsyncThunk(二)、性能优化、createSelector】(十二)

文章目录 异步逻辑 createAsyncThunk(一) createAsyncThunk(二) 性能优化 createSelector 异步逻辑 //Product.js const onAdd () > {const name nameRef.current.value// 触发添加商品的事件dispatch(addProduct({name…

基于.NET的强大文件格式开源转换工具

推荐一个非常强大、轻便的强大文件格式转换工具。 01 项目简介 一个基于.NET平台的开源文件格式转换工具,可以支持Windows 7/8/10等操作系统。安装后在右键菜单中出现 “File Converter” 项目,可以方便地通过右键菜单对选中文件进行格式转换&#xff…

HALCON的python下的使用方法(直接开发,不需要调用.hdev文件)

一、环境配置方法 基本要求: Python版本>3.8 ; Halcon版本 >20.11 1)首先创建一个python版本大于3.8的基础环境 2)然后查看自己的halcon的版本,在该环境下安装halcon 如图所示,版本是20110,执行以…

Java,多线程,线程的两种创建方式

首先是多线程的一些相关概念: 相关概念: 程序(program):为完成特定任务,用某种语言编写的一组指令的集合。即指一段静态(指不在执行中)的代码。 进程(process&#xf…

十分钟了解回归测试

1. 什么是回归测试(Regression Testing) 回归测试是一个系统的质量控制过程,用于验证最近对软件的更改或更新是否无意中引入了新错误或对以前的功能方面产生了负面影响(比如你在家中安装了新的空调系统,发现虽然新的空…

34 mysql limit 的实现

前言 这里来看一下 我们常见的 mysql 分页的 limit 的相的处理 这个问题的主要是来自于 之前有一个需要处理 大数据量的数据表的信息, 将数据转移到 es 中 然后就是用了最简单的 “select * from tz_test limit $pageOffset, $pageSize ” 来分页处理 但是由于 数据表的数…

[autojs]逍遥模拟器和vscode对接

第一步:启动autojs服务 第二步:去cmd查看ip地址,输入ipconfig 第三步:打开逍遥模拟器中的sutojs-左上角- 连接电脑,然后输入WLAN或者其他ip也行,根据自己电脑实际情况确认 此时vscode显示连接成功。我们写…