摘要:說起取反操作,一般情況是針對類型的操作,而在中處理邏輯或時,很多情況都會默認轉換為值,例如等都會當做而等會當做來處理。具體代碼如下輸出的結果分別是和。怎么樣,是不是又掌握了一項裝逼技能
說起取反操作,一般情況是針對boolean類型的操作,而在javaScript中處理邏輯true或false時,很多情況都會默認轉換為boolean值,例如"a"、1、{}等都會當做true,而""、0、NaN等會當做false來處理。一般取反的時候,是使用!運算符來操作,例如
var boo = false; console.log(!boo,!!boo);
顯而易見,輸出的結果是true false,但在實際開發(fā)過程中,總會遇到一些奇奇怪怪的情況,并不是所有的標識符剛剛好就是boolean值,例如在html標簽上自定義的屬性值很可能拿到的時候是字符串,這樣的話就會將string類型的"false"當做boolean類型的false來處理,自然是不符合邏輯的。
那么我們是否可以用其他的方式來實現(xiàn)邏輯判斷呢?那當然是可以的,前文說到了1、0分別可以當做true、false,so~,第二個問題又來了,如何針對1、0進行相互取反的操作呢?
首先很多人想到的是
function test (boo){ if(boo === 1){ return 0; }else if(boo === 0){ return 1; } }
這樣實現(xiàn)也未嘗不可,但俗話說的好,擼碼不裝逼,等著遭雷劈
我們可以使用一些數(shù)學上的函數(shù)來非常簡單的搞定1、0之間取反的操作,大家都知道,0的非0次冪都等于0,而任意實數(shù)的0次冪等于1,結合0和1就可以利用0的0次冪等于1,0的1次冪等于0來相互取反。具體代碼如下
var boo1 = 0; var boo2 = 1; console.log(Math.pow(0,boo1)); console.log(Math.pow(0,boo2));
輸出的結果分別是1和0。
怎么樣,是不是又掌握了一項裝逼技能?
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88801.html
摘要:手機屏幕朝上,水平靜止放置,軸重力加速度為,為。當手機水平放置,撥動手機,使其慢慢旋轉,重力加速度的數(shù)據(jù)并沒有變化。四元數(shù)的基本數(shù)學方程為其中表示旋轉角度,表示旋轉軸。四元數(shù)表示一個完整的旋轉。 前言 隨著智能硬件的普及,手機,平板,PC甚至路邊的電子廣告牌,現(xiàn)代瀏覽器已經無處不在。在瀏覽器里編織出我們自己的一片天地已經輕車熟路,但是這還不夠,H5賦予了瀏覽器太多的新特性,等待我們去使...
摘要:操作符的兩個操作數(shù)必須為整數(shù)。函數(shù)調用用作為函數(shù)調用操作符。訪問一個結構的成員結構體成員名結構體指針成員名還是熟悉的栗子在之前的博客請回答語言初識語言下入門的結構體出現(xiàn)過的栗子名字圖鑒編號身高重量屬性類型 ...
摘要:第二個問題非基礎類型則不好處理,其實像這種比較的方法,往往不是用于處理普遍情況的,往往是在特殊場景發(fā)揮奇效的。沒有最好的方案,只有最合適的方案。這樣才能使得正數(shù)和負數(shù)的表示統(tǒng)一起來,具體可以參閱補碼的歷史,這里不過多展開了。 原文: https://github.com/HCThink/h-... github 首頁(star+watch,一手動態(tài)直達): https://gith...
閱讀 2470·2023-04-25 21:41
閱讀 1647·2021-09-22 15:17
閱讀 1921·2021-09-22 10:02
閱讀 2433·2021-09-10 11:21
閱讀 2569·2019-08-30 15:53
閱讀 996·2019-08-30 15:44
閱讀 946·2019-08-30 13:46
閱讀 1125·2019-08-29 18:36