赞
踩
1、自增
前置++:先把变量的值加1,再进行取值操作
后置++:先取变量的值,然后再进行加1操作
- var a=20;
- ++a; //让a的值加1
- console.log(a) //21
-
- var b=20;
- b++; //让b的值加1
- console.log(b) //21
-
- var c=10
- console.log(c++) //10
- console.log(c) //取c变量中保存的值并打印 11
-
- var d=10
- console.log(++d) //11
- console.log(d) //取d变量中保存的值并打印 11
2、自减
前置--:先把变量的值减1,再进行取值操作
后置--:先取变量的值,然后再进行减1操作
- var a=20;
- --a; //让a的值减1
- console.log(a) //19
-
- var b=20;
- b--; //让b的值减1
- console.log(b) //19
-
- var c=10
- console.log(c--) //10
- console.log(c) //取c变量中保存的值并打印 9
-
- var d=10
- console.log(--d) //9
- console.log(d) //取d变量中保存的值并打印 9
注:无论前置还是后置,都既有存值操作也有取值操作,一个变量只能保存一个数据
&&符号相当于是and
- var re=A&&B
- //如果A为真,无论B是真是假都输出B
- //如果A为假,无论B是真是假,都直接输出A
- //0在做布尔判定时会判定为false
-
- console.log(2 && 1) //打印1
- console.log(0 && 2) //0 0为false,打印2
-
- var a=true
- var b=19
- if(a&&b>18){
- console.log(123) //打印123
- }else{
- console.log(456)
- }
-
- var a=false
- var b=19
- if(a&&b>18){ //a为false,a&&b输出false,然后false会转化成0,得到0<18,不符合判定条件,跳到else中运行
- console.log(123) //打印456
- }else{
- console.log(456)
- }
逻辑或操作符有两根竖线组成(||)
- var re=A||B
- //当A表达式布尔判定为true时,输出A,B不运行
- //当A表达式布尔判定为false时,则输出B
逻辑或返回值判定简单方法只要有真就返回真
注:一些其他情况
1、如果第一个操作数是对象,则返回第一个操作数
2、如果两个操作数都是 null,则返回 null
3、如果两个操作数都是 NaN,则返回 NaN
4、如果两个操作数都是 undefined,则返回 undefined
- var a = (5>4 || 3>9)
- console.log(a) //true
-
- var b = (6 || 9)
- console.log(b) //6
-
- var c = (false || undefined)
- console.log(c) //undefined
-
- var d = true
- var e = (d || "hello")
- console.log(e) //hello
逻辑非(取反)由一个叹号(!)表示
无论这个值是什么数据类型,这个操作符都会使其返回一个布尔值。
逻辑非操作符首先会将它的操作数转换为一个布尔值,然后再取反。
- console.log( !true ) //false
- console.log( !2 ) //false 操作数为非 0数值,返回false
- console.log( !"hello" ) //false 操作数是非空字符串,返回false
- console.log( !"" ) //true 操作数是空字符串,返回true
- console.log( !null ) //true 操作数 是null、undefined、NaN,返回true
- console.log( !0 ) //true 操作数是数值0,返回true
- console.log( !undefined ) //true
- console.log( !NaN ) //true
当同时使用两个逻辑非操作符时,可以将该值转换为对应的布尔值
- console.log( !!"hello" ) //true
- console.log( !!null ) //false
小于(<) 、大于(>) 、小于等于(<=)和大于等于(>=)这几个关系操作符用于对两个值进行比较,比较的规则与我们在数学课上所学的一样,判断结果结果返回true或false
- 6 < 10
- b > 20
- a >= c
- b <= d
-
- var re=20
- var re2=24
- console.log(re>re2) //false
-
- console.log( 13>16 ) //false
- console.log( 19<32 ) //true
任何操作数与 NaN 进行关系比较,结果都是 false。
- console.log( undefined>null ) //false
- console.log( 1>"a" ) //false
- connsole.log( 2<"he" ) //false
相等操作符用两个等号表示:==
不相等操作符用一个感叹号和一个等号表示:!=
相等比较原则:
1、如果是布尔值先将true转化为1,false转化为0,然后进行比较
2、如果有字符串,则先将字符串转化为数值,再进行比较
- console.log(5 == 50) //false
- console.log(1 != 2) //true
- console.log(true == 1) //true
- console.log(9 != "9") //false
一些特殊情况(可以直接背)
- console.log(null == undefined) //true
- console.log("NaN" == NaN) //false
- console.log(1 == NaN) //false
- console.log(NaN == NaN) //false
- console.log(NaN != NaN) //true
- console.log(undefined == 0) //false
- console.log(null == 0) //false
全等操作符由三个等号表示:===
不全等操作符由一个一个感叹号 两个等号表示:!==
全等:只有在两个操作数未经转换就相等的情况返回true,其余都返回false
不全等:两个操作数未经转换就不相等的情况返回true,相等返回false
- console.log(2 === 2) //true
- console.log(null === undefined) //false
- console.log("string" =="string") //true
- console.log("1" !== 1) //true
expr?A:B :expr表达式会做布尔判定,判断结果为true,执行A,判断结果为false,执行B
- var re = (3 > 2) ? 9:11 //由于3>2为真,所以执行A,也就是9,得到re=9
- console.log(re) //9
-
- var re2 = (null == undefined) ? {first:"hello"}:"world"
- console.log(re2) //{first:"hello"}
-
- var a = 18
- var b = (a>=18) ? "adult":"child"
- console.log(b) //adult
-
- var x = "good" ? "boy":"girl"
- console.log(x) //boy
in运算符:检查右侧对象是否拥有左侧属性名,有的话就返回true,否则返回false
- var a = {name:"Niko",age:20,telephone:12345678,address:"nan"}
- console.log("name" in a) //true
- console.log("agge" in a) //false
- console.log("address" in a) //true
- console.log("telephone" in a) //true
- console.log("toString" in a) //true
- console.log(20 in a) //false
- var re=A,S,D,F,G //re=G
- //逗号隔开的表达式会全部执行,最后一个运行的表达式的结果就是逗号运算符的结果
- var a,s,d,f=22;
- //隐式操作 var a;var s;var d;var f=22
-
- var re=(11+12,33,55);
- console.log(re) //55
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。