1、关于全局变量

全局变量在所有的作用域中都是可见变量。当程序小,代码量小的时候,可能还便于维护,而随着程序越来越复杂,代码量也随之越来越大后,过多的全局变量会变的很难处理。因为一个全局变量可以被程序的任何部分在任意时间改变,使程序愈加的复杂,也降低程序的可靠性。

那么如何避免过多的使用全局变量?

在程序中创建唯一一个全局变量,如下所示:

var theData = {};

theData.name = '123';

theData.age= '12123';

2、=== 与 ==

当A、B的数据类型和值一致时,A === B 为true

当A、B的数据类型不一致,而值一致时,A == B 为true。因为 == 会试图强制转换数据类型,例子如下:

3、优化 if

如果  sw 变量的值可能在 0-10 之间均匀分布,如何快速的 通过if 判断而往下进行代码呢,这时候我们可以用二分搜索法,也就是将5作为中间值,先进行一次比较判断,再判断是否与我们需要的条件符合。

if(sw>5){

if(sw === 2){

// 其他逻辑

}

}else{

if(sw === 8){

// 其他逻辑

}

}

这样就能提升代码效率,减少运行时间。

4、避免误用 parseInt

parseInt在开始转换时,会先查看位置为0处的字符,如果该位置不是有效数字,则返回NAN,

例:

如果0处的是数字,则会继续查看后面的字符,并重复前面的测试,直到发现非数字字符为止。

这时parseInt会将前面的解析合法的数字转换为数字返回。

例:

JavaScript细节的更多相关文章

  1. Html,Css,Dom,javascript细节总结

    最近愈发觉得基础的重要性,细节决定成败,所以希望能够将自己注意到的搜集到的一些关于前端的小细节小知识整理出来,更好的方便自己记忆回顾. 1.在构建网页Html框架时,尽量只给外层标记(即是父标记)定义 ...

  2. 开篇----JavaScript细节的那些事儿

    JavaScript现在已经是全世界浏览器通用的语言,目前也完全可以在服务器端做开发,如Node.js,市面上好的JavaScript的书有很多,有的还是经典之作,值得收藏. 趁此东风,打算接下来写一 ...

  3. 我所了解的javaScript细节

    变量转换 var myVar = "3.14159", str = ""+ myVar,// to string int = ~~myVar, // to in ...

  4. JavaScript细节整理

    JavaScript是一个绝冠全球的编程语言,可用于Web开发.移动应用开发(PhoneGap.Appcelerator).服务器端开发(Node.js和Wakanda)等等.JavaScript还是 ...

  5. JavaScript细节成败

    1.var 众所周知var用来定义变量 如 undefined,number,string,bool,array,function,object,null. 但有时候为了省事,就会出现一些内存泄露的情 ...

  6. Javascript 细节优化技巧(转)

    break 语句和 continue 语句 break语句和continue语句都具有跳转作用,可以让代码不按既有的顺序执行. break语句用于跳出代码块或循环. var i = 0; while( ...

  7. 从零开始学习jQuery(剧场版) 你必须知道的javascript

    原文:从零开始学习jQuery(剧场版) 你必须知道的javascript 一.摘要 本文是jQuery系列教程的剧场版, 即和jQuery这条主线无关, 主要介绍大家平时会忽略的一些javascri ...

  8. javaScript常用知识点有哪些

    javaScript常用知识点有哪些 一.总结 一句话总结:int = ~~myVar, // to integer | 是二进制或, x|0 永远等于x:^为异或,同0异1,所以 x^0 还是永远等 ...

  9. 转:drupal常用api

    drupal常用api   最短的函数 // 语言字串,除了可以获取对应语言外,还可以设置字串变量.可以是!var, @var或 %var,%var就添加元素外层.@var会过滤HTML,!var会原 ...

随机推荐

  1. ROS编译:catkin简析

    博客转载自:https://blog.csdn.net/zyh821351004/article/details/50388429 Catkin tutorials: http://wiki.ros. ...

  2. Part8-不用内存怎么行_6410内存初始化lesson3

    1.6410地址空间 外设区:从0x70000000-0x7FFFFFFF有256MB 主存储区:从0x00000000-0x6FFFFFFF有1972MB 对于主存储区: 静态存储区可以接我们的NO ...

  3. vis用于做3D图表的js插件

    vis.js用于做3D图表:(浏览网站需要FQ)实例:http://visjs.org/graph3d_examples.html代码下载:https://github.com/almende/vis

  4. 【转】开源视频录制库LandscapeVideoCamera

    非常强大的android 视频录制库,可以选择视频尺寸以及视频质量,只允许横屏录制. 使用Android自带的Camera应用可以录制视频,只需发送MediaStore.ACTION_VIDEO_CA ...

  5. HackThree

    创建自定义ViewGroup ​一,概要:     使用自定义View 和ViewGroup组织应用程序布局是一个好方法,定制组件的同时允许开发者提供自定义行为和功能,以后,开发者 在需要创建复杂布局 ...

  6. SQLServer 附加数据库后只读或报错解决方法

    百度文库地址 http://wenku.baidu.com/link?url=3EnK52mOtll3svjce0OGUUu7h9EOWkUgty8VChkxRdX7LQlm9Ll6N_78ENngN ...

  7. asp.net微信内置浏览器下Session失效

    问题记录:仅限安卓端微信内置浏览器,服务器集群设置了黏性Session,在Post请求时会强制走代理,导致出去的ip指向另一台服务器,黏性Session失效,用户状态无法保存. 目前想知道除了设置Se ...

  8. MVC上的jsonp扩展,解决跨域访问问题

    总是有人会遇到跨域问题,然后有个jsonp的解决方案,MVC中代码如下: public class JsonpResult : System.Web.Mvc.JsonResult { object d ...

  9. C#截取验证码图片

    使用Graphics类中的DrawImage方法,这个方法有30种重载方式,这里只介绍一种,也是我认为最直观的一种,代码如下: using System.Drawing; namespace kq.U ...

  10. 以太坊系列之十八: 百行go代码构建p2p聊天室

    百行go代码构建p2p聊天室 百行go代码构建p2p聊天室 1. 上手使用 2. whisper 原理 3. 源码解读 3.1 参数说明 3.1 连接主节点 3.2 我的标识 3.2 配置我的节点 3 ...