js基础——运算符
爱创课堂前端培训——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基础——运算符的更多相关文章
- JS基础-运算符-函数
1.运算符 1.赋值运算符和扩展运算符 1.赋值运算符 = 2.扩展运算符 +=,-=,*=,/=,%=,^=.... ex: a=a+b;--> ...
- js基础-运算符
100 * "20" 字符串转数字 5 * "ss" NAN "ss" 转数字返回NAN 任何数字与NAN +-*/ 都返回NAN 5/N ...
- js基础 js自执行函数、调用递归函数、圆括号运算符、函数声明的提升 js 布尔值 ASP.NET MVC中设置跨域
js基础 目录 javascript基础 ESMAScript数据类型 DOM JS常用方法 回到顶部 javascript基础 常说的js包括三个部分:dom(文档document).bom(浏览器 ...
- js基础关系运算符
js基础关系运算符 == 是否相等(只检查值) x=5,y='-5';x==y true === 是否全等(检查值和数据类型) x=5,y='-5';x===y false != 是否不等于 5!=8 ...
- JS基础6--逻辑运算符
&&与 ||或 !非 如果对一个值进行两次取反,它不会变化 如果对一个非布尔值进行取反,则会将其转换为布尔值,再取反 所以我们可以利用该特点.来将 ...
- JS基础_运算符的优先级
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- JS基础(超级简单)
1 JS基础(超级简单) 1.1 数据类型 1.1.1 基本类型: 1) Number:特别注意:NaN的检测方法:Nan!=NaN;或者使用isNaN方法 2) ...
- js基础篇——call/apply、arguments、undefined/null
a.call和apply方法详解 call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象 ...
- JS基础--函数与BOM、DOM操作、JS中的事件以及内置对象
前 言 絮叨絮叨 这里是JS基础知识集中讲解的第三篇,也是最后一篇,三篇JS的基础,大多是知识的罗列,并没有涉及更难得东西,干货满满!看完这一篇后,相信许多正在像我一样正处于初级阶段的同学, ...
随机推荐
- 【笔记】Kali linux的安装 和 一些使用前的准备工作(原创+转载)
该博文只记录笔者的蛇皮使用经历,纯新手= =,可能借鉴意义也可能没有(T _ T),侵删. 目录 kali linux 在个人计算机和在VirtualBox下的安装 kali linux 使用前准备工 ...
- 使用Grub Rescue 修复MBR
ubuntu 14.04 (本机) 1.使用以下命令查看分区: grub rescure> ls (hd0,msdos7),(hd0,msdos8),(hd0,msdos9 ...
- IDL 存储数组
IDL中的数组在内存中是按行存储的,这是因为IDL最初设计的设计目的是用来处理行扫描卫星数据. 1.一维数组 m个元素的一维数组arr[m]的存储方式为 arr[0]→arr[1]→...→arr[m ...
- 网站常用的一些javascript封装 简化调用
//用于网页地址参数 //参数中包含出了英文中文数字之外的其他符号时进行编码并在前面加"=="进行标识,否则直接返回 //解码时根据是否含有"=="标识来决定是 ...
- YYHS-string(线段树)
题解 这道题给你两个操作,一个升序,一个降序 我们可以观察到这个字符串都是由小写字母组成的,只有26个字符,所以我们开一个26个字符的线段树 每次查询的时候找到这个区间内'a'到'z'的数量,再判断一 ...
- 解决网络通信中外网和内网之间的通信问题(NAT转换)
本文原址 http://www.cnblogs.com/lidabo/p/3828846.html 在网络编码中会发现程序在局域网中是可以适用的,但是在外网与内网之间和内网与内网之间就不可行.问题就在 ...
- 关于Java和JavaScript对字符串截取处理的总结
在JavaWeb开发中,经常需要对字符串进行处理,包括Java语言和JS语言,总是容易弄混淆,这里简单对比一下两种语言对于字符串截取方法. 一.先看Java public class StringDe ...
- Java基础总结--多线程总结1
----进程和线程-----1.概述:简单理解一个进程就是一个正在运行的程序(程序在内存中的所属空间)程序只有在运行的时候才会被加载进内存2.进程内部的划分进程不会直接执行,只是被当作分配内存资源的基 ...
- C++内联函数(03)
在C++中我们通常定义以下函数来求两个整数的最大值: 代码如下: int max(int a, int b){ return a > b ? a : b;} 为这么一个小的操作定义一个函数的好处 ...
- CNCC2017梳理
大牛云集的中国计算机大会:大会日程表:http://cncc.ccf.org.cn/cn/news/schedule_empty 早上的论坛可以在爱奇艺下载视频 下午的分论坛是多个同时进行的,我也只去 ...