建议11:慎重使用伪数组
JavaScript没有真正的数组,因此typeof运算符不能辨别数组和对象。伪数组在JavaScript中有很高的易用性,程序员不用给它设置维度,而且永远不用担心产生越界错误,但JavaScript数组的性能相比真正的数组可能更糟糕。要判断一个值是否为数组,必须使用constructor属性,例如:

  1. if(value && typeof value === 'object' && value.constructor === Array) {
  2. }
    arguments不是一个数组,它是一个带有length成员属性的对象,很多时候会把它理解为一个伪数组。使用上面的检测方法会将arguments识别为一个数组,有时候这是希望得到的结果,尽管arguments不包含任何数组的方法。

最新文章

  1. Visual Studio的背景插件
  2. java实现输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
  3. Tsql查询执行顺序(二)
  4. Simple colum formatting in Yii 2 GridView
  5. 密码等级:至少包含字母、大小写数字、字符中的两种 JS实现方案
  6. Vue.2.0.5-过渡状态
  7. 黄聪:PHP json_encode中文乱码解决方法
  8. RatingBar设置显示星星个数
  9. 对比字节流和字符流,回答为什么FileReader不能用来拷贝图片
  10. cnpack热键
  11. vue - 新建一个项目
  12. .net mvc 使用盛派Senparc.Weixin 上传图片接口
  13. smart contract 知识点
  14. iOS - 数组字典模型根据模型属性key排序
  15. virtual box问题记录
  16. CentOS 6.9/7通过yum安装指定版本的MySQL
  17. 网络通信协议五之IP协议详解
  18. MyBufferedReader
  19. vi/vim使用进阶: 在VIM中使用GDB调试 – 使用vimgdb
  20. UVa 340 - Master-Mind Hints 解题报告 - C语言

热门文章

  1. Linux利器:使用 gcc 编程C程序
  2. C++ memset函数用法
  3. Java相同id的数据集合,合并数据为一条,并将几个字段内容合并为一个
  4. 这本最适合夯实基础的经典 Java 书籍,可能80% 的 Java 程序员没有认真看过!
  5. Web三维编程入门总结之一:WebGL与Threejs入门知识
  6. Vm安装虚拟机并使用net模式连接外网
  7. L11注意力机制和Seq2seq模型
  8. HTML学习过程-(1)
  9. [整理]svn常见问题汇总
  10. SpringCloud(五)学习笔记之Hystrix