JS判断元素为数字的奇异写法分享_javascript技巧
这是在阅读underscore(1.3.3)源码中看到的,它的each方法
var each = _.each = _.forEach = function(obj, iterator, context) {
if (obj == null) return;
if (nativeForEach && obj.forEach === nativeForEach) {
obj.forEach(iterator, context);
} else if (obj.length === +obj.length) {
for (var i = 0, l = obj.length; i if (iterator.call(context, obj[i], i, obj) === breaker) return;
}
} else {
for (var key in obj) {
if (_.has(obj, key)) {
if (iterator.call(context, obj[key], key, obj) === breaker) return;
}
}
}
};
该方法里有一句
看半天没明白,后经高人指点,这句等价于
即是用来判断元素是否为数字类型的。typeof和Object.prototype.toString是常见的写法。而最后一种则不常见,常人难以理解。
一些库有类型判断的工具函数,如
function isNumber1(a){
return typeof a === 'number'
}
又或者用Object.prototype.toString
function isNumber2(a) {
return Object.prototype.toString.call(a) === '[object Number]'
}
改成这种写法
function isNumber3(a){
return a === +a
}
用各种类型测试下
var arr = ['1', true, false, undefined, null, {}, [], 1]
for (var i=0; i
}
结果只有数组最后的一项为true。即只有数字类型 a === +a 才为真。
为什么不用typeof,因为字符串比较理论上是需要遍历所有字符的,性能和字符串长度成正比。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

CSS过渡效果:如何实现元素的滑动效果引言:在网页设计中,元素的动态效果能够提升用户体验,其中滑动效果是一个常见而又受欢迎的过渡效果。通过CSS的过渡属性,我们可以轻松实现元素的滑动动画效果。本文将介绍如何使用CSS过渡属性来实现元素的滑动效果,并提供具体的代码示例,以帮助读者更好地理解和应用。一、CSS过渡属性transition的简介CSS过渡属性tra

CSS变形:如何实现元素的旋转效果,需要具体代码示例在网页设计中,动画效果是提高用户体验和吸引用户注意力的重要方式之一,而旋转动画是其中比较经典的一种。在CSS中,使用“transform”属性可以实现元素的各种变形效果,包括旋转。本文将详细介绍如何利用CSS的“transform”实现元素的旋转效果,并提供具体的代码示例。一、如何使用CSS的“transf

5月7日,我手机厂商正式宣布,我公司GTNeo6发布会定档5月9日。我GTNoe6被定位为"性能风暴",旨在搅动中端机风云。除此之外,该发布会还将是手机圈首场AI数字人发布会。届时,真我realme副总裁、全球营销总裁、中国区总裁徐起将以数字人的形式出现在发布会上。数字人徐起根据官方介绍,真我GTNoe6代号为"飓风",更快更强,将挑战最强第三代骁龙8s旗舰,挑战同档最强产品力。日前,真我GTNeo6被发现直接在电商平台上架,部分核心配置曝光,显示该机不仅搭载了骁龙8s处理器,还支持120W闪充

如何使用CSS实现元素的透明度渐变效果在Web开发中,为网页元素添加过渡效果是提升用户体验的重要手段之一。透明度的渐变效果不仅可以使页面变得更加平滑,还可以突出元素的重点内容。本文将介绍如何使用CSS实现元素的透明度渐变效果,并提供具体的代码示例。使用CSS的transition属性要实现元素的透明度渐变效果,我们需要使用CSS的transition属性。t

如何使用HTML和CSS实现一个具有固定导航菜单的布局在现代网页设计中,固定导航菜单是常见的布局之一。它可以使导航菜单始终保持在页面顶部或侧边,使用户可以方便地浏览网页内容。本文将介绍如何使用HTML和CSS实现一个具有固定导航菜单的布局,并提供具体的代码示例。首先,需要创建一个HTML结构来呈现网页的内容和导航菜单。以下是一个简单的示例

在jQuery中,我们经常需要检查元素是否包含特定的属性值。这样做可以帮助我们根据元素上的属性值执行相应的操作。在本文中,我将介绍如何使用jQuery来检查元素是否包含某个属性值,并提供具体的代码示例。首先,让我们先了解一下jQuery中的一些常用方法来操作元素的属性:.attr():用于获取或设置元素的属性值。.prop():用于获取或设置元素的属性值

Golang中如何将字符串转换为数字在Golang中,我们经常需要将字符串转换为数字来进行一些计算操作。字符串转换为数字的过程相对简单,主要依赖于Golang标准库中的strconv包。本文将详细介绍如何使用strconv包将字符串转换为数字,并且给出一些具体的代码示例。将字符串转换为整数要将字符串转换为整数,可以使用strconv包中的Atoi函数。Ato

用jQuery实现元素的可见不可见判断在网页开发中,经常会遇到需要判断某个元素是否可见的情况。通过jQuery可以很方便地实现对元素可见性的判断和操作。本文将介绍如何使用jQuery来实现对元素可见性的判断,同时提供具体的代码示例。jQuery的元素可见性判断方法在jQuery中,可以利用一些特定的方法来判断元素的可见性。其中最常用的方法是.is(':vis
