国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JavaScript之判斷是否整數(shù)、取余、取整、進(jìn)制、位或、ES6

這篇具有很好參考價(jià)值的文章主要介紹了JavaScript之判斷是否整數(shù)、取余、取整、進(jìn)制、位或、ES6。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


方法一

使用取余運(yùn)算符判斷,利用任何整數(shù)都會(huì)被1整除的原理,即余數(shù)是0的特點(diǎn),通過(guò)這個(gè)規(guī)則來(lái)判斷是否是整數(shù)。

let isInteger = (val) => val % 1 === 0;

// true
isInteger(5);
// false
isInteger(5.72);

以上輸出可以看出這個(gè)函數(shù)挺好用,但對(duì)于字符串某些特殊值則需要完善一下檢驗(yàn)規(guī)則,否則會(huì)被"欺騙",對(duì)于空字符串、字符串類型數(shù)字、布爾true、空數(shù)組都返回true。在取余的時(shí)候,它們都會(huì)進(jìn)行類型裝換,下面例子中的空字符串,空數(shù)組都是轉(zhuǎn)化成0,而true轉(zhuǎn)成1。

// true
isInteger('');
// true
isInteger('5');
// true
isInteger(true);
// true
isInteger([]);

優(yōu)化

let isInteger = (val) => typeof val === 'number' && val % 1 === 0;

// false
isInteger('');
// false
isInteger('5');
// false
isInteger(true);
// false
isInteger([]);

方式二

使用Math.round、Math.ceil、Math.floor判斷。整數(shù)取整后還是等于自己,利用這個(gè)特性來(lái)判斷是否是整數(shù)。
Math.floor方法中會(huì)自動(dòng)將參數(shù)轉(zhuǎn)成數(shù)字進(jìn)行向下取值,同理使用Math.ceil向上取整,Math.round四舍五入。

let isInteger = (val) => Math.floor(val) === val;

// true
isInteger(5);
// false
isInteger(5.72);
// false
isInteger('');
// false
isInteger('5');
// false
isInteger(true);
// false
isInteger([]);

方式三

通過(guò)parseInt()判斷。利用parseInt()十進(jìn)制的轉(zhuǎn)化特點(diǎn)。

let isInteger = (val) => parseInt(val, 10) === val;

// true
isInteger(5);
// false
isInteger(5.72);
// false
isInteger('');
// false
isInteger('5.72');
// false
isInteger(true);
// false
isInteger([]);

但是對(duì)于超過(guò)檢測(cè)范圍的數(shù)就會(huì)不再檢測(cè),統(tǒng)一返回該檢測(cè)數(shù)字的首個(gè)數(shù)字。

// 1  false
parseInt(1000000000000000000000);
// 4  false
parseInt(412300213123400000000.21312);

方式四

通過(guò)位運(yùn)算|判斷。按位或運(yùn)算符|是雙目運(yùn)算符, 其功能是將參與運(yùn)算的兩數(shù)轉(zhuǎn)成32位二進(jìn)制后,各對(duì)應(yīng)的二進(jìn)位相或。只要對(duì)應(yīng)的二個(gè)二進(jìn)位有一個(gè)為1時(shí),結(jié)果位就為1。因此利用該特性,任一數(shù)字和0位或都是返回它本身,同理非數(shù)字都是進(jìn)行類型轉(zhuǎn)化后再進(jìn)行位或。

let isInteger(val) => (val | 0) === val;

// true
isInteger(5);
// false
isInteger(5.72);
// false
isInteger('');
// false
isInteger('5');
// false
isInteger(true);
// false
isInteger([]);

關(guān)于位或運(yùn)算,效率比Math.floor和parseInt高。
位運(yùn)算的使用場(chǎng)景及封裝


方式五

ES6提供了Number.isInteger。這是Number中的一個(gè)API方法,用來(lái)判斷給定參數(shù)是否為整數(shù)。
瀏覽器兼容上大多數(shù)已經(jīng)實(shí)現(xiàn)支持,目前IE并不支持。

