首頁 web前端 js教程 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. ) === '[object Number]'
}


改成這種寫法
複製程式碼



複製程式碼


複製程式碼複製程式碼
複製程式碼



複製碼>
程式碼如下:


function isNumber3(a){ return a === a } 用各種型別測試下複製程式碼 程式碼如下: var arr = ['1', true, false, true, false undefined, null, {}, [], 1] for (var i=0; iconsole.log(isNumber3(arr[i])) } 結果只有陣列最後的一項為true。即只有數字類型 a === a 才為真。 為什麼不用typeof,因為字串比較理論上是需要遍歷所有字元的,效能和字串長度成正比。
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

CSS過渡效果:如何實現元素的滑動效果 CSS過渡效果:如何實現元素的滑動效果 Nov 21, 2023 pm 01:16 PM

CSS過渡效果:如何實現元素的滑動效果引言:在網頁設計中,元素的動態效果能夠提升使用者體驗,其中滑動效果是常見而又受歡迎的過渡效果。透過CSS的過渡屬性,我們可以輕鬆實現元素的滑動動畫效果。本文將介紹如何使用CSS過渡屬性來實現元素的滑動效果,並提供具體的程式碼範例,以幫助讀者更好地理解和應用。一、CSS過渡屬性transition的簡介CSS過渡屬性tra

CSS變形:如何實現元素的旋轉效果 CSS變形:如何實現元素的旋轉效果 Nov 21, 2023 pm 06:36 PM

CSS變形:如何實現元素的旋轉效果,需要具體程式碼範例在網頁設計中,動畫效果是提高使用者體驗和吸引使用者註意力的重要方式之一,而旋轉動畫是其中比較經典的一種。在CSS中,使用「transform」屬性可以實現元素的各種變形效果,包括旋轉。本文將詳細介紹如何利用CSS的「transform」實現元素的旋轉效果,並提供具體的程式碼範例。一、如何使用CSS的「transf

真我 GT Neo6 定檔 5 月 9 日!機圈首場 AI 數位人發表會 真我 GT Neo6 定檔 5 月 9 日!機圈首場 AI 數位人發表會 May 08, 2024 pm 12:49 PM

5月7日,我手機廠商正式宣布,本公司GTNeo6發表會定檔5月9日。我GTNoe6被定位為"性能風暴",旨在攪動中端機風雲。除此之外,該發表會也將是手機圈首場AI數位人發表會。屆時,真我realme副總裁、全球行銷總裁、中國區總裁徐起將以數位人的形式出現在發表會上。數位人徐起根據官方介紹,真我GTNoe6代號為"颶風",更快更強,將挑戰最強第三代驍龍8s旗艦,挑戰同檔最強產品力。日前,真我GTNeo6被發現直接在電商平台上架,部分核心配置曝光,顯示該機不僅搭載了驍龍8s處理器,還支援120W閃充

如何使用HTML和CSS實作一個具有固定導航選單的佈局 如何使用HTML和CSS實作一個具有固定導航選單的佈局 Oct 26, 2023 am 11:02 AM

如何使用HTML和CSS實現一個具有固定導航選單的佈局在現代網頁設計中,固定導航選單是常見的佈局之一。它可以使導航選單始終保持在頁面頂部或側邊,使用戶可以輕鬆瀏覽網頁內容。本文將介紹如何使用HTML和CSS實作一個具有固定導航選單的佈局,並提供具體的程式碼範例。首先,需要建立一個HTML結構來呈現網頁的內容和導覽選單。以下是一個簡單的範例

如何使用CSS實現元素的透明度漸變效果 如何使用CSS實現元素的透明度漸變效果 Nov 21, 2023 pm 01:38 PM

如何使用CSS實現元素的透明漸變效果在Web開發中,為網頁元素添加過渡效果是提升使用者體驗的重要手段之一。透明度的漸層效果不僅可以使頁面變得更加平滑,還可以突出元素的重點內容。本文將介紹如何使用CSS實現元素的透明度漸變效果,並提供具體的程式碼範例。使用CSS的transition屬性要實現元素的透明度漸變效果,我們需要使用CSS的transition屬性。 t

Golang中怎麼把字串轉換為數字 Golang中怎麼把字串轉換為數字 Jan 16, 2024 am 08:20 AM

Golang中如何將字串轉換為數字在Golang中,我們經常需要將字串轉換為數字來進行一些計算操作。字串轉換為數字的過程相對簡單,主要依賴Golang標準庫中的strconv套件。本文將詳細介紹如何使用strconv套件將字串轉換為數字,並給出一些具體的程式碼範例。將字串轉換為整數要將字串轉換為整數,可以使用strconv套件中的Atoi函數。 Ato

微信角標數字怎麼恢復 微信角標數字怎麼恢復 Nov 29, 2023 pm 05:46 PM

恢復微信角標數字的方法:1、強制退出微信,重新啟動;2、清除微信快取;3、檢查微信版本更新;4、卸載並重新安裝微信。詳細介紹:1、強制退出微信,重新啟動,這是最常見的解決微信角標數字異常的方法,在微信介面中,點擊左下角的「我」按鈕,再點擊右上角的「設定」按鈕,打開設定介面,在設定介面中,選擇“退出登入”,退出微信,等待幾秒鐘後,再次啟動微信,通常情況下角標數字就會恢復正常等等。

jQuery中如何檢查元素是否包含某個屬性值? jQuery中如何檢查元素是否包含某個屬性值? Feb 28, 2024 pm 02:54 PM

在jQuery中,我們經常需要檢查元素是否包含特定的屬性值。這樣做可以幫助我們根據元素上的屬性值執行對應的操作。在本文中,我將介紹如何使用jQuery來檢查元素是否包含某個屬性值,並提供具體的程式碼範例。首先,讓我們先了解jQuery中的一些常用方法來操作元素的屬性:.attr():用來取得或設定元素的屬性值。 .prop():用於取得或設定元素的屬性值

See all articles