JavaScript操作符

1.递增与递减操作符
  • 前置递增和递减操作时,变量的值都是在语句被求值之前改变的
var a = 29;
var b = --a + 2;          
console.log(a);       //28;执行了--a
console.log(b);       //30;先执行--a(得到28)再执行+2(得到30)
  • 后置递增和递减操作是在包含他们的语句被求值之后才执行
var num1 = 2;
var num2 = 20;
var num3 = num1-- + num2;
var num4 = num1 + num2;
console.log(num3);         //22;先执行num1 + num2(得到22),再执行num1--(得到num1=1)
console.log(num4);         //21    
2.一元加减操作符
  • 一元操作符放在数值前面
var num = 20;
num = +num;            //20;一个+放在数值前对数值不产生任何影响
  • 一元操作符放在非数值前面
console.log(+new Date());              //1477485251541;先调用时间对象的valueOf()方法
console.log(+"4");                     //4;字符串解析
console.log(+"s");                     //NaN;字符串解析
console.log(+false);                   //0;false被转换为0
console.log(+true);                    //1;true被转换为1
3.布尔操作符
  • 逻辑非操作符也可以用于将一个值转换为其对应的布尔值;同时使用两个逻辑非操作符,第一个非操作符返回一个布尔值,第二个非操作符对该布尔值求反,于是就得到了这个值真正对应的布尔值
console.log(!!true);         //true
console.log(!!0);            //false
console.log(!!9);            //true
console.log(!!"sun");        //true
console.log(!!null);         //false
console.log(!!undefined);    //false
console.log(!!NaN);          //false
4.加法操作符操作字符串
  • 两个操作数都是字符串,则自然拼接
  • 只有一个操作数是字符串,则将另一个操作数转换为字符串,再自然拼接
console.log(1+1);                      //2;正常计算
console.log("2"+"4");                  //24;字符串拼接
console.log(2+"4");                    //24;字符串拼接 
console.log( (5 + 5) + "0" );          //100;先对()里的数值计算,再拼接
5.相等操作符
  • 相等(==)和不相等(!=),先转换再比较
  • 全等(===)和不全等(!==),仅比较不转换
console.log( 55 == "55" );         //true;先将字符串转为数值再比较
console.log( 55 === "55" );        //false;不转换,数据类型不同,因此不相等
  • 比较相等性之前,不能将nullundefined转换成其他任何值
console.log( null == undefined );         //true;类似的值
console.log( null === undefined )         //false;不同类型
6.操作符优先级
  • typeof的优先级相当的高,比加减乘除等都高
 typeof 2*3;                //NaN
 typeof (2*3);              //"number"
 typeof 2+3;                // "number3"
  • ++、--是右结合的操作符(优先级最高的几个都是右结合),而且比加减乘除优先级高;同时自增、自减运算符的运算数得是可以放在赋值符号左边的值,所以不能是常数
 4++;                  //ReferenceError: Invalid left-hand side expression in postfix operation(提示左侧是无效的表达式)
var a=0,b=0;
 console.log( a+++b );                //0
 console.log(a);                      //1;++优先级比+高,所以相当于(a++)+b
 console.log(b);                      //0
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一元操作符++,--操作符操作示例 +,-操作符+基本是原样输出 布尔操作符逻辑非 ! 如果前面再加上个!会看起来...
    togeek阅读 601评论 3 3
  • 一元操作符 只能操作一个值的操作符。 递增和递减操作符 前置型:位于要操作的变量之前; 后置型:位于要操作的变量之...
    Sketch阅读 348评论 0 0
  • 变量 声明变量 命名变量区分大小写的语言第一个字符是字母或下划线_,数字不能作为第一个字符字符必须是字母,数字或者...
    flyingtoparis阅读 834评论 0 0
  • 感恩工作时间的自由!谢谢! 感恩孩子努力学习,谢谢! 感恩婆婆在我辅导老大作业的时候帮我照看弟弟!谢谢! 感恩妹妹...
    深山_132f阅读 188评论 0 1
  • 最近的我又回到了那个十年前的梦境中,一个冷酷、傲娇、天才的江直树对着我温柔的笑,似乎替代了袁湘琴,由我去完成...
    姜希米励阅读 526评论 0 0