Math 对象
Math.floor(12.5666) 12 舍弃小数 Math.round(12.5666) 13 经行四舍五入 Math.abs(12.5666) 12 返回绝对值 Math.max(a, b) 返回最大值 Math.min(a, b) 返回最小值
字符串截取
substr(start, length) *start必填实例 "0.fcx".substr(2) "fcx"
substring(start, end)
在最大和最小数字中随机生成一个数字
var x = Math.floor(Math.random() * (max - min + 1)) + min;
生成一个100长度的数组
var numbersArray = [], max = 100; for (var i = 1; numbersArray.push(i++) < max;);
生成一个固定长度的随机字母和数字的组合
function generateRandomAlphaNum(len) { var rdmString = ""; for (; rdmString.length < len; rdmString += Math.random().toString(36).substr(2)); return rdmString.substr(0, len); }
打乱一个数组
var numbers = [5, 458, 120, -215, 228, 400, 122205, -85411]; numbers = numbers.sort(function() { return Math.random() - 0.5 });
排序一个数组
var numbers = [5, 458, 120, -215, 228, 400, 122205, -85411]; numbers = numbers.sort(function(a, b) { return a - b });
js去除空格
String.prototype.trim = function() { var regEx = /\s+/g; // 合并多个空白为一个空白 // var regEx=/(^\s*)|(\s*$)/g; // 清除两边的空格 // var regEx = /^.*\/([^\/\?]*).*$/; // 获取文件全名 // var regEx = /^.*\/[^\/]*(\.[^\.\?]*).*$/; // 获取文件扩展名 return this.replace(regEx, ‘ ‘); };
讲一个数组增加到另一个数组中, 返回数组长度, 这里讲改变array1的长度为7 array2不变, 区别于concat其实concat可以直接实现两个数组的连接, 但是它的返回值是一个新的数组。 这里是直接改变array1
var array1 = [12, "foo", { name: "Joe" }, -2458]; var array2 = ["Doe", 555, 100]; Array.prototype.push.apply(array1, array2);
//检查是否是数字 isFinite 检查是否是非数字 或者无穷大
function isNumber(n) { return !isNaN(parseFloat(n)) && isFinite(n); }
获得一个数组中最大最小值
var numbers = [1, 2, 34, 5, 3, 4, 6, 7, 8, 5]; var maxnumber = Math.max.apply(Math, numbers); var minNumber = Math.min.apply(Math, numbers);
清空一个数组 设置length = 0
var myArray = [12, 222, 1000]; myArray.length = 0;
删除数组中的项 不要用delete 要用splice
因为delete.item[3] 并没有真正的删除, 只是把该项变成undefined而已 item.splice(3, 1) 才是真正的删除 从位置3开始 删除1个长度的内容
改变数组的长度可以截取数组( 如果数组改变的长度大于数组本身, 就会用undefined填充长度)
var myArray = [12, 222, 1000]; myArray.length = 2;
逻辑判断OR / AND
var foo = 10; foo == 10 && dosomething(); 相当于满足前者 执行后者 foo == 10 || dosomething(); 相当于当前面不满足时候才执行后者
使用map遍历数组(IE9以下不支持)
var sq = [1, 2, 3, 4].map(function(item) { return item * item })
四舍五入保留N位小数( 小数点后4位)
var num = 2.443242342; num = num.toFixed(4);
console.log 和console.dir区别
log 输出内容 dir输出对象
with方法作用是可以直接使用对象的属性 不用.属性执行 建议不用, 会生成全局变量
with(object) {}
JSON序列化 反序列化
JSON.parse() JSON.stringify()
数组遍历 定义变量len可以防止每次遍历的时候都重新计算length长度
for (var i = 0, len = arr.length; i < len; i++) {}
setTimeOut setInterval 传入的应该都是方法体 不能传入字符串, 因为字符串它会通过eval 自动转成方法体影响效率
setTimeOut(‘doSomethingPeriodically()‘, 1000) setInterval(doSomethingPeriodically, 1000)
switch case 语句在3 - 10 条的时候效率高于if else
不要在循环里面写try -catch 因为catch捕获的错误对象会创建一个变量, 每次都重新创建
原文:http://www.cnblogs.com/youtx/p/6377928.html