运算符

运算符

“+”作用可以当做数学运算也可以是字符串链接

任何数据类型跟字符串相加都等于字符串

var a = 'a' + true + 1 ; //打印出来的是什么
var b = 1 + 'a' + 1 + 1; //打印出来的是什么
var c = 1 + 1 + 'a' + 1 + 1; //打印出来的是什么
var d = 1 + 1 +'a' + ( 1 + 2 ); //打印出来的是什么
var e = 0/0;       //这里e的值是NaN,应该得出的是一个数字类型的数,但是没法表达就用NaN表示,但是是数字类型
var f = 1 / 0 ;     //答案是正无穷infinity 
var g = -1 / 0 ;  //答案是负无穷 -infinity
var h = 5 % 2 ;   //这里求的是5除于2的余数
var i = 1 % 5 ;    //1除于5的余数,商0余1
var j = 4 % 6 ;    //4
var k = 4 % 5 ;   //4
var l = 3 %c4 ;   //4

等号 = 的优先级最低

括号()的优先级最高

赋值的顺序是自右向左,计算的顺序是自左向右

var m = 1 ;  
var n = m++ +1;    
document.write(m);
document.write(n);
//++写在后面就后运行,先计算m+1再赋值给n,然后再n++
var o = 1 ;  
var p = ++o +1;    
document.write(o);
document.write(p);
var q = 1 ;  
var r= q-- + --q;    
document.write(r);
//这里是先执行--q,此时q变成了0,此时第一个q也变成了0,那么答案是什么自己测试哈

再来练习一下

var s = 1 ;  
var t= --s + --s;    
document.write(t);
var u = 1 ;   
document.write(u++);
document.write(u);
var v = 1 ;   
document.write(++v);
document.write(v);
var dd = 10;   
var ee = ++dd - 1 + dd++;
document.write(ee);
document.write(dd);

w++是w += 1的写法

计算出下面的结果

var x = (10*3 - 4/2 +1) % 2 ;
var y = 3 ;
var y %= x + 3 ;
document.write(x++);
document.write(--y);

给你两个变量且赋值,怎么交换两个变量的值

var aa = 222;
var bb = 888;
方法一:
var cc = aa;
aa = bb;
bb = cc;
document.write(aa,bb);
方法二:
var aa = aa + bb;
bb = aa - bb;
aa = aa - bb;
document.write(aa,bb);

比较运算符

字符串的比较比的是ASCII码

var ff = 1 == 2 ;  //这里是说1等不等于2,由于1肯定不等于2,所以答案为false
var gg = NaN == NaN ;  //NaN不等于任何东西包括自己本身
var hh = undefined == undefined ;  //答案为true
var ii = infinity == infinity ;  //答案为true

逻辑运算符

&& 与运算符

如果是两个表达式在比较
第一个如果是false,不看后面的是什么,直接输出第一个的答案
第一个如果是true,第二个也是true,返回的结果就是第二个
那如果是多个表达式呢?
只要遇到false,就返回结果
如果全是true,就返回最后一个true的值

var jj = 1 && 2;
var kk = 1 && 2 + 2 ;
var ll = 0 && 2 + + ;
var mm = 1 && 1 && 8 ; 

|| 或运算符

简单点就是,碰到真的就返回
如果全是假就返回最后一个假的值

var nn = 1 || 3 ;
var oo = 0 || 3 ;
var  pp = 0 || false ;

!非运算符

先转成布尔值,再取反
结果不是true就是false
那有哪些值是false呢?(一共六个)
有:undefined,null,NaN,“”(空的字符串),数字0,false

var qq = ! 123 ;
var rr = ! "" ;
var ss = !! "" ;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,267评论 0 13
  • 运算符是处理数据的基本方法,用来从现有的值得到新的值。JavaScript 提供了多种运算符,本章逐一介绍这些运算...
    许先生__阅读 631评论 0 3
  • 运算符是处理数据的基本方法,用来从现有的值得到新的值。JavaScript 提供了多种运算符,本章逐一介绍这些运算...
    徵羽kid阅读 732评论 0 0
  • 表达式 表达式是由数字、运算符、数字分组符号(如括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合...
    劼哥stone阅读 600评论 0 4
  • 表达式和运算符 程序中最简单的表达式就是,程序中的常量 变量名也是一种简单的表达式 复杂的表达式是由简单的表达式组...
    zhaolion阅读 1,681评论 3 12