JavaScript的几个小技巧
1.String转换数字
//String 转换数字 var oString = + "2134443"; console.log(typeof oString); //number
2.取整数的几种办法
var oNb1 = ~~3.1415926; //取整数 console.log(oNb1); //3 var oNb2 = 3.1415926>>0; //取整数 console.log(oNb2); //3 var oNb3 = 3.1415926^0; //取整数 console.log(oNb3); //3 var oNb4 = 3.1415926|0; //取整数 console.log(oNb4); //3
3.new Date() 时间转数字(时间戳)
//时间转数字(时间戳) var oTime = + new Date(); console.log(oTime); //1492664825138
4.强制转换布尔类型
//转换布尔类型 true var oBoolean = "a"; console.log(!!oBoolean); //true
5.setTime中获取其作用域外的变量
//setTimeout 中获取其作用域外的变量 for(var i = 0; i < 10; i++) { (function(i){ setTimeout(function(){ console.log(i); //0-9 },100); })(i) }
6.从数组中随机获取一个值
var arr = [11, 875 , 'as' , ggf , 512 , 'foo' , 3221, , '222' , rec , 119]; var mathArr = arr[Math.floor(Math.random() * arr.length)];
7.获取指定范围的随机数
var x = Math.floor(Math.random() * (max – min + 1)) + min;
8.获取数组中的最大值和最小值
var numbers = [5, 458 , 120 , -215 , 228 , 400 , 122205, -85411]; var maxInNumbers = Math.max.apply(Math, numbers); var minInNumbers = Math.min.apply(Math, numbers);
9.用json序列化和反序列化
var person = {name :'Saad', age : 26, department : {ID : 15, name : "R&D"} }; var stringFromPerson = JSON.stringify(person); /* stringFromPerson 结果为 "{"name":"Saad","age":26,"department":{"ID":15,"name":"R&D"}}" */ var personFromString = JSON.parse(stringFromPerson); /* personFromString 的值与 person 对象相同 */
10.使用switch/case
代替一大叠的if/else
当判断有超过两个分支的时候使用switch/case
要更快一些,而且也更优雅,更利于代码的组织,当然,如果有超过10个分支,就不要使用switch/case
了。