JS奇技淫巧

一、if(){}else if(){}else... 太复杂? switch代码太多 ?试试 && 和 object吧

var add_level = (add_step==5 && 1) || (add_step==10 && 2) || (add_step==12 && 3) || (add_step==15 && 4) || 0; //通过&&运算符来取值

var add_level={'5':1,'10':2,'12':3,'15':4}[add_step] || 0;   //通过对象的属性来取值

*拓展&&符号:1.参与方法执行   flag == true && function(){ //do something ; }(); //相当于 if(flag == true){ function(){// do something;} }

   2.取值:var a = {};a.name = "n"; 

var b = a && a.name ;//相当于 if(a && a.name){ b = a.name ;}

var b = a.name && a ;//相当于 if(a && a.name){ b = a;}

var b = a && a.age ; // b = undefined,相当于 if(a && a.age){ b = a.age; }

二、转成相应进制,如14进制(注意两者的区别)

1.parseInt(string,radix)

parseInt("14sad",14) = 18;// 基数为14进制,结果即 1*14的一次方 + 4*14的0次方 = 18

2.parseInt().toString(radix)

parseInt("14das").toString(14) = “10”; // 转成14进制后的字符串

三、JS中 0、""、null、false、undefined、NaN 都会判为false,其他都为true

运用 || 或 && 的时候特别注意0,如:a = 0;b = a || 3;结果 b = 3; 因为会认为 a 是 false ;再比如 :c = a && alert("有值");结果不会弹框

拓展:如果要判断是否有值,需要排除值为0的情况,可以  if(!(a === null || typeof a == "undefined" || a == "")){ alert("有值"); }// 注意是全等 === null


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值