5.1.认识运算符

什么是运算符?

运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。

运算符的应用:

购物车:计算总价,数量;

**Js ** 中有哪些运算符?

算术运算符、赋值运算符、关系运算符、逻辑运算符、三元运算符

#5.2.如何理解运算符

ü 运算数的个数:一元、二元、三元

如果操作数只有一个,称之为一元运算符,或者单目运算符。

如果操作数有两个,称之为二元运算符,或者双目运算符,这是最多的

如果操作数有三个,称之为三元运算符,或者三目运算符,在js中,只有一个?:。

如图:

#5.3.算术运算符:

ü 二元运算符:+、-、*、/ :加减乘除 %:取模,取余

ü 一元运算符:++、--:自增,自减

#a、+ 两个功能:1.拼接 2.相加

规律:

1)如果 + 有一端是字符串,那么一定是字符串的拼接;

​ 2)如果两端都没有字符串,那么将两端内容转为数字进行相加;

img

#b、- * / % 先对操作数进行隐式转换,转换为number,再进行运算

#C、一元运算符 ++ --

++,表示自增

--,表示自减

首先,看一个需求,需要将某一个数加1,然后赋值给其它的地方使用:

在js编程中,有太多类似的需求,所以js提供了一个++的运算符,专门用来实现+1的操作。如下:

我们发现:

对于++而言,它只需要一个操作数,所以它是一元(单目)运算符。

实际上,++并没有这么简单:

自增,它的本意是将当前变量的值增加1,

但是,它又额外的做了一件事情,它将加1之后的结果,又重复赋值给当前变量。

所以说,++它是有副作用的,副作用就是重新赋值。

对于++,它又分为两种用法:

ü 前加,比如++a

ü 后加,比如a++

前加和后加的区别:

ü 共同点:副作用都生效了,当前变量的值已经发生变化

ü 不同点:

++a先返回递增之后的a的值

a++先返回a的原值,再返回递增之后的值

可以这么记:前加,类似于先斩后奏,也就是将自增之后的值立马用上。

而后加有点神经大条,反应迟钝,整个表达式的值还是自增之前的那个值。

与++类似,--有相同的用法:

ü 前减:--a

ü 后减:a--

在实际开发中,++和--,使用非常普遍。尤其是在循环操作的时候。

说明:

++ -- 都会将值先隐式转为number,再进行自增自减

#5.4.赋值运算符

首先,在js中,=表示赋值。

大家在读代码,尽量读成赋值操作,不要读成等于操作。

img

注意:=不是等于,而是赋值,真正的等于是==。

赋值运算符是一个二元运算符,需要两个操作数参与。

赋值运算符的优先级,非常低,基本上就是最低的。只比,高。

img

注意点:

ü =的优先级比较低

ü =和==的区别

ü +=可以用于数字或字符串,视情况而定

一个等号表示赋值,

两个等号才表示相对,

将赋值运算符=和算术运算符+、-、*、/、%结合到一起,可以形成复合的赋值运算符。如下:

**特点:**在赋值运算符的左边和右边,出现了同一个变量,然后进行的是+、-、*、/、%的操作,那么就可以使用复合赋值运算符。

