色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript 嘆號(hào)

JavaScript嘆號(hào),是編程中的一種非常重要的操作符,它可以作為邏輯運(yùn)算符、強(qiáng)制類型轉(zhuǎn)換符,也可以表示函數(shù)的默認(rèn)值和異步代碼中的狀態(tài)標(biāo)識(shí)符等。

作為邏輯運(yùn)算符,嘆號(hào)用來取反布爾值,將true轉(zhuǎn)換為false,將false轉(zhuǎn)換為true。在條件判斷中,嘆號(hào)常常用來檢測某個(gè)變量的值是否為undefined、null、空字符串、0或false等,如下面的例子:

var x = null;
if(!x){
console.log("x是null");
}
var y = "abc";
if(!y){
console.log("y是空字符串");
}

作為強(qiáng)制類型轉(zhuǎn)換符,嘆號(hào)可以將非布爾值轉(zhuǎn)換為布爾值。任何非0、非空字符串、非null、非undefined、非NaN的值都被視為true,其他值被視為false。下面的代碼演示了將各種類型的值轉(zhuǎn)換為布爾值的結(jié)果:

console.log(Boolean(null)); //false
console.log(Boolean("")); //false
console.log(Boolean(0)); //false
console.log(Boolean(undefined)); //false
console.log(Boolean(NaN)); //false
console.log(Boolean("abc")); //true
console.log(Boolean(1)); //true
console.log(Boolean({name:"Tom"})); //true
console.log(Boolean([])); //true

除了作為邏輯和類型轉(zhuǎn)換符,嘆號(hào)還可以表示函數(shù)的默認(rèn)值,將函數(shù)參數(shù)默認(rèn)值設(shè)置為false、空字符串、0或空數(shù)組等。比如下面的代碼設(shè)置了函數(shù)的默認(rèn)參數(shù)值:

function greet(name = "world"){
console.log("Hello, " + name + "!");
}
greet("Tom"); //Hello, Tom!
greet(); //Hello, world!

在異步代碼中,嘆號(hào)也可以用來表示Promise對(duì)象中的狀態(tài)標(biāo)識(shí)符,在then和catch方法中作為參數(shù)傳遞,以便對(duì)異步操作的結(jié)果進(jìn)行處理。比如下面的代碼使用Promise對(duì)象來模擬異步加載圖片,并在then方法中處理結(jié)果:

var imgURL = "http://abc.com/img.jpg";
var imgPromise = new Promise(function(resolve, reject){
var img = new Image();
img.onload = function(){
resolve(img);
};
img.onerror = function(){
reject("圖片加載失敗");
};
img.src = imgURL;
});
imgPromise.then(function(img){
console.log("圖片加載成功");
}).catch(function(err){
console.log("圖片加載失敗:" + err);
});

JavaScript中的嘆號(hào)操作符在編程中有著廣泛的應(yīng)用,不僅可以用來逆轉(zhuǎn)布爾值、強(qiáng)制類型轉(zhuǎn)換,還可以表示函數(shù)默認(rèn)參數(shù)值和Promise對(duì)象的狀態(tài)標(biāo)識(shí)符等。