typeof判断参数是否为undefined与全等判断法性能比较


发布者 ourjs  发布时间 1546590563530
关键字 JS学习  JavaScript 
通过我们使用 typeof 来判断参数是不是未定义,比如 typeof abc == 'undefined',但也可通过全等式判断,如 abc === undefined,那么二者的性能如何?

我们写一个简单的测试用例,分别试100万次

var testTypeof = function(abc) {
    if (typeof abc == 'undefined') {
    	abc = 0
    }
}

var testEqual = function(abc) {
    if (abc === undefined) {
    	abc = 0
    }
}

var count = 1000000

var date = Date.now()
for (var i = 0; i < count; i++) {
	testTypeof()
}
console.log(Date.now() - date)

var date = Date.now()
for (var i = 0; i < count; i++) {
	testEqual()
}
console.log(Date.now() - date)

结果:

$ node test.js
95
5

各个平台测试结果可能不一定,但可看出全等式判断性能要远强于typeof




回复 (1)
  • #
  • #1 盛人代 1547202255104

    typeof 方法判断,多了一次typeof 计算

微信扫码 立即评论




 热门文章 - 分享最多
  1. JavaScript如何快速高性能清空删除Array数组中的所有元素,并保持引用
  2. JavaScript使用类似break机制中断forEach循环
  3. C语言用指针模拟按引用传递int整型参数
  4. bootstrap-datetimepicker时间日期范围选取组件使用说明及简单教程
  5. 用JavaScript往select元素中添加new option下拉选项
  6. JavaScript不刷新查找当前网址上的querystring并修改查询字符串变量
  7. 用jQuery将JavaScript对象转换为querystring查询字符串
  8. JavaScript无引用复制一个Array数组的每一个元素到另一个数组

 相关阅读
  1. JavaScript不刷新查找当前网址上的querystring并修改查询字符串变量
  2. JavaScript如何快速高性能清空删除Array数组中的所有元素,并保持引用
  3. JavaScript使用类似break机制中断forEach循环
  4. JavaScript无引用复制一个Array数组的每一个元素到另一个数组
  5. 用jQuery将JavaScript对象转换为querystring查询字符串
  6. 用JavaScript往select元素中添加new option下拉选项
  7. bootstrap-datetimepicker时间日期范围选取组件使用说明及简单教程
  8. 用JavaScript实现basename获取路径中的文件名
  9. 用JavaScript测试图像上两点之间的距离
  10. JavaScript运算出现很多小数导致运算不精确的问题,用toFixed解决

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA