Heim Web-Frontend js-Tutorial JS判断元素为数字的奇异写法分享_javascript技巧

JS判断元素为数字的奇异写法分享_javascript技巧

May 16, 2016 pm 05:51 PM
元素 数字

这是在阅读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;
}
}
}
};

该方法里有一句
复制代码 代码如下:
if (obj.length === +obj.length)

看半天没明白,后经高人指点,这句等价于
复制代码 代码如下:
if (typeof obj.length === 'number')

即是用来判断元素是否为数字类型的。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; iconsole.log(isNumber3(arr[i]))
}

结果只有数组最后的一项为true。即只有数字类型 a === +a 才为真。
为什么不用typeof,因为字符串比较理论上是需要遍历所有字符的,性能和字符串长度成正比。
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

CSS-Transformation: So erzielen Sie den Rotationseffekt von Elementen CSS-Transformation: So erzielen Sie den Rotationseffekt von Elementen Nov 21, 2023 pm 06:36 PM

CSS-Transformation: Um den Rotationseffekt von Elementen zu erzielen, sind spezifische Codebeispiele erforderlich. Im Webdesign sind Animationseffekte eine der wichtigen Möglichkeiten, die Benutzererfahrung zu verbessern und die Aufmerksamkeit des Benutzers zu erregen, und Rotationsanimationen sind eine der klassischeren Methoden. In CSS können Sie das Attribut „transform“ verwenden, um verschiedene Verformungseffekte von Elementen zu erzielen, einschließlich Rotation. In diesem Artikel wird detailliert beschrieben, wie Sie mithilfe der CSS-Transformation den Rotationseffekt von Elementen erzielen, und es werden spezifische Codebeispiele bereitgestellt. 1. Verwendung von CSSs „transf

CSS-Übergangseffekt: So erzielen Sie den Gleiteffekt von Elementen CSS-Übergangseffekt: So erzielen Sie den Gleiteffekt von Elementen Nov 21, 2023 pm 01:16 PM

CSS-Übergangseffekt: So erzielen Sie den Gleiteffekt von Elementen Einführung: Im Webdesign kann der dynamische Effekt von Elementen das Benutzererlebnis verbessern, wobei der Gleiteffekt ein häufiger und beliebter Übergangseffekt ist. Durch die Übergangseigenschaft von CSS können wir leicht den gleitenden Animationseffekt von Elementen erzielen. In diesem Artikel wird erläutert, wie Sie mithilfe von CSS-Übergangseigenschaften den Gleiteffekt von Elementen erzielen, und es werden spezifische Codebeispiele bereitgestellt, um den Lesern ein besseres Verständnis und eine bessere Anwendung zu ermöglichen. 1. Einführung in den CSS-Übergangsattributübergang CSS-Übergangsattributtra

So implementieren Sie ein Layout mit einem festen Navigationsmenü mithilfe von HTML und CSS So implementieren Sie ein Layout mit einem festen Navigationsmenü mithilfe von HTML und CSS Oct 26, 2023 am 11:02 AM

So implementieren Sie mithilfe von HTML und CSS ein Layout mit einem festen Navigationsmenü. Im modernen Webdesign gehören feste Navigationsmenüs zu den häufigsten Layouts. Dadurch kann das Navigationsmenü immer oben oder am Rand der Seite angezeigt werden, sodass Benutzer bequem durch Webinhalte navigieren können. In diesem Artikel wird erläutert, wie Sie mithilfe von HTML und CSS ein Layout mit einem festen Navigationsmenü implementieren, und es werden spezifische Codebeispiele bereitgestellt. Zunächst müssen Sie eine HTML-Struktur erstellen, um den Inhalt der Webseite und das Navigationsmenü darzustellen. Hier ist ein einfaches Beispiel

So verwenden Sie CSS, um den Transparenzverlaufseffekt eines Elements zu erzielen So verwenden Sie CSS, um den Transparenzverlaufseffekt eines Elements zu erzielen Nov 21, 2023 pm 01:38 PM

So verwenden Sie CSS, um den Transparenzverlaufseffekt von Elementen zu erzielen. In der Webentwicklung ist das Hinzufügen von Übergangseffekten zu Webseitenelementen eines der wichtigen Mittel zur Verbesserung der Benutzererfahrung. Der Verlaufseffekt der Transparenz kann nicht nur die Seite glatter machen, sondern auch den Hauptinhalt des Elements hervorheben. In diesem Artikel wird erläutert, wie Sie mithilfe von CSS den Transparenzgradienteneffekt von Elementen erzielen, und es werden spezifische Codebeispiele bereitgestellt. Verwenden des CSS-Übergangsattributs Um den Transparenzverlaufseffekt eines Elements zu erzielen, müssen wir das CSS-Übergangsattribut verwenden. T

Realme GT Neo6 soll am 9. Mai erscheinen! Die erste KI-Digital-Human-Konferenz in der Computerbranche Realme GT Neo6 soll am 9. Mai erscheinen! Die erste KI-Digital-Human-Konferenz in der Computerbranche May 08, 2024 pm 12:49 PM

Am 7. Mai gab unser Mobiltelefonhersteller offiziell bekannt, dass die GTNeo6-Startkonferenz unseres Unternehmens für den 9. Mai geplant ist. GTNoe6 ist als „Performance Storm“ positioniert und zielt darauf ab, die Situation bei Mittelklasse-Maschinen aufzumischen. Darüber hinaus wird diese Konferenz auch die erste KI-Digital-Human-Konferenz in der Mobiltelefonbranche sein. Zu diesem Zeitpunkt werden der Vizepräsident von Realme, der Präsident des globalen Marketings und der Präsident von China, Xu Qi, in Form eines digitalen Menschen auf der Pressekonferenz erscheinen. Digitaler Mann Kürzlich wurde festgestellt, dass das Realme GTNeo6 direkt auf der E-Commerce-Plattform verfügbar ist. Einige Kernkonfigurationen wurden enthüllt, was zeigt, dass das Gerät nicht nur mit einem Snapdragon 8s-Prozessor ausgestattet ist, sondern auch 120-W-Flash-Laden unterstützt.

So stellen Sie WeChat-Eckmarkierungsnummern wieder her So stellen Sie WeChat-Eckmarkierungsnummern wieder her Nov 29, 2023 pm 05:46 PM

Methoden zum Wiederherstellen der WeChat-Ecknummer: 1. Beenden Sie WeChat und starten Sie es neu. 2. Leeren Sie den WeChat-Cache. 4. Deinstallieren Sie WeChat und installieren Sie es erneut. Detaillierte Einführung: 1. Erzwingen Sie das Beenden von WeChat und starten Sie es neu. Dies ist die häufigste Methode, um die abnormale Anzahl von WeChat-Ecken zu beheben. Klicken Sie auf die Schaltfläche „Ich“ in der unteren linken Ecke und dann auf „Einstellungen“. "-Schaltfläche in der oberen rechten Ecke. Öffnen Sie die Einstellungsoberfläche. Wählen Sie in der Einstellungsoberfläche „Abmelden“, um sich von WeChat abzumelden. Starten Sie WeChat nach einigen Sekunden erneut. Normalerweise wird die Ecknummer wieder normal usw.

So konvertieren Sie eine Zeichenfolge in Golang in eine Zahl So konvertieren Sie eine Zeichenfolge in Golang in eine Zahl Jan 16, 2024 am 08:20 AM

So konvertieren Sie Zeichenfolgen in Zahlen in Golang. In Golang müssen wir häufig Zeichenfolgen in Zahlen umwandeln, um einige Berechnungsoperationen durchzuführen. Das Konvertieren von Zeichenfolgen in Zahlen ist relativ einfach und basiert hauptsächlich auf dem Paket strconv in der Golang-Standardbibliothek. In diesem Artikel wird detailliert beschrieben, wie Sie mit dem Paket strconv Zeichenfolgen in Zahlen konvertieren, und es werden einige spezifische Codebeispiele aufgeführt. Konvertieren einer Zeichenfolge in eine Ganzzahl Um eine Zeichenfolge in eine Ganzzahl umzuwandeln, können Sie die Atoi-Funktion aus dem Paket strconv verwenden. Ato

Wie überprüfe ich, ob ein Element in jQuery einen Attributwert enthält? Wie überprüfe ich, ob ein Element in jQuery einen Attributwert enthält? Feb 28, 2024 pm 02:54 PM

In jQuery müssen wir häufig prüfen, ob ein Element einen bestimmten Attributwert enthält. Dadurch können wir Aktionen basierend auf den Attributwerten des Elements ausführen. In diesem Artikel werde ich vorstellen, wie man mit jQuery prüft, ob ein Element einen bestimmten Attributwert enthält, und spezifische Codebeispiele bereitstellen. Schauen wir uns zunächst einige gängige Methoden in jQuery zum Bearbeiten der Attribute von Elementen an: .attr(): wird zum Abrufen oder Festlegen des Attributwerts eines Elements verwendet. .prop(): wird verwendet, um den Attributwert eines Elements abzurufen oder festzulegen

See all articles