JavaScript操作数

操作符包括算数运算符一元运算符赋值运算符、逻辑运算符以及三目运算符

算数运算符包括加、减、乘、除、取余(+、-、*、/、%),用于正常的数据运算,需要注意的是在进行数据运算的时候,除了+以外,其他的运算符在进行数据运算的时候可以把字符串类型的数字隐形转换成数字。

var num = "8"

var num1 = 4

console.log(num+num1)//84

console.log(num-num1)//4

console.log(num*num1)//32

console.log(num/num1)//2

console.log(num%num1)//0

一元运算符

正号(+)、负号(-)、逻辑取反运算符(!)、递增(++)、递减(--)、删除(delete)、typeof、void

正号(+)的用法:
1.用于数据相加(等同于数字相加的算数运算)
2.+放在数据的前面,表示取正数;
3.+和字符串运算的时候,被当作字符串的连接符
4.'+'可以将数字字符串或布尔类型等隐式转换成number类型,+要放加在数据的前面(注意!)
var a = '123';
var b = true;
console.log(+a, +b); // 123  1
负号(-)
1.正号负号可以对数字进行取正或者取负,其他的符号不能进行取正取负的操作
2.正、负号可以将字符串数字隐式转换成数字,+、-要放加在数据的前面(注意!)
var a = '123';
console.log(-a); // -123 
console.log(typeof -a);//number
取反(!)
经常被用作条件判断时的取反操作,类型判断等,还可以用'!'将变量转换为Boolean类型
除了null/undefined/''(空字符串)/0取反转换成布尔值是true以外,其他的都是false
var a;
if (!a) {}
console.log(!0);//true
console.log(!null);  //true
console.log(!undefined);  //true
console.log(!''); //true
console.log(!100);  //false
console.log(!'abc');  //false
递增(++)和递减(--)
通常用于循环语句,动画操作等,在使用的时候要注意符号的位置,  符号在前面和在后面表达的意思是不一样的
++放在前面,并进行赋值的时候,执行的操作时先累加再赋值,例如:
var num1 = 0;
var a = ++num1
console.log(a)//1 
console.log(num); // 1
***num1先自加一再赋值给变量a
++放在后面,并进行赋值的时候,执行的操作时先赋值再累加,例如:
var num = 0;
var a = num++;
console.log(a); // 0
console.log(num); // 1
****先把num的值赋值给a,num再自加1
递减方法符号的使用方法和递增符号类似
delete:删除数组或者是对象中特定索引的值
var obj={
name:'zhangsan',
age:52
}
delete obj.name;
console.log(obj);//{age:52}
var arr = [1,2,3,4,5,6]
delete arr[3]
console.log(arr)//[ 1, 2, 3, <1 empty item>, 5, 6 ]
typeof用来判断当前操作数的数据类型,操作数放到typeof的后面,会返回当前操作数的类型,对于基本类型可以准确返回,对于引用类型,Function会返回'function',其他都只会返回'object'
基本数据类型
var a = 1
var b ='1'
var c =null
var d =undefined
var f =true
console.log(typeof a,typeof b,typeof c,typeof d,typeof f)//number string object undefined boolean
引用数据类型
var obj = {
        name:'zhangsan',
        age: 17
      };
      var arr = [1,2,3,4,5];
      var a =function(){
        console.log("123");
      }
console.log(typeof obj, typeof arr,typeof a); //object object function
void:丢弃表达式的返回值,返回undefined
使用方式:
1.void表达式
2.void(表达式)
console.log(void(1+6)); //undefined

赋值运算符

=赋值运算符向变量赋值

var a = 7//把=右边的值赋值给左边的变量

+= 赋值运算符向变量添加值

var a = 7
a +=8
console.log(a)//15把+=右边的值加给左边的变量

-= 赋值运算符从变量中减去一个值。

var a = 7
a -=8
console.log(a)//-1

*= 赋值运算符相乘变量。

var x = 7;
x *= 8; 
console.log(x)//56 把*=右边的值和变量相乘

/= 赋值运算符对变量相除。

var x =8 ;
x/=4
console.log(x)//2变量x除以/=右边的值

%= 赋值运算符把余数赋值给变量。

 var x =7 ;
    x%=4
    console.log(x)//3

逻辑运算符(&&、||、!)

&&(与):同真才为真,有假则假

可应用于任意数值。如果有一个操作数不是布尔类型,逻辑与就不一定返回boolean类型

情况1:如果第一个操作数是null,NaN,undefined,false,0,""可被转换为false的值的时候就返回操作数本身
console.log(null && 'world'); //null
情况2:当第一个表达式为真,整个表达式的结果取决于第二个表达式,返回第二个表达式
console.log('hello' && 'world'); //world
情况3:当第一个表达式为假,整个表达式的结果就可以确定为假,返回第一个表达式
console.log(false && 'world'); //false
情况4:[null,NaN,undefined,false,0,""]直接返回该操作数
console.log(''&&123);  //''  空字符串
console.log(0&&null);  //0
console.log(123&&345); //345
console.log(123&&undefined); //undefined

||(或):有真才为真,同假为假

情况1:如果两个或多个操作数都是null,NaN,undefined,false,0,""可被转换为false的值的时候返回最后一个操作数。
console.log(null || false); //false
情况2:如果第一个操作数是null,NaN,undefined,false,0,"" 则返回第二个操作数。
console.log(null || 'hello'); //'hello'
情况3:如果第一个操作数是真,直接返回第一个操作数。
console.log(123||345);   //123

总结:当第一个表达式为真,整个表达式的结果就可以确定,返回第一个表达;当第一个表达式为假,整个表达式的结果取决于第二个表达式,返回第二个表达式。有一个为true结果就为true,同时为false结果才为false

!(not):经常被用作条件判断时的取反操作,类型判断等,还可以用'!'将变量转换为Boolean类型

var a;
if (!a) {}
console.log(!0);//true
console.log(!null);  //true
console.log(!undefined);  //true
console.log(!''); //true
console.log(!100);  //false
console.log(!'abc');  //false

JavaScript中的三目运算符用作判断时

基本语法为: expression ? sentence1 : sentence2

当expression的值为真时执行sentence1,否则执行 sentence2

var age = 19;
var result = age > 16 ? "成年人":"未成年人";
// 当age大于16岁时,条件为真,执行sentence1,其次反之
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值