JavaScript之操作符篇
算数运算符
运算符 | 描述 | 例子 | 结果 |
---|---|---|---|
+ | 加法 | var num = 1 + 2; | 3 |
- | 减法 | var num = 4 - 3; | 1 |
* | 乘法 | var num = 4 * 3; | 12 |
/ | 除法 | var num = 6 / 3; | 2 |
% | 取余 | var num = 7 % 3; | 1 |
- 正常的数据运算
//字符串之间用+,会拼串- * /不会
//进行数据运算时,除'+'外,其他运算符可以自动将字符串数字隐形转成数字
var num1 = '8';
var num2 = 4;
console.log(num1 + num2);
//84//字符串拼接
//下面都是正常的运算
console.log(num1 - num2);
//4
console.log(num1 / num2);
//2
console.log(num1 * num2);
//32
console.log(num1 % num2);
//0//取余
- 进行数据运算时,除'+'外,其他运算符可以自动将字符串数字隐形转成数字
//除'+'外,其他运算符可以自动将字符串数字隐形转成数字
var num1 = '8';
var num2 = '4';
console.log(num1 - num2);
//4
console.log(num1 / num2);
//2
console.log(num1 * num2);
//32
console.log(num1 % num2);
//0
一元运算符 JavaScript中有8种常用的一元运算符
运算符 | 描述 |
---|---|
+ | 将操作数转换成数字,字符串的拼接 |
- | 将操作数转换成数字,同时变为负数 |
! | 逻辑取反运算符 |
++ | 递增 |
-- | 递减 |
delete | 删除数组或对象中特定索引的值 |
typeof | 操作数放到typeof的后面,会返回当前操作数的类型,对于数值类型可以准确返回,对于引用类型,Function会返回'function',其他都只会返回'object' |
void | void 运算符对任何值返回 undefined。 |
1.'+'的第一种用法:进行数据相加
//加法运算
var num1 = 3;
var num2 = 5;
var sum = num1 + num2;
//8
2.'+'放在数据的前面,就是取正数
var num = 6;
console.log(+num);
// 6//取正
3.'+'与字符串运算时,就是字符串连接符
// '+'与字符串运算时,就是字符串连接符
var a = 'hello';
var b = 'world';
var c = 6;
console.log(a + b);
// helloworld
//字符串和字符串,数字和字符串,用'+'就是字符串的拼接
console.log(a + b + c);
//helloworld6
4.'+'可以将数字字符串或布尔类型等隐式转换成number类型
// '+'可以将数字字符串或布尔类型等隐式转换成number类型
var a = '123';
var b = true;
//隐式转换在布尔类型中,true就是1,false就是0
console.log(+a, +b);
// 1231
-(负号)
1.正、负号可以对数字进行取正或取负,其他运算符不能转换
var num1 = 6;
var num2 = -6;
console.log(-num1);
//-6
console.log(+num1);
//6
console.log(-num2);
//6
console.log(+num2);
//-6
2.正、负号可以将字符串数字隐式转换成数字
var num1 = '20';
var num2 = '-20';
console.log(-num1);
//-20
console.log(+num1, typeof +num1);
//20 number
console.log(-num2);
//20
console.log(+num2, typeof +num2);
//-20 number
!(取反) 经常被用作条件判断时的取反操作,类型判断等,还可以用'!'将变量转换为Boolean类型
// 经常被用作条件判断时的取反操作,类型判断等,还可以用'!'将变量转换为Boolean类型var a;
if (a) {//因为a是undefined,默认为假,if 假 输出第一个
console.log('a是false');
}else{
console.log('a是true');
}var b = 111;
//因为 b被赋值,默认为真
if (b) {
console.log('b是true');
//b是true
}else{
console.log('b是false');
}var c = 111;
//因为 c被赋值,默认为真
if (!c) {//c取反后为假
console.log('!c是false');
}else{
console.log('!c是true');
}console.log(!null);
//true
console.log(!undefined);
//true
console.log(!'');
//true
console.log(!100);
//false
console.log(!'abc');
//false
++(递增)
通常用于循环语句,动画操作等。
- ++放在前面,并进行赋值:先累加,后赋值
// 递增
// ++放在前面,并进行赋值:先累加1,后赋值
var num = 1;
var a = ++num;
//a = 2
console.log("num先自加1,再赋值给a", a);
// 2
console.log("++num是"+num);
// 2
//num先自加1,再赋值给a
- ++放在后面,并进行赋值:先赋值,后累加
var num = 0;
var a = num++;
console.log(a);
// 0
console.log(num);
// 1
//先把num的值赋值给a,num再自加1
--(递减)
通常用于循环语句,动画操作等。使用方法与++类似。
delete 删除数组或对象中特定索引的值
//delete删除对象
var obj = {
name:'zhangsan',
age: 17
};
delete obj.name;
//直接通过属性名删除点语法
console.log(obj);
// {age: 17}//删除数组
var arr = [1,2,3,4,5];
//通过下标索引删除
delete arr[2];
//删除数组中的元素后,数组仍会保留该元素的内存空间
console.log(arr);
//[ 1, 2, <1 empty item>, 4, 5 ]
typeof
操作数放到typeof的后面,会返回当前操作数的类型,对于数值类型可以准确返回,对于引用类型,Function会返回'function',其他都只会返回'object'
//对象
var obj = {
name:'zhangsan',
age: 17
};
//数组
var arr = [1,2,3,4,5];
//可得对象,数组都是Object
console.log(typeof obj, typeof arr);
//object object
【JavaScript之操作符篇】void
丢弃表达式的返回值,而返回undefined
使用方式有void 表达式,void (表达式) 两种
推荐阅读
- PMSJ寻平面设计师之现代(Hyundai)
- 太平之莲
- 2.6|2.6 Photoshop操作步骤的撤消和重做 [Ps教程]
- 闲杂“细雨”
- 七年之痒之后
- 深入理解Go之generate
- 由浅入深理解AOP
- 期刊|期刊 | 国内核心期刊之(北大核心)
- 生活随笔|好天气下的意外之喜
- 感恩之旅第75天