开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1441|回复: 1
收起左侧

[JS相关教程] 通过易语言轻松入门JavaScript-04运算2

[复制链接]
结帖率:43% (12/28)
发表于 2020-1-19 04:13:18 | 显示全部楼层 |阅读模式   四川省广安市

点击观看视频

运算

逻辑运算

  • ! (非运算)= 易语言-取反

    •         console.log(!true);//false
              //对布尔值进行取反
              console.log(!10);//false
              //对非布尔值进行取反,先转换成布尔值在进行取反
              console.log(!!10);//true
              //可以利用该特点进行类型转换
  • && (与运算)  = 易语言-并且

    •         console.log(true && true);//true
              console.log(false && true);//false
              console.log(false && false);//false
              //&&与运算表示,运算两侧都为真则返回真 否则返回假。
              false && alert("出来不出来!");//不出来
              //&&与运算短路的与,第一个值为false及不进行运算
  • || (或运算) = 易语言-或

    •         console.log(true || true);//true
              console.log(false || true);//true
              console.log(false || false);//false
              //||或运算,两个值有一个为true就为true,否则false
              true || alert("出来不出来!");//不出来
              //||与运算短路的与,第一个值为true及不进行运算

对于非布尔值进行逻辑运算

由于JS是弱类型语言,所以可以进行非布尔值的逻辑运算。

​     &&-|| 与运算-或运算

​       -对于非布尔值进行与或运算

​       -会将其转换为布尔值,然后再运算,并返回原值。

​       -&&运算(找false,有就false)

​       -如果第一个值为true,则必然返回第二个值

​       -如果第一个值为false,则必然返回第一个值

​     -||运算(找true,有就true)

​       -如果第一个值为true,则必然返回第一个值

​       -如果第一个值为false,则必然返回第二个值

关系运算

  • 相等运算
    1. ==(相等运算符)用作相等运算,JS会对相等运算符两侧进行类型转换在比较,相等则返回true。(例如:false == 0 这会返回true)。
    2. === (全等运算符)两边的值必须完全相等。由于JS设计之初为了让入门更简单,提供了相等运算,但是在转换过程中可能出现诡异的结果,JS在后续版本中添加了全等运算符。(例如:false===0 这会返回false)
  • 不等运算
    1. !=(不等运算符)比较两侧不相等,不相等返回true。
    2. !==(全不等运算符)比较两侧的值必须完全不相等,完全不相等返回true。
  • >    大于号     判断左值是否大于右值,成立返回true,反之。
  • <    小于号     判断左值是否小于右值,成立返回true,反之。
  • <=  小于等于号 判断左值是否小于等于右值,成立返回true,反之。
  • >=  大于等于号 判断左值是否大于等于右值,成立返回true,反之。

对于非数值型的处理

会转换成数字进行比较

两边都是字符串,不会转换数字进行比较,而会比较unicode编码

NaN

全称 Not a Number。NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对

象设置为该值,来指示其不是数字值。

方法 parseInt() 和 parseFloat() 在不能解析指定的字符串时就返回这个值。对于一些常规情况下返回有效数字的函

数,也可以采用这种方法,用 Number.NaN 说明它的错误情况。

任何值和NaN做任何比较都是false。(NaN == NaN 返回false),判断一个值是否为NaN,需要通过函数isNaN()来进行。

赋值运算

  • =  用于将右值赋值给左侧变量
  • +=  a+=5 等价于 a = a + 5;
  • -=   a-=5 等价于a = a -5;
  • =  a=5 等价于 a = aX5;
  • /=   a/=5 等价于 a = a/5;
  • %= a%=5 等价于 a = a%5; (取模,模等于)

一元运算

