真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

基于javascript中typeof和類型判斷的示例分析-創(chuàng)新互聯(lián)

小編給大家分享一下基于javascript中typeof和類型判斷的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都創(chuàng)新互聯(lián)公司專注于延邊朝鮮族企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,購物商城網(wǎng)站建設(shè)。延邊朝鮮族網(wǎng)站建設(shè)公司,為延邊朝鮮族等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站設(shè)計,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

typeof

ECMAScript 有 5 種原始類型(primitive type),即 Undefined、Null、Boolean、Number 和 String。我們都知道可以使用typeof運算符求得一個變量的類型,但是對引用類型變量卻只會返回object,也就是說typeof只能正確識別基本類型值變量。

var a = "abc";
console.log(typeof a); // "string"
var b = 123;
console.log(typeof b); // "number"
var c = true;
console.log(typeof c); // "boolean"
var d = null;
console.log(typeof d); // "object"
var f = undefined;
console.log(typeof f); // "undefined"
var g;
console.log(typeof g); // "undefined"

console.log(typeof x); // "undefined"

您也許會問,為什么 typeof 運算符對于 null 值會返回 "object"。這實際上是 JavaScript 最初實現(xiàn)中的一個錯誤,然后被 ECMAScript 沿用了?,F(xiàn)在,null 被認為是對象的占位符,從而解釋了這一矛盾,但從技術(shù)上來說,它仍然是原始值。

最后一個比較奇怪,typeof一個不存在的變量x居然返回了"object"而不是"undefined"。

我們在來如下代碼:

var a = function() { };
console.log(typeof a); // "function"
var b = [1,2,3]; 
console.log(typeof b); // "object"
var c = { };
console.log(typeof c); // "object"

對于數(shù)組和對象都返回"object",因此我們?nèi)粘i_發(fā)中一個常見需求就是如何判斷變量是數(shù)組還是對象。

類型判斷

類型判斷,一般就是判斷是否是數(shù)組,是否是空對象。這是針對這個需求,我日常用過或見過的判斷方法

判斷是否是數(shù)組

有數(shù)組:var a = [1,2,3,4,5];

方法一:

toString.call(a); // "[object Array]"方法二:

a instanceof Array; //true方法三:

a.constructor == Array; //true 第一種方法比較通用,也就是Object.prototype.toString.call(a)的簡寫。

instanceof和constructor判斷的變量,必須在當(dāng)前頁面聲明的,比如,一個頁面(父頁面)有一個框架,框架中引用了一個頁面(子頁面),在子頁面中聲明了一個a,并將其賦值給父頁面的一個變量,這時判斷該變量,Array == object.constructor會返回false;

var a = [1,2,3,4,5];
console.log(toString.call(a)); // "[object Array]"      
console.log(a instanceof Array); //true
console.log(a.constructor == Array); //true

判斷是否是空對象

有變量:var obj = {};

方法一:

JSON.stringify(obj); // "{}"通過轉(zhuǎn)換成JSON對象來判斷是否是空大括號

方法二:

if(obj.id){ //如果屬性id存在....}這個方法比較土,大多數(shù)人都能想到,前提是得知道對象中有某個屬性。

方法三:

function isEmptyObject(e) { 
var t; for (t in e) return !1; return !0 } //trueisEmptyObject(obj);
//falseisEmptyObject({ "a":1, "b":2});

這個方法是jQuery的isEmptyObject()方法的實現(xiàn)方式。

以上是“基于javascript中typeof和類型判斷的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


網(wǎng)頁標(biāo)題:基于javascript中typeof和類型判斷的示例分析-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://weahome.cn/article/jihss.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部