`
huobengle
  • 浏览: 904507 次
文章分类
社区版块
存档分类
最新评论

【经验分享】Javascript几个小技巧。

 
阅读更多

原帖:http://topic.csdn.net/u/20100421/16/817ef7c6-6675-49e1-bf39-b4a96c08b41e.html

1、字符串转换为数值

常规方法

Code:
  1. vara=parseFloat("12");
  2. varb=parseInt("34");

可以用

Code:
  1. vara=+("12");
  2. varb=+("34");

差别:

Code:
  1. parseInt("12px");//12
  2. +("12px");//NaN

2、**数组

Code:
  1. varA=newArray(2);
  2. A[0]=newArray(2);
  3. A[1]=newArray(2);
  4. A[0][0]=1;
  5. A[0][1]=2;
  6. A[1][0]=3;
  7. A[1][1]=4;
  8. //or
  9. varA=[[1,2,3,4],[1,2,3,4],[1,2,3,4],[1,2,3,4]];

可以用

Code:
  1. varA={};
  2. A[[0,0]]=1;
  3. A[[0,1]]=2;
  4. A[[1,0]]=3;
  5. A[[1,2]]=4;
  6. //类似
  7. A["0,0"]=1;
  8. A["0,1"]=2;
  9. //实例:操作100*100的二维数组
  10. varA={};
  11. for(varx=0;x<100;x++)
  12. for(vary=0;y<100;y++){
  13. A[[x,y]]=x*100+y;
  14. }

3、遍历正则匹配

常规方法

Code:
  1. varstr="a1b2c3d4e5f6g7h8i9j0k";
  2. varmatch=str.match(//d/g,str);
  3. varmsg=[];
  4. for(vari=0;i<match.length;i++){
  5. msg.push(match[i]);
  6. }
  7. alert(msg);

可以利用String.replace方法

Code:
  1. varstr="a1b2c3d4e5f6g7h8i9j0k";
  2. varmsg=[];
  3. str.replace(//d/g,function(){
  4. msg.push(arguments[0]);
  5. });
  6. alert(msg);

单纯处理成数组可以用

Code:
  1. varstr="a1b2c3d4e5f6g7h8i9j0k";
  2. varmsg=str.replace(//D/g,'').split('');
  3. alert(msg);

4、字符串前面填充0

Code:
  1. functionpad(num,n){
  2. varlen=num.toString().length;
  3. while(len<n){
  4. num="0"+num;
  5. len++;
  6. }
  7. returnnum;
  8. }
  9. alert(pad(3,6));//000003

可以为先给数字前加1再裁减

Code:
  1. functionpad(num,n){
  2. return(Math.pow(10,n)+num+'').substr(1);//缺点:位数长度有限,15位以内。
  3. }
  4. alert(pad(3,6));//000003

另一种

Code:
  1. unctionpad(num,n){
  2. y='00000000000000000000000000000'+num;//爱几个0就几个,自己够用就行
  3. returny.substr(y.length-n);
  4. }
  5. alert(pad(3,6));//000003

处理十六进制原理一样

Code:
  1. varcolor=0xff10;
  2. varstr="#"+(Math.pow(16,6)+color).toString(16).substr(1);
  3. alert(str);
  4. //另一种则是使用正则表达式
  5. varstr="#"+/.{6}$/.exec("00000"+color.toString(16));
  6. alert(str);

5、取整

Code:
  1. vartest=3.45;
  2. //常规方法
  3. alert(Math.floor(test));
  4. //可以用无符号位移做到
  5. alert(test>>>0);

请同学们将每一个列子调试一遍,动手练习最重要。

---

有人问我编程有什么法门

我是这样认为的:

1、兴趣最重要,做一件你感兴趣的事情,你会倾尽全力;
2、多动手,多做demo,熟能生巧,通过实践获得认知才够真实和深刻;
3、把你 积累的经验分享出来,一是帮助更多的人少走弯路,另一个是激发自己更上一层,否则你误以为已经掌握了核心技术而止步;
4、编码上要规范、简单,有 标准方法一定用标准方法,能两三句代码就实现的功能不必再次封装,简单而又规范的代码让人接手和自己维护都容易;
5、尽最大可能重用升级自己写过 的代码,代码只有执行的次数越多才会向越稳定的方向发展;
6、用户至上。你所写的代码是为用户服务的,不是为你炫耀技术。如果用户的需求和你编写代码的复杂度冲突,优先满足用户的需求。

分享到:
评论

相关推荐

    Javascript高级技巧分享

    本文将探讨几个JavaScript的高级技巧,帮助开发者提升编程效率和代码质量。 1. 类型检测: 在JavaScript中,typeof操作符可以检测变量的基本类型,但无法区分对象类型的差异,如数组和对象。而instanceof则用于检查...

    JavaScript DOM编程艺术 第2版

    - **性能优化**:分享一些关于提高JavaScript和DOM操作效率的小技巧,比如减少重绘和回流等。 5. **实例与案例研究** - **实战项目**:通过一系列具体的例子和小项目来加深对理论知识的理解,并锻炼实际开发能力...

    这个项目收集移动端开发所需要的一些资源与小技巧

    在移动端开发领域,JavaScript开发和混合移动开发是两个至关重要的概念。这个名为"mobileTech-master"的项目显然是一个专注于提供移动端开发资源和技巧的集合,旨在帮助开发者提升他们的技能和效率。下面,我们将...

    javascript 框架小结 个人工作经验

    ### JavaScript框架小结与个人经验分享 JavaScript是一门在Web开发中广泛使用的脚本语言,它能够实现网页的动态交互效果。框架的出现,使得JavaScript的开发更加规范、高效,并且易于维护。在本小结中,作者萧枫...

    calamus-wechat:小程序开发经验分享

    1. **晴天娃娃**: 这可能是一个小程序的实例,用于展示如何在小程序中创建具有天气查询或互动娱乐功能的应用。开发者可能分享了如何利用微信小程序API来设计用户界面和实现特定功能,如获取用户位置、天气数据展示等...

    微信小程序一百三个demo模板案例分享

    在实际使用这些模板时,要注意以下几个方面: 1. **版权问题**:确保在商业用途中正确引用和授权,避免侵犯他人知识产权。 2. **性能优化**:学习模板的优化技巧,如减少网络请求、合理缓存数据、优化渲染性能等。...

    Java就业课全套课程+经验分享免费奉送.docx

    根据给定文件的信息,我们可以提炼出以下几个主要的知识点: ### 1. Java 就业课程 #### 1.1 Java 基础 - **基础知识**:了解Java语言的基础概念,包括变量、数据类型(基本数据类型与引用数据类型)、运算符、...

    js开发暴打神经猫.zip

    在这个项目中,学习者可以了解到以下几个关键知识点: 1. **JavaScript基础**:如变量声明、数据类型、控制结构(if/else、for、while)、函数定义和调用、事件监听和处理等。 2. **HTML结构**:学习如何使用HTML...

    130个微信小程序源码

    一个小程序通常由以下几个部分组成:json配置文件(app.json和pages下的各页面json)、wxml模板文件、wxss样式表文件、js逻辑代码文件以及可能的图片和其他静态资源。这些文件共同协作,实现了小程序的功能和界面...

    围住神经猫源码分享

    源码中可能会包含以下几个关键部分: 1. 游戏初始化:这部分代码负责设置游戏的基本环境,如Canvas的大小、背景颜色,以及加载必要的资源(如图像、音频)。 2. 游戏对象:游戏中每个可交互的元素(如猫、玩家的...

    几十套H5小游戏源码

    【标题】"几十套H5小游戏源码"指的是一个包含多款HTML5(H5)游戏的源代码...综上所述,这个压缩包提供了宝贵的H5小游戏开发实例,无论是初学者还是有经验的开发者,都可以从中学习到游戏开发的各种技巧和实践经验。

    H5小游戏源码 任意球大师.zip

    游戏源码通常包含以下几个部分: 1. HTML文件:这是游戏的主页面,包含了游戏界面的所有元素。它会引用CSS和JavaScript文件,将它们组合成一个完整的游戏环境。 2. CSS文件:用于定义游戏界面的样式,包括背景、按钮...

    微信小程序开发-重邮案例源码.zip

    资源达人分享计划表明这是一个社区共享的资源,学习这个案例可以让我们了解到其他开发者的经验和技巧,同时也可以借鉴其设计模式和解决问题的方法。对于移动开发爱好者和从业者来说,这样的实践案例是十分宝贵的教育...

    微信小程序demo:福利demo:美女荟萃;(适用1123版本).rar

    4. **Page LifeCycle**:每个小程序页面有自己的生命周期,包括onLoad、onShow、onReady、onHide、onUnload等方法,开发者需要根据这些生命周期函数来组织代码,确保在适当的时候执行相应操作。 5. **数据绑定与...

    123个微信小程序源码

    外卖小程序通常包含以下几个关键模块:用户登录注册、商品展示、购物车、订单管理、支付接口、配送追踪等。在源码中,你可以看到如何集成微信支付、调用微信地图API来实现配送定位,以及如何处理商品数据和订单状态...

    微信小程序实例-V2EX社区小程序.zip

    V2EX是一个程序员交流平台,涵盖技术讨论、分享、问答等多个方面,这个小程序为用户提供了移动设备上的访问体验。 首先,要运行和学习这个实例,你需要具备以下几个步骤: 1. **安装微信开发者工具**:这是开发...

    经典风一起来玩2048微信小游戏源码.zip

    这款游戏的源码结构主要包括以下几个部分: 1. 游戏界面:这是玩家与游戏交互的窗口,通常由HTML页面构建。在“经典风一起来玩2048”中,HTML文件会定义游戏棋盘的布局、按钮、提示信息等元素,以及相关的CSS样式,...

    微信小程序精选源码亲测可用_kindle图书商城小程序.zip

    在"kindle图书商城小程序"这个项目中,我们可以预期以下几个关键知识点: 1. **WXML**:这是微信小程序的结构语言,类似于HTML,用于定义用户界面的结构。在这个图书商城小程序中,WXML文件将包含商品列表、搜索框...

    0_微信小程序指南官方文档(带目录).7z

    该文档的目录通常会覆盖以下几个关键知识点: 1. **入门教程**:介绍如何安装微信开发者工具,创建小程序项目,以及设置小程序的基本配置。这一步是初学者的起点,通过它,开发者可以了解小程序的开发环境和工作...

Global site tag (gtag.js) - Google Analytics