JavaScript学习笔记第一天——运算符

JavaScript学习笔记第一天——运算符

 

JavaScript的运算符包括算数运算符、逻辑运算符、比较运算符、赋值运算符等,运算符优先级由高到低排列如下图所示。

 其中值得注意的运算符有&&、||、++、--、+。

1、运算符“+”

   使用运算符(+)时,如果某个运算数是字符串,采用下列规则:

①如果两个运算数都是字符串,那么加性运算符(+)的意义是连接符,将第二个字符串连接到第一个字符串上;

②如果只有一个运算数是字符串,把另一个运算数转换成字符串,结果是两个字符串连接成的字符串。

2、&&、||

在js逻辑运算中,0、""、null、false、undefined、NaN 都会判断为为false,其他的皆为true。

&&和||遵循“短路”原理,如&&中第一个表达式为假就不会去处理第二个表达式,而||正好相反第一个表达 式为真就不会去处理第二个表达式,。需要注意的是在js中它们的返回值。

var attr = true&&4;

alert(attr);//结果不是true或false,而是4.

var attr = attr||"";//常用来判断一个变量是否已定义,如果没有定义给它一个初始值,用来定义默认值

更深一层次,js中的&&和||可以用来精简代码,需要注意的是这会降低代码的可读性,注意添加注释。

if(a>=5){

alert("sss");

}

可以写成:

a>=5 && alert("sss");

假设对成长速度显示规定如下: 
成长速度为5显示1个箭头; 
成长速度为10显示2个箭头; 
成长速度为12显示3个箭头; 
成长速度为15显示4个箭头; 
其他都显示都显示0各箭头。

实现方法:

①差一点的if...else

var add_level = 0; 
if(add_step == 5){ 
add_level = 1; 

else if(add_step == 10){ 
add_level = 2; 

else if(add_step == 12){ 
add_level = 3; 

else if(add_step == 15){ 
add_level = 4; 

else { 
add_level = 0; 

②强大版

var add_level = (add_step==5 && 1)||(add_step==10 && 2)||(add_step==15 && 3)||(add_step== 20 && 4)||0;

③更强版

var add_level = {'5':1,'10':2,'15':3,'20':4}[add_step]||0;

 

3、++、--

前置的++、--为马上执行,后置的++、--当再一次使用该变量时才执行++、--,需注意++、--的优先级比算 术运算符的优先级高。下面有几个小例子:

var a = 100;

var b = 100;

var c = ++a +b;//201

var c = a+++b;//200

var c = a+++b+a;//301

var c = a++-10+--a;//c=190,a=100

function test(){

return a--;

}

alert(test());//100

alert(a);//99

posted @ 2014-06-17 13:56  刺客隐  阅读(117)  评论(0编辑  收藏  举报