摘要:今天在一代碼中到這樣一句其中的代碼上用到了位運(yùn)算符按位非,在平時(shí)的編程中很少用到位運(yùn)算符,只是學(xué)習(xí)編程基礎(chǔ)的時(shí)候看到過,也沒多做了解,既然現(xiàn)在遇到了,就打算對(duì)這一運(yùn)算符一探究竟。
今天在一代碼中到這樣一句:
~~(Math.random() * 2e3)
其中的代碼上用到了位運(yùn)算符~(按位非),在平時(shí)的編程中很少用到位運(yùn)算符,只是學(xué)習(xí)編程基礎(chǔ)的時(shí)候看到過,也沒多做了解,既然現(xiàn)在遇到了,就打算對(duì)這一運(yùn)算符一探究竟。
其實(shí)上面那一段代碼用可讀性強(qiáng)的方式來寫的話,如下面
parseInt(Math.random()*2e3)
那為什么使用~~能實(shí)現(xiàn)parseInt取整的效果呢?
《Javascript權(quán)威指南》里是這么說的:
位運(yùn)算符"~"是一元運(yùn)算符,位于一個(gè)整型參數(shù)之前,它將操作數(shù)的所有位取反。根據(jù)javascript中所帶符號(hào)的整數(shù)的表示方法,對(duì)一個(gè)值使用"~",運(yùn)算符相當(dāng)于改變它的符號(hào)并減1。例如~0x0F
= 0xFFFFFFF0或-16。
請(qǐng)注意,上面的句子中提到的是所帶符號(hào)的整數(shù)!那么也就是說~9.88只是取整數(shù)部分,也即是~9。
根據(jù)上面的描述,使用~相當(dāng)于改變參數(shù)的符號(hào)并減1,那么也就是:
~9 => -9 - 1 => -10
然而,使用兩個(gè)~,那么就是相當(dāng)于boolean中的!!一樣,只是!!返回的是布爾類型,~~返回的是原來的值,如果參數(shù)是小數(shù)的話,就相當(dāng)于對(duì)該參數(shù)取整!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/91618.html
摘要:理解的函數(shù)基礎(chǔ)要搞好深入淺出原型使用原型模型,雖然這經(jīng)常被當(dāng)作缺點(diǎn)提及,但是只要善于運(yùn)用,其實(shí)基于原型的繼承模型比傳統(tǒng)的類繼承還要強(qiáng)大。中文指南基本操作指南二繼續(xù)熟悉的幾對(duì)方法,包括,,。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。 怎樣使用 this 因?yàn)楸救藢儆趥吻岸耍虼宋闹兄豢炊?8 成左右,希望能夠給大家?guī)韼椭?...(據(jù)說是阿里的前端妹子寫的) this 的值到底...
摘要:設(shè)計(jì)模式是以面向?qū)ο缶幊虨榛A(chǔ)的,的面向?qū)ο缶幊毯蛡鹘y(tǒng)的的面向?qū)ο缶幊逃行┎顒e,這讓我一開始接觸的時(shí)候感到十分痛苦,但是這只能靠自己慢慢積累慢慢思考。想繼續(xù)了解設(shè)計(jì)模式必須要先搞懂面向?qū)ο缶幊蹋駝t只會(huì)讓你自己更痛苦。 JavaScript 中的構(gòu)造函數(shù) 學(xué)習(xí)總結(jié)。知識(shí)只有分享才有存在的意義。 是時(shí)候替換你的 for 循環(huán)大法了~ 《小分享》JavaScript中數(shù)組的那些迭代方法~ ...
摘要:和類在開始時(shí)遇到類組件,只是需要有關(guān)類的基礎(chǔ)。畢竟,中的條件呈現(xiàn)僅再次顯示大多數(shù)是而不是特定的任何內(nèi)容。 在我的研討會(huì)期間,更多的材料是關(guān)于JavaScript而不是React。其中大部分歸結(jié)為JavaScript ES6以及功能和語(yǔ)法,但也包括三元運(yùn)算符,語(yǔ)言中的簡(jiǎn)寫版本,此對(duì)象,JavaScript內(nèi)置函數(shù)(map,reduce,filter)或更常識(shí)性的概念,如:可組合性,可重用...
摘要:對(duì)象在中,除了數(shù)字字符串布爾值這幾個(gè)簡(jiǎn)單類型外,其他的都是對(duì)象。那么在函數(shù)對(duì)象中,這兩個(gè)屬性的有什么區(qū)別呢表示該函數(shù)對(duì)象的原型表示使用來執(zhí)行該函數(shù)時(shí)這種函數(shù)一般成為構(gòu)造函數(shù),后面會(huì)講解,新創(chuàng)建的對(duì)象的原型。這時(shí)的函數(shù)通常稱為構(gòu)造函數(shù)。。 本文原發(fā)于我的個(gè)人博客,經(jīng)多次修改后發(fā)到sf上。本文仍在不斷修改中,最新版請(qǐng)?jiān)L問個(gè)人博客。 最近工作一直在用nodejs做開發(fā),有了nodejs,...
摘要:前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn)分為新聞熱點(diǎn)開發(fā)教程工程實(shí)踐深度閱讀開源項(xiàng)目巔峰人生等欄目。背后的故事本文是對(duì)于年之間世界發(fā)生的大事件的詳細(xì)介紹,闡述了從提出到角力到流產(chǎn)的前世今生。 前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn);分為新聞熱點(diǎn)、開發(fā)教程、工程實(shí)踐、深度閱讀、開源項(xiàng)目、巔峰人生等欄目。歡迎...
閱讀 2816·2021-11-22 13:52
閱讀 1292·2021-10-14 09:43
閱讀 3727·2019-08-30 15:56
閱讀 3026·2019-08-30 13:22
閱讀 3357·2019-08-30 13:10
閱讀 1640·2019-08-26 13:45
閱讀 1170·2019-08-26 11:47
閱讀 2876·2019-08-23 18:13