原帖:http://topic.csdn.net/u/20100421/16/817ef7c6-6675-49e1-bf39-b4a96c08b41e.html
1、字符串转换为数值
常规方法
- var a = parseFloat("12");
- var b = parseInt("34");
可以用
- var a = +("12");
- var b = +("34");
差别:
- parseInt("12px"); // 12
- +("12px"); // NaN
2、**数组
- var A = new Array(2);
- A[0] = new Array(2);
- A[1] = new Array(2);
- A[0][0] = 1;
- A[0][1] = 2;
- A[1][0] = 3;
- A[1][1] = 4;
- //or
- var A = [[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]];
可以用
- var A = {};
- A[[0, 0]] = 1;
- A[[0, 1]] = 2;
- A[[1, 0]] = 3;
- A[[1, 2]] = 4;
- // 类似
- A["0,0"] = 1;
- A["0,1"] = 2;
- // 实例:操作100*100的二维数组
- var A = {};
- for (var x = 0; x < 100; x++)
- for (var y = 0; y < 100; y++) {
- A[[x, y]] = x * 100 + y;
- }
3、遍历正则匹配
常规方法
- var str = "a1b2c3d4e5f6g7h8i9j0k";
- var match = str.match(//d/g, str);
- var msg = [];
- for(var i = 0; i < match.length; i++) {
- msg.push(match[i]);
- }
- alert(msg);
可以利用String.replace方法
- var str = "a1b2c3d4e5f6g7h8i9j0k";
- var msg = [];
- str.replace(//d/g, function() {
- msg.push(arguments[0]);
- });
- alert(msg);
单纯处理成数组可以用
- var str = "a1b2c3d4e5f6g7h8i9j0k";
- var msg = str.replace(//D/g,'').split('');
- alert(msg);
4、字符串前面填充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
另一种
- unction pad(num, n) {
- y='00000000000000000000000000000'+num; //爱几个0就几个,自己够用就行
- return y.substr(y.length-n);
- }
- alert(pad(3,6)); //000003
处理十六进制原理一样
- var color =0xff10;
- var str = "#" + (Math.pow(16, 6) + color).toString(16).substr(1);
- alert(str);
- // 另一种则是使用正则表达式
- var str = "#" + /.{6}$/.exec("00000" + color.toString(16));
- alert(str);
5、取整
- var test = 3.45;
- // 常规方法
- alert(Math.floor(test));
- // 可以用无符号位移做到
- alert(test >>> 0);
请同学们将每一个列子调试一遍,动手练习最重要。
---
有人问我编程有什么法门
我是这样认为的:
1、兴趣最重要,做一件你感兴趣的事情,你会倾尽全力;
2、多动手,多做demo,熟能生巧,通过实践获得认知才够真实和深刻;
3、把你 积累的经验分享出来,一是帮助更多的人少走弯路,另一个是激发自己更上一层,否则你误以为已经掌握了核心技术而止步;
4、编码上要规范、简单,有 标准方法一定用标准方法,能两三句代码就实现的功能不必再次封装,简单而又规范的代码让人接手和自己维护都容易;
5、尽最大可能重用升级自己写过 的代码,代码只有执行的次数越多才会向越稳定的方向发展;
6、用户至上。你所写的代码是为用户服务的,不是为你炫耀技术。如果用户的需求和你编写代码的复杂度冲突,优先满足用户的需求。