运算符 描述
+ 加法
- 减法
* 乘法
** 幂(ES2016
/ 除法
% 系数
++ 递增
-- 递减

对于非数字的运算处理

加法,"a"+1=a1,加法运算会将另一个值转换为字符串做拼串处理

其余会将非数字的值转为数字进行处理。

自增自减运算

  • ++前置  和 后置++  结果都是自增1.
  • --前置   和 后置--    结果都是自减1.

前置和后置的区别

单独一行表达式没有任何区别.

自增或自减运算的结果是一样的,不一样的是表达式的值。

单独一行表达式,前置++/--后置++/--的作用一致。

前置++ 表示运算前自增。使用这个表达式做运算时,先进行自增在运算。

后置++ 表示运算后自增。使用这个表达式做运算时,用原来的值做运算。然后自增。

不管哪种前置后置,当表达式完成,变量的值就已经改变。

自减同理。

运算符和操作数

在算术运算中,数被称为操作数。

(两个操作数之间执行的)运算由运算符定义。

操作数 运算符 操作数
7 + 8

JavaScript 运算符优先级值

运算符 描述 实例
20 ( ) 表达式分组 (3 + 4)
19 . 成员 person.name
19 [] 成员 person["name"]
19 () 函数调用 myFunction()
19 new 创建 new Date()
17 ++ 后缀递增 i++
17 -- 后缀递减 i--
16 ++ 前缀递增 ++i
16 -- 前缀递减 --i
16 ! 逻辑否 !(x==y)
16 typeof 类型 typeof x
15 ** 求幂 (ES7) 10 ** 2
14 * 10 * 5
14 / 10 / 5
14 % 模数除法 10 % 5
13 + 10 + 5
13 - 10 - 5
12 << 左位移 x << 2
12 >> 右位移 x >> 2
12 >>> 右位移(无符号) x >>> 2
11 < 小于 x < y
11 <= 小于或等于 x <= y
11 > 大于 x > y
11 >= 大于或等于 x >= y
11 in 对象中的属性 "PI" in Math
11 instanceof 对象的实例 instanceof Array
10 == 相等 x == y
10 === 严格相等 x === y
10 != 不相等 x != y
10 !== 严格不相等 x !== y
9 & 按位与 x & y
8 ^ 按位 XOR x ^ y
7 | 按位或 x | y
6 && 逻辑与 x && y
5 || 逻辑否 x || y
4 ? : 条件 ? "Yes" : "No"
3 = 赋值 x = y
3 += 赋值 x += y
3 -= 赋值 x -= y
3 *= 赋值 x *= y
3 %= 赋值 x %= y
3 <<= 赋值 x <<= y
3 >>= 赋值 x >>= y
3 >>>= 赋值 x >>>= y
3 &= 赋值 x &= y
3 ^= 赋值 x ^= y
3 |= 赋值 x |= y
2 yield 暂停函数 yield x
1 , 逗号 7 , 8

当使用括号时,括号中的运算符会首先被计算。

当多个运算拥有相同的优先级时(比如加法和减法),对它们的计算是从左向右的

序列 链接
00前言 https://bbs.125.la/forum.php?mod=viewthread&tid=14525477&extra
01Script标签 https://bbs.125.la/forum.php?mod=viewthread&tid=14525657&extra
02基本类型 https://bbs.125.la/forum.php?mod=viewthread&tid=14525843&extra
03运算 https://bbs.125.la/forum.php?mod=viewthread&tid=14525851&extra
04运算2 当前页

评分

参与人数 1好评 +1 精币 +2 收起 理由
陈大奶么么哒 + 1 + 2 感谢分享,很给力!~

查看全部评分

结帖率:43% (12/28)
 楼主| 发表于 2020-1-19 18:30:35 | 显示全部楼层   四川省广安市
本帖最后由 什么叫易 于 2020-1-19 18:34 编辑

视频中补充:

  1. 前置:运算后
    后置:原值
    区别,前置和后置表示表达式的值为原值还是运算后的值。
  2. 对于除了字母的字符串进行比较,都没有意义,比如中文

  3. 除了=号的赋值运算,其余赋值运算就是将左值和右值进行相应运算处理返回给自身4.
    尽量使用===全等和!==全不等,避免转换时出现NaN或者其他不可预期的状况


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表