#作业:

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的更多相关文章

  1. JavaScript 基础(一) - JavaScript的引入方式,JavaScript 变量命名规则,JS 的五种基本数据类型,ECMAScript 算数运算符,逻辑运算符

    JavaScript的引入方式 直接编写 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  2. js中的运算符和条件语句

    js中的运算符大体上可以分为4类:1算术运算符.2一元操作符.3比较运算符.4逻辑运算符. 算术运算符一般指的是加减乘除求余这五种操作符:+,-,*,/,%.通过算术运算符可以对js中的变量进行操作. ...

  3. 让你彻底搞懂JS中复杂运算符==

    让你彻底搞懂JS中复杂运算符== 大家知道,==是JavaScript中比较复杂的一个运算符.它的运算规则奇怪,容易让人犯错,从而成为JavaScript中“最糟糕的特性”之一. 在仔细阅读了ECMA ...

  4. 前端(十一)—— JavaScript基础:JS存在的位置、JS变量定义、调试方式、JS数据类型、运算符

    JS存在的位置.JS变量定义.调试方式.JS数据类型.运算符 一.JS语言介绍 1.概念 浏览器脚本语言 可以编写运行在浏览器上的代码程序 属于解释性.弱语言类型编程语言 2.组成 ES语法:ECMA ...

  5. HTML5+JS 《五子飞》游戏实现(一)规则

    很久没写文章了,这个游戏其实已经写了有段时间了,一直没有完善,赶在新年之际,分享给大家. 该<五子飞>游戏,不是平常大家所说的<五子棋>,这个玩法简单,是我们老家儿时常玩的一种 ...

  6. HTML5+JS 《五子飞》游戏实现(八)人机对战

    要想实现人机对战,就必须让电脑自动下棋,而且要知道自动去查找对方的棋子,看看有没有可以挑一对的,有没有可以夹一个的,这样下起来才有意思. 当电脑用户下完棋后,电脑应立即搜索用户的棋子,然后如果没有被吃 ...

  7. HTML5+JS 《五子飞》游戏实现(六)鼠标响应与多重选择

    上一章我们提到了如果有多条线上的棋子可以被吃掉,那么游戏需要提示用户,让用户选择吃哪条线上的.另外因为是网页游戏,所以一定要实现鼠标单击棋子可以进行操作. 当鼠标移动棋子上面后,切换鼠标指针为手形,移 ...

  8. HTML5+JS 《五子飞》游戏实现(五)移动棋子

    上一章 我们知道了怎么处理两个重要的吃棋动作,想要吃对方的棋子,首先得移动自己的棋子.现在里沃特跟大家分享分享,怎么移动棋子. 想要移动棋子,在页面上,首先要点击一下要移动的棋子,然后再点击一下目标位 ...

  9. HTML5+JS 《五子飞》游戏实现(四)夹一个和挑一对

    在第一章我们已经说了怎么才能“夹一个”以及怎样才能挑一对,但那毕竟只是书面上的,对码农来讲,我们还是用代码讲解起来会更容易了解. 为了更容易对照分析,我们先把路线再次贴出来: // 可走的路线 thi ...

随机推荐

  1. 面试官:你说你精通源码,那你知道ArrayList 源码的设计思路吗?

    Arraylist源码分析 ArrayList 我们几乎每天都会使用到,但是通常情况下我们只是知道如何去使用,至于其内部是怎么实现的我们不关心,但是有些时候面试官就喜欢问与ArrayList 的源码相 ...

  2. level2行情是什么意思?

    level2行情是由上海证券交易所推出的实时行情信息收费服务产品,主要提供在上海证券交易所上市交易的证券产品的实时交易数据,包括十档行情,买卖队列,逐笔成交,委托总量和加权价格等数据. 投资者根据其功 ...

  3. CorelDRAW中如何精确移动对象

    图形的变换操作包括改变图形的位置.大小.比例,旋转图形.镜像图形和倾斜图形,是在绘图编辑时经常使用的操作.使用"选择工具"选择对象之后,在对象上按下鼠标左键并拖动,即可任意移动对象 ...

  4. guitar pro系列教程(十六):Guitar Pro如何编辑琵音

    上一章节我们讲了播放没有声音的解决,本章节我们通过图文结合的方式为大家讲解使用Guitar Pro如何来编辑琵音,有兴趣的朋友可以一起来学习哦. 首先我们要先搞明白什么事吉他的琵音. 其实吉他琶音就是 ...

  5. 牛逼哄哄的PageHelper分页插件到底是怎么实现的?网友:给我10分钟,给你写一个~

    Hi,各位读者们 PageHelper是一款好用的开源免费的Mybatis第三方物理分页插件,其实我并不想加上好用两个字,但是为了表扬插件作者开源免费的崇高精神,我毫不犹豫的加上了好用一词作为赞美. ...

  6. 工作中用到的redis操作

    del exists 1.字符串 set,get 2.列表 lRange lRem lPush rPush 3.有序列表 zadd zrem zscore 4.hash hset hget hdel

  7. 16个非常有趣的HTML5 Canvas动画特效集合

    HTML5技术正在不断的发展和更新,越来越多的开发者也正在加入HTML5阵营,甚至在移动开发上HTML5的地位也是越来越重要了.HTML5中的大部分动画都是通过Canvas实现,因为Canvas就像一 ...

  8. 03_Service的绑定

    Start Service启动的Service,Application退出,Service也不会退出: Bind Service启动的Service,Application退出,Service就会退出 ...

  9. PADS经验总结

    PADS经验总结 1. 快捷键z+数字,能够快速查看相应层:直接z,会显示所有层: 2. 快捷键l+数字,在走线时能够快速切换层: 3. setup->design Rules能设置线宽,DRC ...

  10. 「刷题笔记」LCA问题相关

    板子 ll lg[40]; ll dep[N],fa[N][40]; ll dis[N]; void dfs(ll u,ll f) { dep[u]=dep[f]+1; fa[u][0]=f; for ...