JavaScript中檢測對象類型的運(yùn)算符有:typeof、instanceof)typeof運(yùn)算符typeof是一元運(yùn)算符,返回結(jié)果是一個說明運(yùn)算數(shù)類型的字符串。如:"number","string","boolean","object","function","undefined"(可用于判斷變量是否存在)。但typeof的能力有限,其對于Date、RegExp類型返回的都是"object"。如:typeof{};//"object"typeof[];//"object"typeofnewDate();//"object"所以它只在區(qū)別對象和原始類型的時候才有用。要區(qū)一種對象類型和另一種對象類型,必須使用其他的方法。如:instanceof運(yùn)算符或?qū)ο蟮腸onstructor屬。2)instanceof運(yùn)算符。instanceof運(yùn)算符要求其左邊的運(yùn)算數(shù)是一個對象,右邊的運(yùn)算數(shù)是對象類的名字或構(gòu)造函數(shù)。如果object是class或構(gòu)造函數(shù)的實例,則instanceof運(yùn)算符返回true。如果object不是指定類或函數(shù)的實例,或者object為null,則返回false。如:[]instanceofArray;//true[]instanceofObject;//true[]instanceofRegExp;//falsenewDateinstanceofDate;//true

我們提供的服務(wù)有:做網(wǎng)站、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、紅古ssl等。為上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的紅古網(wǎng)站制作公司
一般使用雙等來判斷(==),如果還需要類型相同那么就用三等(===)。
說一下這兩個的區(qū)別:
== equality 等同,=== identity 恒等。
==, 兩邊值類型不同的時候,要先進(jìn)行類型轉(zhuǎn)換,再比較。
==,不做類型轉(zhuǎn)換,類型不同的一定不等。
下面分別說明:
先說 ===,這個比較簡單。下面的規(guī)則用來判斷兩個值是否===相等:
1、如果類型不同,就[不相等]
2、如果兩個都是數(shù)值,并且是同一個值,那么[相等]。
3、如果兩個都是字符串,每個位置的字符都一樣,那么[相等];否則[不相等]。
4、如果兩個值都是true,或者都是false,那么[相等]。
5、如果兩個值都引用同一個對象或函數(shù),那么[相等];否則[不相等]。
6、如果兩個值都是null,或者都是undefined,那么[相等]。
再說 ==,根據(jù)以下規(guī)則:
1、如果兩個值類型相同,進(jìn)行 === 比較。
2、如果兩個值類型不同,他們可能相等。根據(jù)下面規(guī)則進(jìn)行類型轉(zhuǎn)換再比較:
a、如果一個是null、一個是undefined,那么[相等]。
b、如果一個是字符串,一個是數(shù)值,把字符串轉(zhuǎn)換成數(shù)值再進(jìn)行比較。
c、如果任一值是 true,把它轉(zhuǎn)換成 1 再比較;如果任一值是 false,把它轉(zhuǎn)換成 0 再比較。
d、任何其他組合,都[不相等]。
1、使用typeof操作符檢測變量類型
數(shù)組、Null、Object
為
object
類型
字符串
為
string
類型
true和false
為
boolean
類型
整型、浮點型為
number
類型
2、如果要區(qū)分?jǐn)?shù)組和非數(shù)組對象,需要使用構(gòu)造函數(shù)來判斷
if(arr.constructor==Array)
//
arr
是數(shù)組
else
//
arr
不是數(shù)組
用javascript判斷用的是什么瀏覽器方法如下:
寫兩個判斷:
第一個:navigator.appName是否為Microsoft Internet Explorer,
過濾出IE和ie內(nèi)核的瀏覽器;
第二個:通過檢索navigator.appVersion中的內(nèi)容,
一般都帶有該瀏覽器的名稱,從而過濾出ie瀏覽器。
javascript中判斷變量是否為數(shù)字類型的方法有兩種:
方法一:
function IsNum(s)
{
if(s!=null){
var r,re;
re = /\d*/i; //\d表示數(shù)字,*表示匹配多個數(shù)字
r = s.match(re);
return (r==s)?true:false;
}
return false;
}
方法二:
function IsNum(s)
{
if (s!=null s!="")
{
return !isNaN(s);
}
return false;
}
兩種方法都可以檢查參數(shù)是否為數(shù)字。
第一種使用正則表達(dá)式檢查,對于檢查的內(nèi)容更加靈活,但顯得麻煩;
第二種方法,直接調(diào)用系統(tǒng)的isNaN() ,對所有數(shù)字均有效,簡單快捷。
文章標(biāo)題:javascript判斷,JavaScript判斷語句
當(dāng)前地址:http://chinadenli.net/article9/dsechoh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、自適應(yīng)網(wǎng)站、品牌網(wǎng)站設(shè)計、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)