2014/03/14

【JS】JavaScript中的驚嘆號與雙驚嘆號

比較常碰到驚嘆號都是用在 !=  不等於上面

但是突然遇到雙驚嘆號的寫法,查完網路上面的資料才發現它可以用來判斷空字串等。

首先使用以下程式碼驗證:

HTML
<div class="a"></div>
<div class="b"></div>
<div class="c"></div>
<div class="d"></div>
<div class="e"></div>
<hr/>
<div class="a2"></div>
<div class="b2"></div>
<div class="c2"></div>
<div class="d2"></div>
JavaScript
var a = null;
var b = 0;
var c = "";
var d = undefined;
var e;
$(".a").text(!!a);
$(".b").text(!!b);
$(".c").text(!!c);
$(".d").text(!!d);
$(".e").text(!!e);
var a2 = !null;
var b2 = 1;
var c2 = "c2";
var d2 = !undefined;
$(".a2").text(!!a2);
$(".b2").text(!!b2);
$(".c2").text(!!c2);
$(".d2").text(!!d2);
由以上範例驗證出單驚嘆號:
!參數 回傳若是 無值、0、空、空字串,會被轉為true,
!參數 蕤傳若是 有值、1、非空、非空字串,會被轉為false。

相反的雙驚歎號則是:
!!參數 回傳若是 無值、0、空、空字串,會被轉為false,
!!參數 蕤傳若是 有值、1、非空、非空字串,會被轉為true。


沒有留言:

張貼留言