[转]Javascript 绝句

像诗一样的 Javascript 代码。

1. 取整同时转成数值型:

'10.567890'|0
//结果: 10
'10.567890'^0
//结果: 10
-2.23456789|0
//结果: -2
~~-2.23456789
//结果: -2

2. 日期转数值:

var d = +new Date(); //1295698416792

3. 类数组对象转数组:

var arr = [].slice.call(arguments)

4. 漂亮的随机码:

Math.random().toString(16).substring(2); //14位
Math.random().toString(36).substring(2); //11位

5. 合并数组:

var a = [1,2,3];
var b = [4,5,6];
Array.prototype.push.apply(a, b);
uneval(a); //[1,2,3,4,5,6]

6. 用0补全位数:

function prefixInteger(num, length) {
    return (num / Math.pow(10, length)).toFixed(length).substr(2);
}

7. 交换值:

a= [b, b=a][0];

8. 将一个数组插入另一个数组的指定位置:

var a = [1,2,3,7,8,9];
var b = [4,5,6];
var insertIndex = 3;
a.splice.apply(a, Array.concat(insertIndex, 0, b));
// a: 1,2,3,4,5,6,7,8,9

9. 删除数组元素:

var a = [1,2,3,4,5];
a.splice(3,1);

10. 快速取数组最大和最小值

Math.max.apply(Math, [1,2,3]) //3
Math.min.apply(Math, [1,2,3]) //1

(出自http://ejohn.org/blog/fast-javascript-maxmin/)

11. 条件判断:

var a = b && 1;
//相当于
if (b) {
    a = 1;
} else {
    a = b;
}
 
var a = b || 1; 
//相当于
if (b) {
    a = b;
} else {
    a = 1;
}

12. 判断IE(两种方法):

var ie = /*@cc_on !@*/false;
var ie = !-[1,];

原文地址:http://www.benben.cc/blog/?p=391

13. 把函数参数转换为数组:

Array.apply(null,arguments);  
Array.prototype.slice.call(arguments,0);

14. 一个数组中插入另一个数组:

var a=[0,1,4],b=[2,3];
[].splice.apply(a, [2,0].concat(b)); //a为 [0,1,2,3,4]

//方法二:
a.splice.apply(a,[2,0],b);// a为[0,1,2,3,4]

 

posted @ 2012-05-04 12:40  artwl  阅读(787)  评论(3编辑  收藏  举报

个人简介

var ME = {
	"name": "土豆/Artwl",
	"job": "coding",
	"languages": [
		"JS", "HTML",
                "CSS", "jQuery"
		"MVC",".NET",
		"设计模式"
	],
	"hobby": [
		"阅读", "旅游",
		"音乐", "电影"
	]
}
TOP