所谓的奇淫巧技对于多维数组,我不赞成楼主的做法,我认为这样更好(易读、易引用): var A=[ [1, 2], [3, 4] ];楼主的第3例子“遍历正则结果”也不好,我看了你的例子目的是提取数字到数组里去。 首先,match已经可当一个数组用于遍历了,如果不需要改变就无需copy到msg里去。 如果确需copy到一个普通数组,也可以更简单有效的实现: var str = "a1b2c3d4e5f6g7h8i9j0k"; var msg = str.replace(/\D/g,'').split(''); alert(msg);我也举一个奇淫巧技:整数前补0网上搜的笨方法: function pad(num, n) { var len = num.toString().length; while(len <n){ num = "0" + num; len++; } return num; } alert(pad(3,6)); //000003 奇淫巧计法1: function pad(num, n) { return (Math.pow(10,n)+num+'').substr(1); //缺点:位数长度有限,15位以内。 } alert(pad(3,6)); //000003奇淫巧计法2:(推荐) function pad(num, n) { y='00000000000000000000000000000'+num; //爱几个0就几个,自己够用就行 return y.substr(y.length-n); } alert(pad(3,6)); //000003
var A = {}; A[[0, 0]] = 1; A[[0, 1]] = 2; A[[1, 0]] = 3; A[[1, 2]] = 4;学习了
喜欢LZ发的帖子、写的博客,LZ要保持热情呀,多带带我这样的菜鸟。。~~JF
第2个列子小量信息用字面量比较方便,但如果数组是100*100那就另说。 第3个例子导入数组只是为了方便打印,如果单纯的转为数组split更好。 补前导字符的方法不错,我一般用正则。 var color =0xff10; //var str = "#" + /.{6}$/.exec("00000" + color.toString(16)); var str = "#" + (Math.pow(16, 6) + color).toString(16).substr(1); alert(str);
瞻仰下牛人,留痕 bucuo
仰望牛人,楼主的JS确实很酷,以前看了楼主的烟花DEMO,真是太佩服了
var a = +("12"); var b = +("34");这种技巧不提倡吧,出于代码的可读性和维护性 今天是你这么写,改天换个PG来维护你这本代码,读到这个地方不卡倒才怪
楼主一直是我偶像 csdn的导航树是你写的牛B轰轰的
jquery 开头几行!也算一个技巧? // Map over jQuery in case of overwrite _jQuery = window.jQuery, // Map over the $ in case of overwrite _$ = window.$, // Use the correct document accordingly with window argument (sandbox) document = window.document,
所以, var now = +new Date;等于 var now = new Date().getTime();
csdn的导航树是你写的牛B轰轰的
2、多动手,多做demo,熟能生巧,通过实践获得认知才够真实和深刻;
3、把你积累的经验分享出来,一是帮助更多的人少走弯路,另一个是激发自己更上一层,否则你误以为已经掌握了核心技术而止步;
4、编码上要规范、简单,有标准方法一定用标准方法,能两三句代码就实现的功能不必再次封装,简单而又规范的代码让人接手和自己维护都容易;
5、尽最大可能重用升级自己写过的代码,代码只有执行的次数越多才会向越稳定的方向发展。
var A=[
[1, 2], [3, 4]
];楼主的第3例子“遍历正则结果”也不好,我看了你的例子目的是提取数字到数组里去。
首先,match已经可当一个数组用于遍历了,如果不需要改变就无需copy到msg里去。
如果确需copy到一个普通数组,也可以更简单有效的实现:
var str = "a1b2c3d4e5f6g7h8i9j0k";
var msg = str.replace(/\D/g,'').split('');
alert(msg);我也举一个奇淫巧技:整数前补0网上搜的笨方法:
function pad(num, n) {
var len = num.toString().length;
while(len <n){
num = "0" + num;
len++;
}
return num;
}
alert(pad(3,6)); //000003
奇淫巧计法1:
function pad(num, n) {
return (Math.pow(10,n)+num+'').substr(1); //缺点:位数长度有限,15位以内。
}
alert(pad(3,6)); //000003奇淫巧计法2:(推荐)
function pad(num, n) {
y='00000000000000000000000000000'+num; //爱几个0就几个,自己够用就行
return y.substr(y.length-n);
}
alert(pad(3,6)); //000003
第3个例子导入数组只是为了方便打印,如果单纯的转为数组split更好。
补前导字符的方法不错,我一般用正则。
var color =0xff10;
//var str = "#" + /.{6}$/.exec("00000" + color.toString(16));
var str = "#" + (Math.pow(16, 6) + color).toString(16).substr(1);
alert(str);
bucuo
var b = +("34");这种技巧不提倡吧,出于代码的可读性和维护性
今天是你这么写,改天换个PG来维护你这本代码,读到这个地方不卡倒才怪
csdn的导航树是你写的牛B轰轰的
// Map over jQuery in case of overwrite
_jQuery = window.jQuery, // Map over the $ in case of overwrite
_$ = window.$, // Use the correct document accordingly with window argument (sandbox)
document = window.document,
所以,
var now = +new Date;等于
var now = new Date().getTime();
另,俺也写过5年的Delphi,还是菜鸟,现在也开始写Js了。
怎么也比不过伴水