js运算,笔试踩坑知识点

文章目录

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

在这里插入图片描述

前端面试系列

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

在这里插入图片描述

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

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

相关文章

mac-Yarn安装成功但提示 command not found 解决方案

文章目录 查看yarn配置卸载yarn删除注册表清除yarn缓存npm安装yarn安装完成后yarn -v提示command not found,故选择使用命令重新安装命令安装yarn然后打开.bash_profile文件:参考:https://www.python100.com/html/119013.html 最近遇到项目使…

ChatGPT、GPT-4 Turbo接口调用

接口地址 https://chat.xutongbao.top/api/light/chat/createChatCompletion 请求方式 post 请求参数 model可选值: “gpt-3.5-turbo-1106”、 “gpt-3.5-turbo-16k” 、 “gpt-4”、“gpt-4-1106-preview”。 默认值为: “gpt-3.5-turbo-1106” to…

【overleaf参考文献引用】Citation `r51‘ on page 1 undefined on input line 46

overleaf 编辑插入参考文献出现如下问题: 显示如下:连着三个参考文献有一个显示为问号,latex的错误如上: Citation r51 on page 1 undefined on input line 46 问题原因: 在文档的第一页(Page 1&#xff0…

Docker部署ubuntu1804镜像详细步骤

Docker部署ubuntu1804镜像详细步骤 ubuntu镜像库地址:https://hub.docker.com/_/ubuntu/tags?page1&ordering-name 拉取镜像(默认为最新版本): docker pull ubuntu或,拉取指定版本镜像: docker pull…

【JMeter】组件之 Listener监听器选择

JMeter中监听器的作用就是收集、显示JMeter取样器的结果,并以树形、图表、表格的形式显示出来。还可以将监听结果保存成文件。 View Results Tree-->察看结果树 Summary Report-->汇总报告 为测试中的每个不同命名的请求创建一行。这与聚合报告类似&#xff…

海康Visionmaster-通讯管理:使用 Modbus TCP 通讯 协议与流程交互

使用 Modbus TCP 通讯协议与视觉通讯,当地址为 0000 的保持型寄存器(4x 寄存器)变为 1 时,触发视觉流程执行一次,同时视觉将地址为 0000 的寄存器复位(也即写为 0),视觉流程执行完成后,将结果数…

后台管理系统实用提示框,JavaScript实现(成功,失败,提示弹窗)

本篇就给大家分享一下超级好用的JavaScript提示框,使其开发中节省大量代码!!! 由于本篇运用到了jQuery技术,所以在写之前一定记得引入jQuery库 目录 首先呢我们需要创建html元素 设置css样式,直接引入…

041:vue中 el-table每个单元格包含多个数据项处理

第041个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…

故障诊断模型 | Maltab实现ELM极限学习机的故障诊断

文章目录 效果一览文章概述模型描述源码设计参考资料效果一览 文章概述 故障诊断模型 | Maltab实现ELM极限学习机的故障诊断 模型描述 在机器学习领域,我们常常需要通过训练数据来学习一个函数模型,以便在未知的数据上进行预测或分类。传统的神经网络模型需要大量的参数调整和…

ChatGPT的图识别来了

前几天ChatGPT推出了Dall-E 3功能,可以根据文字和描述一段话来生成一个或者一组图。 这次又来重磅了,图识别又来了!换句话说,也即是文生图,图生文都可以实现了,一起来试试 1、解释图中的意思 &#xff0…

iOS 设置图标和upload包时显示错误

右键-show in finder-AppIcon.appiconset-然后替换图片 然后遇到个问题 就是图片不能有alpha [Xcode]应用图标:ERROR ITMS-90717: “Invalid App Store Icon. The App Store Icon in the asset catalog in x… 具体操作:只需确保【AppIcon】图片集中不…

【广州华锐互动】楼宇智能化VR虚拟教学系统

在如今的技术时代,教育行业正在逐步引入各种创新方法以提升教学质量。VR公司广州华锐互动开发的楼宇智能化VR虚拟教学系统就是其中的一种,它利用虚拟现实(VR)技术,为学生提供一种全新的、沉浸式的学习体验。 楼宇智能化VR虚拟教学系统涵盖综合…

如何使用fiddler实现手机抓包,Filters过滤器!

一、Fiddler与其他抓包工具的区别 1、Firebug虽然可以抓包,但是对于分析http请求的详细信息,不够强大。模拟http请求的功能也不够,且firebug常常是需要“无刷新修改”,如果刷新了页面,所有的修改都不会保存&#xff1b…

网络通信TCP、UDP详解

目录 IP 和端口 网络传输中的 2 个对象:server 和 client 两种传输方式:TCP/UDP TCP 和 UDP 原理上的区别 为何存在 UDP 协议 TCP/UDP 网络通信大概交互图 IP 和端口 所有的数据传输,都有三个要素 :源、目的、长度。 怎么表…

windows下安装zookeeper及kafka

1、下载安装包 https://dlcdn.apache.org/zookeeper/zookeeper-3.9.1/apache-zookeeper-3.9.1-bin.tar.gz 2、下载kafka包 Apache Kafka 3、解压压缩包 4、进入zookeeper目录创建配置的数据目录data及配置的日志目录log 5、复制并配置zoo.cfg文件 6、启动zookeeper&#xff0…

BI 数据可视化平台建设(1)—交叉表组件演变实战

作者:vivo 互联网大数据团队 - Zhu Jianchen 本文是vivo互联网大数据团队《BI数据可视化平台建设》系列文章第1篇 - 交叉表组件。 交叉表在数据分析里应用广泛,通过本文,你将了解到: 交叉表的基本概念,以及BI可视化平…

Delphi TCP服务端监听端口获取客户端RFID网络读卡器上传的刷卡数据

本示例使用设备介绍:液显WIFI无线网络HTTP协议RFID云读卡器可编程实时可控开关TTS语-淘宝网 (taobao.com) unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, ComCtrls, ScktComp, StdCtrls, ScktCom…

机器学习——实践

目录 一、数据集划分 1、交叉验证 2、不平衡数据的处理 代价敏感学习 二、评价指标 三、正则化、偏差和方差 为什么要标准化/归一化? 过拟合的处理——Dropout 过拟合的处理——Early stopping 过拟合的处理——数据增强 偏差和方差 ​编辑 一、数据集划分…

【Android】画面卡顿优化列表流畅度三之RecyclerView刷新机制notifyItemRangeInserted

经过长达一个多星期的反复渲染耗时记录,大致上有以下几个方面的地方可以优化: 列表组件RecyclerView刷新机制由notifyDataSetChanged()优化为notifyItemRangeInserted(),后期有必要也会使用notifyItemRangeRemoved、n…

Qt 自定义全局悬浮置顶按钮

Qt 自定义全局悬浮置顶按钮 效果 使用示例 ResetButton* resetBtn; resetBtn new ResetButton(); resetBtn->show(); resetBtn->move(QPoint(1000, 800)); connect(resetBtn, &ResetButton::clicked, this, &MainWindow::Reset);自行加入图片,透明…