JavaScript 使用技巧(持续更新)

类型检测
使用Object.prototype.toString.call(obj)的方式。
因为无论typeof还是instanceof都无法做到精确判断变量类型。
从数组中获取一个随机项
var items = [, , 'a' , , , 'foo' , , , 'Doe' , , ];
var randomItem = items[Math.floor(Math.random() * items.length)];
在特定范围内获取一个随机数
var x = Math.floor(Math.random() * (max - min + )) + min;
将arguments对象转换成一个数组
var argArray = Array.prototype.slice.call(arguments);
 获取一个数字数组中的最大值或最小值

var  numbers = [,  ,  , - ,  ,  , , -];
var maxInNumbers = Math.max.apply(Math, numbers);
var minInNumbers = Math.min.apply(Math, numbers);
清空一个数组

var myArray = [ ,  ,  ];
myArray.length = ; // myArray will be equal to [].
 四舍五入一个数字,保留N位小数

var num =2.443242342;
num = num.toFixed(); // num will be equal to 2.4432
使用for-in遍历一个对象内部属性的时候注意检查属性

for (var name in object) {
if (object.hasOwnProperty(name)) {
// do something with name
}
}
缓存需要计算和查询(calculation or querying)的变量

对于jQuery选择器,我们最好缓存这些DOM元素。
var navright = document.querySelector('#right');
var navleft = document.querySelector('#left');
var navup = document.querySelector('#up');
var navdown = document.querySelector('#down');

最新文章

  1. Linux主机上实现树莓派的交叉编译及文件传输,远程登陆
  2. php学习函数
  3. Unix 用gdb分析core dump文件
  4. CSS学习目录
  5. 增量式PID计算公式4个疑问与理解
  6. POJ 2503
  7. AYUI4.X即将发布
  8. UIFont 设置字体
  9. mysql中存不进去json_encode格式的数据
  10. Maven下使用Jetty进行Debug
  11. [selenium webdriver Java]隐式的等待同步
  12. SSIS执行SQL任务时加入参数
  13. 这十大MCU厂商瓜分着中国市场
  14. 【每天一个Linux命令】19. 创建文件夹目录命令mkdir
  15. C# txt文件读写
  16. baas & API 网关
  17. 安卓的sqlite增删改
  18. MVC中的其他新特性
  19. GIT+云盘作 做 文档管理工具
  20. Detect Capital

热门文章

  1. Junit使用教程(三)
  2. Http和Socket 优劣比较 使用场景选择_转
  3. 【JMeter4.0学习(九)】之定时器
  4. WEBserver、应用程序server、HTTPserver差别
  5. xcode ERROR ITMS
  6. ANDROID版本号号和版本号名称的重要性介绍
  7. Linux环境下,使用PHP创建一个守护进程
  8. Jmeter 05 JMeter元件详解
  9. poj2367
  10. Bag of mice(概率DP)