javascript中2個感嘆號的用法實例詳解
在javascript代碼中經(jīng)常會見到!!的情況,本文即以實例形式較為深入的分析javascript中2個感嘆號的用法。分享給大家供大家參考之用。具體分析如下:
javascript中的!!是邏輯"非非",即是在邏輯“非”的基礎(chǔ)上再"非"一次。通過!或!!可以將很多類型轉(zhuǎn)換成bool類型,再做其它判斷。
一、應(yīng)用場景:判斷一個對象是否存在
假設(shè)有這樣一個json對象:
{ color: "#E3E3E3", "font-weight": "bold" }
需要判斷是否存在,用!!再好不過。
如果僅僅打印對象,無法判斷是否存在:
var temp = { color: "#A60000", "font-weight": "bold" };
alert(temp);
結(jié)果:[object: Object]
如果對json對象實施!或!!,就可以判斷該json對象是否存在:
var temp = { color: "#A60000", "font-weight": "bold" };
alert(!temp);
結(jié)果:false
var temp = { color: "#A60000", "font-weight": "bold" };
alert(!!temp);
結(jié)果:true
二、通過!或!!把各種類型轉(zhuǎn)換成bool類型的慣例
1.對null的"非"返回true
var temp = null; alert(temp);
結(jié)果:null
var temp = null; alert(!temp);
結(jié)果:true
var temp = null; alert(!!temp);
結(jié)果:false
2.對undefined的"非"返回true
var temp; alert(temp);
結(jié)果:undefined
var temp; alert(!temp);
結(jié)果:true
var temp; alert(!!temp);
結(jié)果:false
3.對空字符串的"非"返回true
var temp=""; alert(temp);
結(jié)果:空
var temp=""; alert(!temp);
結(jié)果:true
var temp=""; alert(!!temp);
結(jié)果:false
4.對非零整型的"非"返回false
var temp=1; alert(temp);
結(jié)果:1
var temp=1; alert(!temp);
結(jié)果:false
var temp=1; alert(!!temp);
結(jié)果:true
5.對0的"非"返回true
var temp = 0; alert(temp);
結(jié)果:0
var temp = 0; alert(!temp);
結(jié)果:true
var temp = 0; alert(!!temp);
結(jié)果:false
6.對字符串的"非"返回false
var temp="ab"; alert(temp);
結(jié)果:ab
var temp="ab"; alert(!temp);
結(jié)果:false
var temp="ab"; alert(!!temp);
結(jié)果:true
7.對數(shù)組的"非"返回false
var temp=[1,2]; alert(temp);
結(jié)果:1,2
var temp=[1,2]; alert(!temp);
結(jié)果:false
var temp=[1,2]; alert(!!temp);
結(jié)果:true
相信本文所述對大家的javascript程序設(shè)計的學(xué)習(xí)有一定的借鑒價值。
相關(guān)文章
微信小程序?qū)W習(xí)筆記之文件上傳、下載操作圖文詳解
這篇文章主要介紹了微信小程序?qū)W習(xí)筆記之文件上傳、下載操作,結(jié)合實例形式分析了微信小程序圖片文件傳輸?shù)脑?、步驟及后臺php操作相關(guān)實現(xiàn)技巧,并結(jié)合圖文形式予以詳細(xì)說明,需要的朋友可以參考下2019-03-03
JavaScript導(dǎo)出CSV文件不完整的問題解決方法
在JavaScript中處理CSV文件時,需要特別注意一些特殊字符,例如逗號、雙引號、換行符等,這些字符可能會影響CSV文件的解析,導(dǎo)致數(shù)據(jù)錯亂,所以本文給大家介紹了如何解決JavaScript導(dǎo)出CSV文件不完整的問題,需要的朋友可以參考下2024-06-06
同一個網(wǎng)頁中實現(xiàn)多個JavaScript特效的方法
這篇文章主要介紹了同一個網(wǎng)頁中實現(xiàn)多個JavaScript特效的方法,實例分析了多個特效的實現(xiàn)原理與相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-02-02
JavaScript實現(xiàn)格式化字符串函數(shù)String.format
本文主要介紹了JavaScript實現(xiàn)格式化字符串函數(shù)String.format(可自動解析引號轉(zhuǎn)義字符)。具有很好的參考價值,需要的朋友一起來看下吧2016-12-12
微信小程序?qū)崿F(xiàn)canvas分享朋友圈海報
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)canvas分享朋友圈海報,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-06-06

