js上 五、运算符-1
5.1.认识运算符
什么是运算符?
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。
运算符的应用:
购物车:计算总价,数量;
**Js ** 中有哪些运算符?
算术运算符、赋值运算符、关系运算符、逻辑运算符、三元运算符
#5.2.如何理解运算符
ü 运算数的个数:一元、二元、三元
如果操作数只有一个,称之为一元运算符,或者单目运算符。
如果操作数有两个,称之为二元运算符,或者双目运算符,这是最多的
如果操作数有三个,称之为三元运算符,或者三目运算符,在js中,只有一个?:。
如图:
#5.3.算术运算符:
ü 二元运算符:+、-、*、/ :加减乘除 %:取模,取余
ü 一元运算符:++、--:自增,自减
#a、+ 两个功能:1.拼接 2.相加
规律:
1)如果 + 有一端是字符串,那么一定是字符串的拼接;
2)如果两端都没有字符串,那么将两端内容转为数字进行相加;
#b、- * / % 先对操作数进行隐式转换,转换为number,再进行运算
#C、一元运算符 ++ --
++,表示自增
--,表示自减
首先,看一个需求,需要将某一个数加1,然后赋值给其它的地方使用:
在js编程中,有太多类似的需求,所以js提供了一个++的运算符,专门用来实现+1的操作。如下:
我们发现:
对于++而言,它只需要一个操作数,所以它是一元(单目)运算符。
实际上,++并没有这么简单:
自增,它的本意是将当前变量的值增加1,
但是,它又额外的做了一件事情,它将加1之后的结果,又重复赋值给当前变量。
所以说,++它是有副作用的,副作用就是重新赋值。
对于++,它又分为两种用法:
ü 前加,比如++a
ü 后加,比如a++
前加和后加的区别:
ü 共同点:副作用都生效了,当前变量的值已经发生变化
ü 不同点:
++a先返回递增之后的a的值
a++先返回a的原值,再返回递增之后的值
可以这么记:前加,类似于先斩后奏,也就是将自增之后的值立马用上。
而后加有点神经大条,反应迟钝,整个表达式的值还是自增之前的那个值。
与++类似,--有相同的用法:
ü 前减:--a
ü 后减:a--
在实际开发中,++和--,使用非常普遍。尤其是在循环操作的时候。
说明:
++ -- 都会将值先隐式转为number,再进行自增自减
#5.4.赋值运算符
首先,在js中,=表示赋值。
大家在读代码,尽量读成赋值操作,不要读成等于操作。
注意:=不是等于,而是赋值,真正的等于是==。
赋值运算符是一个二元运算符,需要两个操作数参与。
赋值运算符的优先级,非常低,基本上就是最低的。只比,高。
注意点:
ü =的优先级比较低
ü =和==的区别
ü +=可以用于数字或字符串,视情况而定
一个等号表示赋值,
两个等号才表示相对,
将赋值运算符=和算术运算符+、-、*、/、%结合到一起,可以形成复合的赋值运算符。如下:
**特点:**在赋值运算符的左边和右边,出现了同一个变量,然后进行的是+、-、*、/、%的操作,那么就可以使用复合赋值运算符。
#作业:
1、给每一题的每一行写注释,每一道题的运行结果写出结果的解析。要求明了简单。
console.log(3+5) 8
console.log(3+true) 4
console.log("3"+true)”3true”
console.log(3+undefined); NaN
console.log(""+true);”true”
console.log(4-3+"admin"); “1admin”
console.log(5+2+"2") “72”
2、输出下面表达式的结果
var result1 = 5 - null+false; //
var result2 = "NaN" - 1+'abc'; //
var result3 ="3"+5 - 3; //
var result4 = 5 - ""+true; //
var result5 = 5 - "2"+"abc"; //
var result6 = 5 - null+2; //
var a = 99;
var b = 100;
var c = a%b;
alert(c); //99
5+22/2%2结果是?
var a,b,c,d,e;
a=3
b=10
c=(--a)+(b++)
d=(--b)-a
e=b/a+3-2%4
输出 c ,d,e的结果值
#小结:
\1. 理解一元,二元,三元运算符
\2. + :两个功能 :相加 、 拼接
\3. - * / %:先转number再运算
\4. += 、-= 、*= 、/=的应用
js上 五、运算符-1的更多相关文章
- JavaScript 基础(一) - JavaScript的引入方式,JavaScript 变量命名规则,JS 的五种基本数据类型,ECMAScript 算数运算符,逻辑运算符
JavaScript的引入方式 直接编写 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- js中的运算符和条件语句
js中的运算符大体上可以分为4类:1算术运算符.2一元操作符.3比较运算符.4逻辑运算符. 算术运算符一般指的是加减乘除求余这五种操作符:+,-,*,/,%.通过算术运算符可以对js中的变量进行操作. ...
- 让你彻底搞懂JS中复杂运算符==
让你彻底搞懂JS中复杂运算符== 大家知道,==是JavaScript中比较复杂的一个运算符.它的运算规则奇怪,容易让人犯错,从而成为JavaScript中“最糟糕的特性”之一. 在仔细阅读了ECMA ...
- 前端(十一)—— JavaScript基础:JS存在的位置、JS变量定义、调试方式、JS数据类型、运算符
JS存在的位置.JS变量定义.调试方式.JS数据类型.运算符 一.JS语言介绍 1.概念 浏览器脚本语言 可以编写运行在浏览器上的代码程序 属于解释性.弱语言类型编程语言 2.组成 ES语法:ECMA ...
- HTML5+JS 《五子飞》游戏实现(一)规则
很久没写文章了,这个游戏其实已经写了有段时间了,一直没有完善,赶在新年之际,分享给大家. 该<五子飞>游戏,不是平常大家所说的<五子棋>,这个玩法简单,是我们老家儿时常玩的一种 ...
- HTML5+JS 《五子飞》游戏实现(八)人机对战
要想实现人机对战,就必须让电脑自动下棋,而且要知道自动去查找对方的棋子,看看有没有可以挑一对的,有没有可以夹一个的,这样下起来才有意思. 当电脑用户下完棋后,电脑应立即搜索用户的棋子,然后如果没有被吃 ...
- HTML5+JS 《五子飞》游戏实现(六)鼠标响应与多重选择
上一章我们提到了如果有多条线上的棋子可以被吃掉,那么游戏需要提示用户,让用户选择吃哪条线上的.另外因为是网页游戏,所以一定要实现鼠标单击棋子可以进行操作. 当鼠标移动棋子上面后,切换鼠标指针为手形,移 ...
- HTML5+JS 《五子飞》游戏实现(五)移动棋子
上一章 我们知道了怎么处理两个重要的吃棋动作,想要吃对方的棋子,首先得移动自己的棋子.现在里沃特跟大家分享分享,怎么移动棋子. 想要移动棋子,在页面上,首先要点击一下要移动的棋子,然后再点击一下目标位 ...
- HTML5+JS 《五子飞》游戏实现(四)夹一个和挑一对
在第一章我们已经说了怎么才能“夹一个”以及怎样才能挑一对,但那毕竟只是书面上的,对码农来讲,我们还是用代码讲解起来会更容易了解. 为了更容易对照分析,我们先把路线再次贴出来: // 可走的路线 thi ...
随机推荐
- kafka SASL认证介绍及自定义SASL PLAIN认证功能
目录 kafka 2.x用户认证方式小结 SASL/PLAIN实例(配置及客户端) broker配置 客户端配置 自定义SASL/PLAIN认证(二次开发) kafka2新的callback接口介绍 ...
- 新鲜出炉!JAVA线程池精华篇深度讲解,看完你还怕面试被问到吗?
前言 前两天趁着假期在整理粉丝私信的时候看到一个粉丝朋友的私信跟我说自己现在正在复习准备面试,自己在复习到线程池这一块的时候有点卡壳,总感觉自己差了点什么.想要我帮他指导一下.这不趁着假期我也有时间我 ...
- 了解 MySQL的数据行、行溢出机制吗?
目录 一.行 有哪些格式? 二.紧凑的行格式长啥样? 三.MySQL单行能存多大体量的数据? 四.Compact格式是如何做到紧凑的? 五.什么是行溢出? 六.行 如何溢出? 七.思考一个问题 关注送 ...
- window consul安装和运行
consul 前言 一.consul是什么? 二.使用步骤 1.安装 2.启动 结束~~ 前言 刚开始接触spring cloud,其中就有用到consul,简单介绍一下以及怎么安装运行起来 提示:以 ...
- 冲刺随笔——Day_Two
这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 团队进行Alpha冲刺 作业正文 正文 其他参考文献 无 ...
- python 爬虫 汽车之家车辆参数反爬
水平有限,仅供参考. 如图所示,汽车之家的车辆详情里的数据做了反爬对策,数据被CSS伪类替换. 观察 Sources 发现数据就在当前页面. 发现若干条进行CSS替换的js 继续深入此JS 知道了数据 ...
- CentOS 安装ElasticSearch-head插件
1 下载ElasticSearch-head安装包 1.1 Git下载ElasticSearch-head #安装git,若机器环境已存在,不需要再次安装 yum install git #下载 gi ...
- PyQt(Python+Qt)学习随笔:QToolBox工具箱currentItem对应的index、text、name、icon、ToolTip属性
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在Designer中,toolBox主要有如下属性: 可以看到,toolBox的属性主要是与当前项相 ...
- PyQt(Python+Qt)学习随笔:gridLayout的layoutRowStretch和layoutColumnStretch属性
Qt Designer中网格布局中,layoutRowStretch和layoutColumnStretch两个属性分别设置网格布局中行之间和列之间的拉伸因子,如图: 但是QGridLayout并没有 ...
- 手把手教你爬取B站弹幕!
效果 输入要爬取的视频的BV号即可爬取该视频的弹幕. 过程 基本思路 基本的思路很简单,还是老步骤: 1.构造爬取的url 2.解析返回的数据 3.使用json或Xpath或正则表达式提取数据 4.保 ...