爱创课堂前端培训——js基础 运算符

一、运算符

运算符(Operators,也翻译为操作符),是发起运算的最简单形式。

分类:(运算符的分类仁者见智,本课程进行一下分类。)

数学运算符(Arithmetic operators)

比较运算符(Comparison operators)

逻辑运算符(Logical operators)

赋值运算符(Assignment operators)

按位运算符(Bitwise operators)

条件 (三元) 运算符(Conditional operator)

1.1 数学运算符

数学运算符:+,-,*,/,%,()。

运算顺序:先算乘除取余,再算加减。有小括号的先算小括号里面的。

1 // %取余操作,就是要余数部分。
2 // 余数的范围小于除数
3 // 范围是[0,除数-1];
4 console.log(12 % 5);

通常我们说的数学运算指的是纯数字和纯数字之间的运算。

①纯数字的字符串和纯数字进行数学运算时,除加法外其他的都会进行隐式转换。

1 console.log("12" - 2);
2 console.log("12" * 2);
3 console.log("12" / 2);
4 console.log("12" % 2);



②特殊字符布尔和null在与数字进行数学运算时,也进行隐式转换。
true→1,false→0,null→0

1 console.log(5 * true);
2 console.log(5 * false);
3 console.log(5 * null);



加法运算也会进行隐式转换:

1 console.log(5 + true);
2 console.log(5 + false);
3 console.log(5 + null);



③undefined和其他字符串与数字进行数学运算时(除加法外),得到的都是NaN。

1 console.log(5 * undefined);
2 console.log(5 * "hello");
3 console.log(5 * "你好");

1 console.log(5 + undefined);
2 console.log(5 + "hello");
3 console.log(5 + "你好");



④NaN和数字进行数学运算时得到的是NaN 。

1 console.log(12 + NaN);
2 console.log(12 - NaN);
3 console.log(12 * NaN);
4 console.log(12 / NaN);
5 console.log(12 % NaN);



⑤Infinity进行数学运算时。

1 console.log(12 + Infinity);
2 console.log(12 - Infinity);
3 console.log(12 * Infinity);
4 console.log(12 / Infinity);
5 console.log(12 % Infinity);



小测试:
计算下列算式,并将结果输出:
 

本文章版权归爱创课堂所有,转载请注明出处。

更多详细内容请访问爱创课堂官网首页

http://www.icketang.com/

js基础——运算符的更多相关文章

  1. JS基础-运算符-函数

    1.运算符  1.赋值运算符和扩展运算符    1.赋值运算符 =    2.扩展运算符      +=,-=,*=,/=,%=,^=....      ex:        a=a+b;--> ...

  2. js基础-运算符

    100 * "20" 字符串转数字 5 * "ss"  NAN "ss" 转数字返回NAN 任何数字与NAN +-*/ 都返回NAN 5/N ...

  3. js基础 js自执行函数、调用递归函数、圆括号运算符、函数声明的提升 js 布尔值 ASP.NET MVC中设置跨域

    js基础 目录 javascript基础 ESMAScript数据类型 DOM JS常用方法 回到顶部 javascript基础 常说的js包括三个部分:dom(文档document).bom(浏览器 ...

  4. js基础关系运算符

    js基础关系运算符 == 是否相等(只检查值) x=5,y='-5';x==y true === 是否全等(检查值和数据类型) x=5,y='-5';x===y false != 是否不等于 5!=8 ...

  5. JS基础6--逻辑运算符

     &&与  ||或   !非      如果对一个值进行两次取反,它不会变化      如果对一个非布尔值进行取反,则会将其转换为布尔值,再取反      所以我们可以利用该特点.来将 ...

  6. JS基础_运算符的优先级

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. JS基础(超级简单)

    1     JS基础(超级简单) 1.1 数据类型 1.1.1   基本类型: 1)        Number:特别注意:NaN的检测方法:Nan!=NaN;或者使用isNaN方法 2)       ...

  8. js基础篇——call/apply、arguments、undefined/null

    a.call和apply方法详解 call方法: 语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象 ...

  9. JS基础--函数与BOM、DOM操作、JS中的事件以及内置对象

       前   言 絮叨絮叨 这里是JS基础知识集中讲解的第三篇,也是最后一篇,三篇JS的基础,大多是知识的罗列,并没有涉及更难得东西,干货满满!看完这一篇后,相信许多正在像我一样正处于初级阶段的同学, ...

随机推荐

  1. load data(sql)

    一般对于数据库表的插入操作,我们都会写程序执行插入sql,插入的数据少还可以,如果数据多了.执行效率上可能就不太理想了.load data语句用于高速地从一个文本文件中读取数据,装载到一个表中,相比于 ...

  2. The Twin Towers zoj2059 DP

    The Twin Towers Time Limit: 2 Seconds      Memory Limit: 65536 KB Twin towers we see you standing ta ...

  3. Redis缓存项目应用架构设计二

    一.概述 由于架构设计一里面如果多平台公用相同Key的缓存更改配置后需要多平台上传最新的缓存配置文件来更新,比较麻烦,更新了架构设计二实现了缓存配置的集中管理,不过这样有有了过于中心化的问题,后续在看 ...

  4. yii2-swiftmailer入门

    1. 安装 用yii 2.0框架,默认会有这个扩展 composer require --prefer-dist yiisoft/yii2-swiftmailer 修改composer.json,re ...

  5. ZOJ 1489 HDU1395 2^x mod n = 1 数学

    2^x mod n = 1 Time Limit: 2 Seconds      Memory Limit:65536 KB Give a number n, find the minimum x t ...

  6. 使用Entify Framework 6.x的事务操作

    public void TransactionsTest() { using (var context = new testContext()) { //使用EF事务 在vs2013中先升级Entit ...

  7. 使用spark对hive表中的多列数据判重

    本文处理的场景如下,hive表中的数据,对其中的多列进行判重deduplicate. 1.先解决依赖,spark相关的所有包,pom.xml spark-hive是我们进行hive表spark处理的关 ...

  8. sublime addons backup

    1.you can create a file to store you installed addons and use git to store github.com just like that ...

  9. vue.js实例对象+组件树

    vue的实例对象 首先用js的new关键字实例化一个vue el: vue组件或对象装载在页面的位置,可通过id或class或标签名 template: 装载的内容.HTML代码/包含指令或者其他组件 ...

  10. Volley图片加载并加入缓存处理(转自http://blog.csdn.net/viewhandkownhealth/article/details/50957024)

    直接上代码  两种方式 ImageView 和NetworkImageView 如有问题或者好的建议.意见 欢迎大家加入技术群(群号: 387648673 ) 先自定义全局Application 获取 ...