您的位置:首页 > Web前端 > JavaScript

JavaScript学习笔记——操作符

2016-03-04 16:23 405 查看
一元操作符

只能操作一个值得操作符叫做 一元操作符 。

1、递增递减操作符

递增和递减操作符有两种类型:前置性和后置型。前置型位于操作的变量之前, 先执行值的变化然后求值 。 后置型位于操作的变量之后, 先执行求值然后执行值的变化 。

前置型:
var age = 29;

var anotherage==++age-2;

alert(age);        //30

alert(anotherage); //28


后置型:
var num1 =2;

var num2=20;

var num3 = num1-- + num2; //22

var num4=num1+num2;        //21


2、一元加和减操作符

var s1="01";
var s2="1.1";
var s3="z";
var b = false;
var f = 1.1;
var o ={
valueOf:function(){
return -1;
}
}


加操作符
s1 = +s1;//值变成数值1

s2 = +s3;//值变成数值1.1

s3 = +s3;//值变成NaN

b = +b;//值变成数值0

f = +f;//值仍是1.1

o = +o//值变成-1;


减操作符
s1 = -s1;//值变成数值-1

s2 = -s3;//值变成数值-1.1

s3 = -s3;//值变成NaN

b = -b;//值变成数值0

f = -f;//值仍是-1.1

o = -o//值变成1


位操作符

1、按位非(~)

按位非操作的本质:操作数的负值减1。

var num1 = 25;//二进制00000000000000000000000000011001
var num2 = ~num1;//二进制11111111111111111111111111100110
alert(num2);-26


2、按位与(&)

1 & 1 = 1

1 & 0 = 0

0 & 1 = 0

0 & 0 = 0

3、按位或(|)

1 | 1 = 1

1 | 0 = 1

0 | 1 = 1

0 | 0 = 0

4、按位异或(^)

1 ^ 1 = 0

1 ^ 0 = 1

0 ^ 1 = 1

0 ^ 0 = 0

5、左移(<<)

向左移位后,原数值的右侧多了n个空位,用0 补齐,左移不移符号位

6、有符号右移(>>)

与左移正好相反,符号位不变

7、无符号右移(>>>)

正数与有符号数相同,负数移动时符号位也会随之移动。

布尔操作数

1、逻辑与(&&)

true && true = true

true && false = false

false && true = false

false && false = false

如果第一个操作数是对象,返回第二个操作数;

如果第二个操作数是对象,只有在第一个操作数是true时返回该对象;

如果有一个操作数是null,NaN或undefined,分别返回null,NaN,undefined。

2、逻辑或(||)

true || true = true

true || false = true

false || true = true

false || false = false

如果第一个操作数是对象,返回第一个操作数;

如果两个操作数都是对象,返回第一个操作数;

如果第一个操作数求值结果是false,返回第二个操作数;

如果有一个操作数是null,NaN或undefined,分别返回null,NaN,undefined。

3、逻辑非(!)

如果操作数是一个对象,返回false;

如果操作数是一个空字符串,返回true;

如果操作数是一个非空字符串,返回false;

如果操作数是0,返回true;

如果操作数是非0值,包括Infinity,返回false;

如果操作数是null,NaN或undefined,返回true。

乘性操作符 乘法、除法和求模

加性操作符 加法和减法

关系操作符 <、>、<=、>=

var result = "Brick"<"alphbet"; //true


因为B编码为66,a是97,所以为true

var result = "Brick".toLowerCase() < "alphbet".toLowerCase(); // false


var result = "23"<"3";//true


字符串”23“小于字符串”3“

var result = 23 < 3//false


var result = "a" < 3//true


字母a被转换为了NaN

相等操作符

1、相等于不相等(== 和!=)

两个操作数相等,返回true,不相等返回false

不同类型的操作数会进行强制转换之后进行比较

null == undefined

2、全等与不全等

不进行强制转换,进行比较

null !== undefined

条件操作符(?:)

var max = (num1 > num2) ? num1 : num2


赋值操作符

乘赋值 *= 除赋值/= 模赋值 %= 加赋值 += 减赋值-=

逗号操作符

var num = (1,2,3,4,5);//num值是5
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript