类似a=1+1这样的表达式称为运算符,js的运算符分为算数,赋值,比较和逻辑运算符;常见的算数有:+ - * / %(加减乘除,取模),比方说5/4=4*1+1;5%4=1,js算数顺序:从左往右,先* /  %后+ ;js的值包含数字,字符串,布尔值;在算数运算中,“加号”:有字符串,按照字符串处理,没有按照数字处理;注意布尔值false=0,true=1;比方来说:1+"a"="1"+"a"="1a" ; 1+false=1+0=1; false+"a"="falsea"; 1-"1"=1-1=0; 1-"a"=NaN (not a number)不是一个数;一元二元运算符,正负号代表正负值;减号,字符串可以转换成数字,默认为数字(chrome浏览器,f12控制台,console测试)

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>javascript算数运算符</title>
</head>
<script>
//加号:有字符串按照字符串处理,没有按数字
// 1+"a"
// "1a"
// 1+false
// 1
// false+"a"
// "falsea"
// 1-"1"
// 0 //减号,字符串可以转成数字,默认数字
// 1-"a"
// NaN
// 1-"1"
// 0
// 1-"a"
NaN
</script>
<body> </body>
</html>

赋值运算符也可以叫做复合运算+ - * / %;var a=1;a=a+10;a+=10;a-=10;a=a-10;

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>赋值运算符</title>
<script>
var a=1;
// a=a+10;
//a+=10;
a-=10;
a=a-10;
console.log(a);
</script>
</head>
<body>
</body>
</html>

比较运算符 > < == === != >= <=相当于布尔值判断true还是false,注意==要求的值相等,而===要求的不光是值还有类型

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>比较运算符</title>
<script>
// a=1>2
// a=>false
// 0==false =>true
// 0===false =>false // 1>2
// false
// 0==false
// true
// 0===false
// false
// 1==true
// true
// 1===true
// false
</script>
</head>
<body>
</body>
</html>

逻辑运算符 || &&!“或” "与" “非”

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>逻辑运算符</title>
<script>
// && 布尔值&&布尔值=>布尔值
// || true||true=>true true||false=>true 有一个是真就是真 true
// !a a=true false
</script>
</head>
<body>
</body>
</html>

一元运算符++a 二元运算符a+b 一元运算符优先级高于二元运算符;++a,a先加,a++,a后加 ++自增1 --自减1 

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>一元运算符二元运算符</title>
<script>
var a=1;
a++;//a=a+1
console.log(a);
a--;//a=a-1
console.log(a);
++a;//先自增
--a;//先自减
var a=1;
var b=++a+5;
=>a=++a=a+1
// b=a+5;
// a=1
// 1
// ++a
// 2
// a+5
// 7 var a=1;
var b=a++ +5;
=>var b=a+5;
a=a++=a+1
//先加加,后加加
// a=1
// 1
// a++
// 1
// a
// 2
// a=1
// 1
// ++a
// 2
</script>
</head>
<body>
</body>
</html>

JavaScript的算数,赋值,比较和逻辑运算符的更多相关文章

  1. ajax实现给JavaScript中全局变量赋值(转)

    原文地址:ajax实现给JavaScript中全局变量赋值 问题简化: <script type="text/javascript"> var a=1 ; functi ...

  2. JavaScript解构赋值

    JavaScript解构赋值 JavaScript解构赋值为我们提供了很多方便,但是用法比较多,本文就来梳理一下.总体来说,主要就两种地方使用解构赋值,一种是数组的解构赋值,另一种是对象的解构赋值.以 ...

  3. javascript对象引用与赋值

    avascript对象引用与赋值 <script type="text/javascript"> //例子一: 引用 var myArrayRef = new Arra ...

  4. JavaScript连等赋值

    最近探究js原理的过程中遇到了这个挺有趣的问题. 先贴代码: var a = {n:1} a.x = a = {n:2} alert(a.x) //undefined 在弄懂这个之前,我们先普及一个知 ...

  5. javascript给输入框赋值的一个误区

    一. 错误的示范 如下代码所示,如果需要用javascript获取id为username1, password1的输入框的值,将其写入id为username2, password2的输入框,那么红线区 ...

  6. javascript 连等赋值问题(这是从SegmentFault转过来的一个问题)

    var a = {n:1}; var b = a; // 持有a,以回查 a.x = a = {n:2}; alert(a.x);// --> undefined alert(b.x);// - ...

  7. JavaScript对象属性赋值操作的逻辑

    对象进行属性赋值操作时,其执行逻辑如下所示: 1. 当前对象中是否有该属性?有,进行赋值操作:没有,进行下一步判断. 2. 对象的原型链中是否有该属性?没有,在当前对象上创建该属性,并赋值:有,进行下 ...

  8. Javascript里的if判断与逻辑运算符(||, &&)和比较运算符的特别之处

    写JS时不可避免要用到 if 与 逻辑运算符( ||, &&). 如果你经常阅读Js的第三方组件源码, 会发现有一种写法作为初始化变量的方法经常出现. var variable = v ...

  9. javascript 连等赋值问题

    var a = {n:1}; var b = a; // 持有a,以回查 a.x = a = {n:2}; alert(a.x);// --> undefined alert(b.x);// - ...

随机推荐

  1. 第二阶段冲刺个人任务——five

    今日任务: 合并程序(统计团队博客). 昨日成果: 优化统计团队博客结果界面的显示.

  2. allegro使用经验总结(一)

    在用allegro开发flappy bird.游戏虽然小,但是用到了allegro的方方面面,可以说是"麻雀虽小五脏俱全". 1.physfs 这是一个跨平台的读写文件的库,可以直 ...

  3. c#数字图像处理(五)全等级直方图灰度拉伸

    灰度拉伸也属于线性点运算的一种,也可以通过上一节的程序得到.但由于它在点运算的特殊性,所以把它单独列出来进行介绍. 灰度拉伸定义 如果一幅图像的灰度值分布在全等级灰度范围内,即在0~255之间,那么它 ...

  4. Pycharm运行/调试程序说明

    1.字体调整(optional) File -> Settings ->Editor->Colors & Fonts -> Size 22 2.打开程序所在文件夹hw5 ...

  5. django 启动错误:Generator expression must be parenthesized 错误信息:

    错误为: Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x ...

  6. laravel 学习笔记 — 神奇的服务容器

     2015-05-05 14:24 来自于分类 笔记 Laravel PHP开发 竟然有人认为我是抄 Laravel 学院的,心塞.世界观已崩塌. 容器,字面上理解就是装东西的东西.常见的变量.对象属 ...

  7. 基于 Serverless +企业微信打造 nCoV 疫情监控小助手

    最近的一些疫情信息很让人揪心,为了方便大家掌握疫情信息,在空闲之余做了一个关于 nCoV 的疫情监控小助手.主要的功能是通过企业微信的 WebHook 来推送疫情信息.这里将使用 Serverless ...

  8. Vue methods,watch,computed的区别

    1. computed(计算属性) 计算属性的结果会被缓存,除非依赖的响应式属性变化才会重新计算.注意,如果某个依赖 (比如非响应式属性) 在该实例范畴之外,则计算属性是不会被更新的. eg: < ...

  9. Expect & Shell: 网络设备配置备份

    1. 环境介绍及效果展示 A. centos 6.6 x64 B. tftp-server 0.49 C. 脚本目录 D. 备份目录 E. 备份邮件 2. tftp服务配置 A. [root@step ...

  10. Go语言实现:【剑指offer】二维数组中的查找

    该题目来源于牛客网<剑指offer>专题. 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一 ...