// true
Number.isInteger(5);
// false
Number.isInteger(5.72);
// false
Number.isInteger('');
// false
Number.isInteger('5');
// false
Number.isInteger(true);
// false
Number.isInteger([]);

結(jié)束語(yǔ)

以上就是判斷是否為整數(shù)類型的五種方式,這五種方式各有優(yōu)缺點(diǎn),大家可以進(jìn)行仔細(xì)比較,選擇最優(yōu)的進(jìn)行使用。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-804941.html

到了這里,關(guān)于JavaScript之判斷是否整數(shù)、取余、取整、進(jìn)制、位或、ES6的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • JavaScript判斷是否為NaN

    JavaScript判斷是否為NaN

    (旅行是最勞頓,最麻煩,叫人本相必現(xiàn)的時(shí)候。經(jīng)過(guò)長(zhǎng)期苦旅行而彼此不討厭的人,才可以結(jié)交作朋友?!X(qián)鐘書(shū)) 相信你在實(shí)際開(kāi)發(fā)中,經(jīng)常遇到一下場(chǎng)景 業(yè)務(wù)中不可避免的有些字段是空值,但經(jīng)過(guò)轉(zhuǎn)換后會(huì)變?yōu)镹aN值,而在js中NaN的類型無(wú)論怎么判斷都是數(shù)字,并且奇

    2024年02月02日
    瀏覽(30)
  • Javascript判斷時(shí)間是否處于今天、本周、當(dāng)月

    ??Javascript判斷時(shí)間戳/時(shí)間日期字符串是否處于今天、本周、當(dāng)月,三個(gè)時(shí)間范圍。 ??水平有限,可能邏輯會(huì)比較繁瑣,如果有更好的方法歡迎賜教。 判斷是否是今天 傳參:param為時(shí)間戳(默認(rèn)) / 日期時(shí)間字符串,type為timestamp / datetime 示例: ?todayJudge(1669961510000) ?

    2024年02月15日
    瀏覽(22)
  • JavaScript 判斷是否為數(shù)字的幾種方式

    喜歡博主的文章,歡迎關(guān)注、點(diǎn)贊??、收藏??、留言??支持,謝謝大家 js判斷是否為數(shù)字的方式很多: typeof 、 instanceof 、 Number.isNumber parseInt 、 parseFloat isNaN 、 isFinite Number.isNaN 、 Number.isFinite 正則表達(dá)式 終極方案 我們逐一介紹,希望能幫到大家。 typeof 判斷值是不是基

    2023年04月10日
    瀏覽(35)
  • 3的冪,給定一個(gè)整數(shù),寫(xiě)一個(gè)函數(shù)來(lái)判斷它是否是 3 的冪次方。如果是,返回 true ;否則,返回 false。

    題記: 給定一個(gè)整數(shù),寫(xiě)一個(gè)函數(shù)來(lái)判斷它是否是 3 的冪次方。如果是,返回 true ;否則,返回 false 。 整數(shù) n 是 3 的冪次方需滿足:存在整數(shù) x 使得 n == 3^x 示例 1: 輸入 :n = 27 輸出 :true 示例 2: 輸入 :n = 0 輸出 :false 示例 3: 輸入 :n = 9 輸出 :true 示例 4: 輸入 :

    2024年02月15日
    瀏覽(20)
  • JavaScript判斷變量是否為undefined的兩種寫(xiě)法

    可以使用 typeof 操作符來(lái)判斷一個(gè)變量是否為 undefined 類型 也可以使用嚴(yán)格相等運(yùn)算符 === 來(lái)判斷一個(gè)變量是否為 undefined 注意: 不要使用 == 運(yùn)算符來(lái)判斷一個(gè)變量是否為 undefined 因?yàn)樗鼤?huì)在比較之前進(jìn)行 類型轉(zhuǎn)換 ,可能導(dǎo)致意外的結(jié)果。 如果要判斷一個(gè)變量是否未定義(既

    2024年02月14日
    瀏覽(26)
  • JavaScript判斷時(shí)間間隔是否連續(xù)為一天的方法

    在開(kāi)發(fā)中,我們經(jīng)常需要判斷一個(gè)數(shù)組中的對(duì)象的時(shí)間間隔是否連續(xù)。本文將介紹一個(gè)方法,通過(guò)對(duì)數(shù)組中的對(duì)象進(jìn)行排序和比較,來(lái)判斷時(shí)間是否從00:00到24:00連續(xù)。 假設(shè)我們有一個(gè)數(shù)組,其中包含多個(gè)對(duì)象,每個(gè)對(duì)象都有開(kāi)始時(shí)間和結(jié)束時(shí)間。我們需要判斷這些時(shí)間間隔

    2024年01月18日
    瀏覽(38)
  • JavaScript判斷對(duì)象是否為空對(duì)象的幾種方法

    JavaScript判斷對(duì)象是否為空對(duì)象的幾種方法

    目錄 1、空對(duì)象對(duì)應(yīng)的字符串為 \\\"{}\\\" 2、for in 3、jquery 的 isEmptyObject()方法 4、Object.getOwnPropertyNames() 5、ES6 的 Object.keys() JSON.stringify()擴(kuò)展 1、第一大特性 小結(jié) 2、第二大特性 3、第三大特性 4、第四大特性 5、第五大特性 6、第六大特性 7、第七大特性 8、第八大特性 var data = {}; v

    2024年01月16日
    瀏覽(31)
  • JavaScript判斷數(shù)組對(duì)象是否含有某個(gè)值的方法(6種)

    JavaScript判斷數(shù)組對(duì)象是否含有某個(gè)值的方法(6種)

    文章內(nèi)容 文章鏈接 vue3 antd table表格的增刪改查(一) input輸入框根據(jù)搜索【后臺(tái)管理系統(tǒng)純前端filter過(guò)濾】 https://blog.csdn.net/XSL_HR/article/details/128072584?spm=1001.2014.3001.5501 vue3 antd table表格的增刪改查(二) input輸入框根據(jù)搜索【后臺(tái)管理系統(tǒng) 請(qǐng)求后端接口 前后端

    2024年02月06日
    瀏覽(29)
  • vue中獲取復(fù)選框是否被選中的值、如何用JavaScript判斷復(fù)選框是否被選中

    一、方法介紹? ????????第一種方法:通過(guò)獲取dom元素,getElementById、querySelector、getElementsByName、querySelectorAll(需要遍歷,例如:for循環(huán)) ????????第二種是用v-model在input復(fù)選框上綁定一個(gè)變量,通過(guò)雙向綁定的特性來(lái)判斷復(fù)選框是否被選中。 (推薦使用) 二、演示

    2024年02月03日
    瀏覽(35)
  • 百度地圖API:JavaScript開(kāi)源庫(kù)幾何運(yùn)算判斷點(diǎn)是否在多邊形內(nèi)(電子圍欄)

    百度地圖API:JavaScript開(kāi)源庫(kù)幾何運(yùn)算判斷點(diǎn)是否在多邊形內(nèi)(電子圍欄)

    漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開(kāi)發(fā)(1)華為手機(jī)無(wú)法使用addEventListener click 的兼容解決方案 漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開(kāi)發(fā)(2)文本標(biāo)簽顯示和隱藏的切換開(kāi)關(guān) 漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開(kāi)發(fā)(3)自動(dòng)獲取地圖多邊形中心點(diǎn)坐標(biāo) 漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開(kāi)發(fā)(4)顯示指定區(qū)域在移動(dòng)端異常的

    2024年02月07日
    瀏覽(49)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包