国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JavaScript 里 ~ 的神奇用法

FreeZinG / 948人閱讀

這幾天看koa源碼的時候,經??吹?b>if(~notfound.indexOf(err.code)){ doSomeing... }這種在一個表達式前面加~號的,今天就來扒一扒這已黑魔法。

~ 取反操作符

不熟悉原碼,反碼,補碼的小伙伴可以先看一下這篇文章原碼、反碼、補碼,計算機中負數的表示
在javascript中,假設有一個變量var a = 1, 那么~a + a = -1, 也就是說現在~a = -2

~ 在條件判斷中的用法

先上一段代碼

var arr = ["zank", "ywwhack"]
if(~arr.indexOf("zank")){
    console.log("found");
}else{
    console.log("not found");
}

這段代碼最后會輸出found,說明~arr.indexOf("zank")等價于arr.indexOf("zank")>-1

還記得剛才的~a+a = -1么,其實用的就是這個原理。arr.indexOf()調用后,如果沒找到會返回-1,否則返回一個大于-1的整數。

假設a = arr.indexOf(),那么如果arr中存在所查找的元素時,a=-1,那么~a=0,上面代碼可以改寫如下:

var arr = ["zank", "ywwhack"],
    a = arr.indexOf("zank"), //a = 0
    exist = ~a; // exist = -1, 
//只有當a = -1時,即arr中不存在查找的元素,exist=0,其余的exist都為負值
if(exist){
    console.log("found");
}else{
    console.log("not found");
}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/85667.html

相關文章

  • 你不知道Chrome DevTools(1):神奇console

    摘要:我打算把一些上使用的高級技巧寫成你不知道的這一系列的博文,希望大家一起學習學習。在代碼中使用的最簡單的用法就是寫個在控制臺打印一行消息。跟的區別在于會對輸出的對象進行展開。用于顯示一組的控制臺輸出,要搭配來使用。 Web前端開發過程中必然會用到Chrome瀏覽器自帶的開發者工具Chrome DevTools,使用它作為Web前端開發性能調試的必備工具。就連隔壁的產品小哥都知道打開F12...

    KevinYan 評論0 收藏0
  • 快速理解JavaScript中apply()和call()用法和用途

    摘要:在學習之前,我們必須對的作用和使用方法有所了解,可以參考我前一篇文章快速理解中的用法與陷阱。和的作用十分相似,只是參數類型上的差別,以適應不同的使用場景。 在學習apply()之前,我們必須對this的作用和使用方法有所了解,可以參考我前一篇文章《快速理解JavaScript中this的用法與陷阱》。當然如果你已經熟悉this的相關知識,那么請直接往下看。 call()和apply()...

    chenjiang3 評論0 收藏0
  • 神奇選擇器 :focus-within

    摘要:的偽類選擇器和偽元素選擇器,讓有了更為強大的功能。劃重點,它或它的后代獲得焦點。另外,劃重點,這個偽類是仍處于實驗室的方案。最后感謝耐心讀完。CSS 的偽類選擇器和偽元素選擇器,讓 CSS 有了更為強大的功能。 偽類大家聽的多了,偽元素可能聽到的不是那么頻繁,其實 CSS 對這兩個是有區分的。 有個錯誤有必要每次講到偽類都提一下,有時你會發現偽類元素使用了兩個冒號 (::) 而不是一個冒...

    clasnake 評論0 收藏0
  • Webpack基本功能理解以及使用

    摘要:在這個過程中,會用到一些解析工具用來預處理一些模塊以及拓展語言例如這些工具的配置使用都是在中完成的。屬性,表示進行轉換時,應該使用哪個。插件接口功能極其強大,可以用來處理各種各樣的任務。 對于前端工程化,webpack一個神奇的工具,既然是個神奇的工具。那我們保留我們的好奇心,來聊一聊它,首先我們要搞清楚webpack到底是用來解決什么問題的,然后我們來看看它到底是怎么做的,最后來看看...

    KnewOne 評論0 收藏0
  • js中reduce神奇用法

    摘要:最近經常在項目中經??吹絼e人用處理數據,很是牛掰,很夢幻,不如自己琢磨琢磨。初始值或者計算結束后的返回值。當前元素所屬的數組對象。傳遞給函數的初始值,相當于的初始值。 showImg(https://user-gold-cdn.xitu.io/2018/9/4/165a52f4bf93fbf4?w=6000&h=3000&f=jpeg&s=3043490); 最近經常在項目中經常看到別...

    岳光 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<