传说中超实用的JavaScript技巧
来源:互联网 发布:win7软件图标异常 编辑:程序博客网 时间:2024/04/29 02:32
1.使用===替换==
Javascript有两组相等运算符,一组是==和!=,另一组是===和!==。前者只比较值的相等,后者除了值以外,还比较类型是否相同。
请尽量不要使用前一组,永远只使用===和!==。因为==默认会进行类型转换,规则十分难记。2.避免使用with
with的本意是减少键盘输入。比如
可以简写成
但是,在实际运行时,解释器会首先判断Math.PI和Math.LN10是否存在,如果不存在的话,再判断全局变量PI和LN10是否存在。这样就导致了低效率,而且可能会导致意外,因此最好不要使用with语句。
3.避免使用eval
eval用来直接执行一个字符串。这条语句也是不应该使用的,因为它有性能和安全性的问题,并且使得代码更难阅读。
eval能够做到的事情,不用它也能做到。比如
可以直接写成
至于ajax操作返回的json字符串,可以使用官方网站提供的解析器json_parse.js运行。
4.定义function()
在Javascript中定义一个函数,有两种写法:
和两种写法完全等价。
但是在解析的时候,前一种写法会被解析器自动提升到代码的头部,因此违背了函数应该先定义后使用的要求,所以建议定义函数时,全部采用后一种写法。
5.基本数据类型的包装对象
Javascript的基本数据类型包括字符串、数字、布尔值,它们都有对应的包装对象String、Number和Boolean。所以,有人会这样定义相关值:
这样写完全没有必要,而且非常费解,因此建议不要使用。另外,new Object和new Array也不建议使用,可以用{}和[]代替。
6.应当小心使用typeof、instanceof和constructor
7.创建一个Self-calling函数
8.在特定范围里获得一个随机数
下面这段代码非常通用,当你需要生成一个假的数据用来测试时,比如在最低工资和最高之前获取一个随机值。
9.在数字0和最大数之间生成一组随机数
10.生成一组随机的字母数字字符
11.打乱数字数组
12.使用逻辑符号&&或者||设置函数参数的默认值
13.使用map()方法来遍历数组
14.浮点数问题
0.1+0.2等于0.30000000000000004,为什么会发生这种情况?
根据IEEE754标准,你需要知道的是所有JavaScript数字在64位二进制内的都表示浮点数。
开发者可以使用toFixed()和toPrecision()方法来解决这个问题。
下面这段代码主要是为了避免遍历对象属性。
16.不要向setTimeout()和setInterval()方法里传递字符串
如果在这两个方法里传递字符串,那么字符串会像eval那样重新计算,这样速度就会变慢,而不是这样使用: 相反,应该这样用:
以上所有内容来自CSDN其他博主分享。
.
- 传说中超实用的JavaScript技巧
- 传说中超实用的JavaScript技巧
- [Web]超实用的javascript小技巧
- 超实用的JavaScript技巧及实践经验
- 超实用的javascript小技巧,不看后悔
- 21个超实用的 JavaScript 技巧与实例
- 20个超实用的JavaScript技巧及最佳实践
- 20个超实用的javascript技巧及最佳实践
- 20个超实用的JavaScript技巧及最佳实践
- 20个超实用的JavaScript技巧及最佳实践
- 20个超实用的JavaScript技巧及最佳实践
- 20个超实用的JavaScript技巧及最佳实践
- 20个超实用的JavaScript技巧及最佳实践
- 20个超实用的JavaScript技巧及最佳实践
- 45个超实用的JavaScript技巧及最佳实践
- 20个超实用的JavaScript技巧及最佳实践
- 20个超实用的JavaScript技巧及最佳实践
- 20个超实用的JavaScript技巧及最佳实践
- 模板类总结
- 使用VNC连接Ubuntu Server 12.10无法输入字母D
- 记一次有意义的asp手工注入
- Spring MVC获取复杂型List
- 网络游戏开发基础篇
- 传说中超实用的JavaScript技巧
- Vim自动排版命令
- android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutPara
- Android 仿微信对话列表滑动删除效果
- Android 4.2 Wifi Display 之 Settings 源码分析(一)
- 数据库 入门知识
- Servlet的规范示例
- Eclipse 恢复设置
- MFC与DX11结合