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的基础,大多是知识的罗列,并没有涉及更难得东西,干货满满!看完这一篇后,相信许多正在像我一样正处于初级阶段的同学, ...
随机推荐
- [js高手之路] html5 canvas系列教程 - 线形渐变,径向渐变与阴影设置
接着上文[js高手之路] html5 canvas系列教程 - 像素操作(反色,黑白,亮度,复古,蒙版,透明)继续. 一.线形渐变 线形渐变指的是一条直线上发生的渐变. 用法: var linear ...
- 126邮箱发送邮件python实现
126邮箱发送邮件python实现 from email.mime.text import MIMEText from email.utils import formataddr import smt ...
- python之字典
1.用{}创建字典 代码: 1 2 x = {"a":"1", "b":"2"} print x 输出: {'a': ' ...
- 第九章 MySQL中LIMIT和NOT IN案例
第九章 MySQL中LIMIT和NOT IN案例 一.案例的项目 1.创建数据库语句: #创建数据库 CREATE DATABASE `schoolDB`; USE `schoolDB`; #创建学生 ...
- cocos2dx - 控件扩展之pageview循环显示
接上一节内容:cocos2dx - shader实现任意动画的残影效果 本节主要讲一下扩展PageView控件功能 在实际游戏应用中,经常会碰到用原来的控件难以实现的功能.这时候就需要根据需求,通过选 ...
- ReactiveCocoa基础和一些常见类介绍
一 导入ReactiveCocoa框架 通常都会使用CocoaPods(用于管理第三方框架的插件)帮助我们导入 podfile如果只描述pod 'ReactiveCocoa', '~> 4.0. ...
- java中==与equel的区别
值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中. ==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地 ...
- ASP.NET MVC 学习笔记 1
1. 什么是ASP.Net MVC ASP.Net MVC是一种开发Web应用程序的工具(is a web application development framework),采用Model-Vie ...
- [js高手之路] 设计模式系列课程 - jQuery的extend插件机制
这里在之前的文章[js高手之路] 设计模式系列课程 - jQuery的链式调用与灵活的构造函数基础上增加一个extend浅拷贝,可以为对象方便的扩展属性和方法, jquery的插件扩展机制,大致就是这 ...
- win10 uwp 应用转后台清理内存
我在写小说阅读器,把每个打开的文件的内容读到内存,因为小说都很小,所以放在内存不怕太大,但是我如果打开了一本小说,再打开一本,我不会把先打开的小说的内容清除掉,在内存.所以一旦我打开多小说的时候,内存 ...