码迷,mamicode.com
首页 > 其他好文 > 详细

《高级程序设计》3.5 操作符

时间:2015-02-06 18:21:46      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:

javascript描述了一组用于操作数据值的操作符,包括算数操作符(如加号和减号)、位操作符、关系操作符和相等操作符。它们能适用于字符串、数字、布尔值,甚至对象。不过在应用于对象时,相应的操作符通常都会调用对象的valueOf()和(或)toString()方法,以便取得可以操作的值。

1、一元操作符

1)递增和递减操作:

分为两个版本:前置型和后置型。

后置递增和递减与前置递增和递减有一个非常重要的区别,即递增和递减操作是包含它们的语句被求值之后才执行。在不包含其它操作符(单操作)时区别不大,但在当语句中还包含其他操作符时,区别非常明显。

var num1 = 2;
var num2 = 20;
var num3 = 20;
--num2;
num3--;
alert(num2);  //19
alert(num3);  //19
var num4 = ++num2 + num1;
var num5 = num3++ + num1;
alert(num4); //22
alert(num5); //21
alert(num2); //20
alert(num3); //20

递增和递减操作符遵循下列规则;

  • 在应用于一个包含有效数字字符的字符串时,先将其转换为数字值,再执行加减1的操作。字符串变量变成数值变量
  • 在应用于一个不包含有效数字字符的字符串时,将其变量的值设为NaN。字符串变量变成数值变量
  • 在应用于布尔值false时,先将其转换为0再执行加减1的操作。布尔值变量变成数值变量
  • 在应用于布尔值true时,先将其转换为1再执行加减1的操作。布尔值变量变成数值变量
  • 在应用于浮点数值时,执行加减1的操作
  • 在应用于对象时,先调用对象的valueOf()方法以取得一个可供操作的值。然后对该值应用前述规则。如果结果是NaN,则再调用toString()方法后再应用前述规则。对象变量变成数值变量
    var s1="2";
    var s2="z";
    var b=false;
    var f="1.1";
    var g="1234blue";
    var o={
        valueOf:function(){
            return -1;
        }
    };
    s1++; //3
    s2++; //NaN
    b++; //1
    f--; //0.10000000000000009
    o--; //-2
    g--; //NaN 
//    注意区别
    var g1="1234value"
    var h=Number(g1);  //NaN
    var j=parseInt(g1);  //1234

2)一元加和减操作

2、位操作符

3、布尔操作符

4、乘性操作符

5、加性操作符

6、关系操作符

7、相等操作符

8、条件操作符

9、赋值操作符

10、逗号操作符

 

《高级程序设计》3.5 操作符

标签:

原文地址:http://www.cnblogs.com/zhaojieln/p/4277588.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!