js 一個兩個三個感嘆號區別
今天看到一個前輩使用了三個感嘆號來判斷值,就查了一下,綜合了幾篇文章的觀點
1、一個感嘆號
!可將變數轉換成boolean型別,null、undefined和空字串取反都為false,其餘都為true。
!null=true
!undefined=true
!''=true
!100=false
!'abc'=false
2、兩個感嘆號
!!常常用來做型別判斷,在第一步!(變數)之後再做邏輯取反運算
let a;
if(a!=null&&typeof(a)!=undefined&&a!=''){
//a有內容才執行的程式碼
}
if(!!a){ //a有內容才執行的程式碼... }
上面兩種寫法實現的功能一樣,下面一種明顯更簡單
3、三個感嘆號
三個感嘆號沒有什麼意義,和一個感嘆號的效果是一樣的。一般他們認為!!表示將一個變數轉為boolean型,再加一個!是對boolean型取反,和!false或者!true一樣。
相關推薦
js 一個兩個三個感嘆號區別
今天看到一個前輩使用了三個感嘆號來判斷值,就查了一下,綜合了幾篇文章的觀點1、一個感嘆號!可將變數轉換成boolean型別,null、undefined和空字串取反都為false,其餘都為true。!null=true !undefined=true !''=true !10
js字符串三個編碼編碼的區別
跳轉 進行 sca escape com js字符串 傳遞 字符 目的 1、escape():編碼目的為了防止字符串中特殊字符造成運算錯誤,主要在字符串運算中使用; 不進行編碼的69個字符:[email protected]/* */*、_、+、-、.、\。 2
js中addEventListener第三個參數涉及到的事件捕獲與冒泡
等等 觸發 不同 ntb 兩個 冒泡 load 觸摸 dom js中,我們可以給一個dom對象添加監聽事件,函數就是 addEventListener("click",function(){},true); 很容易理解,第一個參數是事件類型,比如點擊(click)、觸摸(t
設計一個包含一個interface,三個class的Java 程式,用於完成陣列排序排序任務。其中interface中包含一個sort() 方法。第一個class使用氣泡排序法實現interface的
題目:設計一個包含一個interface,三個class的Java 程式,用於完成陣列排序排序任務。其中interface中包含一個sort() 方法。第一個class使用氣泡排序法實現interface的sort()方法;第二個class使用選擇排序法實現interface的sort()方法;
utf-8的中文是一個漢字佔三個位元組長度嗎?
英文字母:位元組數 : 1;編碼:GB2312位元組數 : 1;編碼:GBK位元組數 : 1;編碼:GB18030位元組數 : 1;編碼:ISO-8859-1位元組數 : 1;編碼:UTF-8位元組數 : 4;編碼:UTF-16位元組數 : 2;編碼:UTF-16BE位元組數 : 2;編碼:UTF-16LE中
引JS檔案出錯的三個原因
寫在前面:今天寫程式碼的時候,無論怎麼改程式碼還有重新整理程式碼,頁面都沒有效果出來,然後才發現是js程式碼沒有成功引進來,所以就有了這篇文章。 1.引入的js檔案出錯 語法:使用<script src="檔案路徑"></script>標籤引入
js的addEventListener第三個引數相關
addEventListener示例程式碼 html程式碼: <div class="box1" id="box1"> <div class="box2"></div> </div> css程式碼:
SQL實現查詢最近一週、一個月、三個月的資料
最近在做一個Web專案,專案需求中需要提供查詢訂單表中最近一週,最近一個月,最近3個月的訂單資訊,以便運營人員進行資料分析。專案中使用的資料庫使用的是MySQL,所以以下所有命令都是基於MySQL的。
js中兩個等於號和三個等於號的區別
首先,== equality 等同,=== identity 恆等。 ==, 兩邊值型別不同的時候,要先進行型別轉換,再比較。 ==,不做型別轉換,型別不同的一定不等。 下面分別說明: 先說 ===,這個比較簡單。下面的規則用來判斷兩個值是否===相等: 1、如果型別不同,
js中兩個等號(==)和三個等號(===)的區別
js中兩個等號(==)和三個等號(===)的區別: 1. "=="表示:equality -> 等同 的意思,"=="使用兩個等號時,如果兩邊值的型別不同的時候,是要先先進行型別轉換後,才能做比較。 2. "==="表示:identity -> 恆等 的意思,
java中 一個等於號和兩個等於號三個等號的區別?
一個等號是賦值號,兩個等號是判斷號。賦值表示把右邊的值或引用賦給左邊的變數,判斷號表示返回符號兩邊的值是否相等,這裡的值包括引用。相等運算子"==",如果兩個運算元不是同一型別,則會先嚐試轉換型別在進行比較。嚴格相等運算子“==="首先計算其運算元的值,然後比較這兩個值,比較
JS/JavaScript中兩個等號 == 和 三個等號 === 的區別
JavaScript中兩個等號 == 和 三個等號 === 的區別 一、概念 == 和 === (1) "=="叫做相等運算子,"==="叫做嚴格運算子。 (2) ==,equalit
js 一個等號"=" 二個等號"==" 三個等號"===" 的區別
一個等號是賦值操作,==先轉換型別再比較,===先判斷型別,如果不是同一型別直接為false。 === 判斷規則 如果型別不同,就[不相等] 如果兩個都是數值,並且是同一個值,那麼[相等];(!例外)的是,如果其中至少一個是NaN,那麼[不相等]。(判斷一個值是否是
js ==與===區別(兩個等號與三個等號) 《轉》
== equality 等同,=== identity 恆等。 ==, 兩邊值型別不同的時候,要先進行型別轉換,再比較。 ===,不做型別轉換,型別不同的一定不等。 下面分別說明: 先說 ===,這個比較簡單。下面的規則用來判斷兩個值是否===相等: 1、如果型別不同,就[不相等] 2、如果兩個都是數值
JS實現輸出一個字符串中第一個連續的三個數字
數字 length 個數字 pri split ret () 第一個 spl 問題描述:在一個字符串中,輸出其中第一個連續的三個數字。例如:str="1234568" 輸出:1 2 3。 var printNum = function(){ var str =
三個案例帶你看懂LayoutInflater中inflate方法兩個參數和三個參數的區別
tco rom net roi 異常 com 組成 @override 修改 版權聲明:本文為sang原創文章,轉載請註明出處。 目錄(?)[+] 關於inflate參數問題,我想很多人多多少少都了解一點,網上也有很多關於這方面介紹的文章,但是枯燥的理論或
交換兩個變量的值,不借助第三個變量的 三種方法(JS實現)
clas img 進行 blog 算法 並且 pos 成交 方法 第一種:算術運算法 var a = 10; var b = 12; a = b - a; b = b - a; a = b + a; 它的原理是:把a、b看做數軸上的點,圍繞兩點間的距離來進行計算。
js if(!!!e) {} 判斷條件中的三個感嘆號什麽意思
-s 布爾值 ont gpo 布爾 log 判斷 clas 變量 兩個感嘆號的意思就是,將變量轉換為其對應的布爾值。 !!e就是e對應的布爾值,true或者false。 !!!e==!(!!e)==!true/!false=false/true;js if(!!!e) {}
2.請設計輸出實數的格式,包括:⑴一行輸出一個實數;⑵一行內輸出兩個實數;⑶一行內輸出三個實數。
import java.util.Scanner; import java.math.BigDecimal; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(Syst
請設計輸出實數的格式,包括:⑴一行輸出一個實數;⑵一行內輸出兩個實數;⑶一行內輸出三個實數。實數用"6.2f"格式輸出。
import java.util.Scanner; import java.text.DecimalFormat; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(S