日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
如何獲取Javascript變量的類型
Javascript是一種弱類型語(yǔ)言,它允許我們?cè)诓宦暶髯兞款愋偷那闆r下直接使用變量。但有時(shí)候,我們需要知道一個(gè)變量的具體類型以便做出相應(yīng)的操作。

在Javascript中,如何獲取一個(gè)變量的數(shù)據(jù)類型呢?

typeof操作符

最常用且最基本的方法就是使用typeof操作符。這個(gè)操作符可以返回一個(gè)字符串值,表示給定表達(dá)式(或者說(shuō)值)所屬數(shù)據(jù)類型。

例如:

```

console.log(typeof 42); // "number"

console.log(typeof true); // "boolean"

console.log(typeof "hello world"); // "string"

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

console.log(typeof null); // "object" 注意:null被認(rèn)為是對(duì)象

從上面例子可以看到,對(duì)于數(shù)字、布爾、字符串和未定義(undefined)等基本數(shù)據(jù)類型都能夠正確地識(shí)別其數(shù)據(jù)類型。

但注意到最后一個(gè)例子輸出“object”,而不是“null”。這是因?yàn)闅v史遺留問題導(dǎo)致了null被錯(cuò)誤地認(rèn)為是對(duì)象(實(shí)際上它應(yīng)該屬于特殊值)。如果想要檢測(cè)是否真正存在對(duì)象,則需要進(jìn)一步判斷。

instanceof運(yùn)算符

instanceof運(yùn)算符用來(lái)判斷某個(gè)實(shí)例是否屬于某個(gè)類。

var arr = [1, 2, 3];

console.log(arr instanceof Array); // true

console.log(arr instanceof Object); // true

var obj = { name: "John", age: 30 };

console.log(obj instanceof Object); // true

從上面例子可以看到,我們可以使用instanceof運(yùn)算符來(lái)判斷一個(gè)變量是否屬于某個(gè)類(如Array、Object等)的實(shí)例。但該方法只能用于對(duì)象類型,對(duì)于基本數(shù)據(jù)類型則會(huì)返回false。

constructor屬性

每個(gè)Javascript對(duì)象都有一個(gè)constructor屬性,它指向創(chuàng)建該對(duì)象的構(gòu)造函數(shù)。通過(guò)檢查某個(gè)變量的constructor屬性值就可以得知其所屬的數(shù)據(jù)類型。

var num = new Number(42);

console.log(num.constructor === Number); // true

var str = new String("hello world");

console.log(str.constructor === String); // true

var bool = new Boolean(true);

console.log(bool.constructor === Boolean); // true

從上面例子可以看到,我們可以通過(guò)檢查某個(gè)變量的constructor屬性值來(lái)確定其具體數(shù)據(jù)類型。注意到這種方式只適用于已經(jīng)被實(shí)例化過(guò)的對(duì)象或者包裝器(wrapper)型基本數(shù)據(jù)類型。

Object.prototype.toString方法

還有一種比較通用且可靠的方法是使用Object.prototype.toString方法。這個(gè)方法會(huì)返回當(dāng)前調(diào)用toString()方法之前最初創(chuàng)建該對(duì)象時(shí)候原型鏈中最頂端那個(gè)構(gòu)造函數(shù)名稱表示當(dāng)前變量所屬類別。

function Person(name) {

this.name = name;

}

var john = new Person("John");

console.log(Object.prototype.toString.call(john)); // "[object Object]"

console.log(Object.prototype.toString.call(arr)); // "[object Array]"

從上面例子可以看到,我們可以使用Object.prototype.toString方法來(lái)判斷某個(gè)變量的具體數(shù)據(jù)類型。該方法也適用于基本數(shù)據(jù)類型。

以上就是Javascript獲取變量類型的幾種方式。需要根據(jù)具體情況選擇不同的方式進(jìn)行判斷。
分享題目:如何獲取Javascript變量的類型
文章起源:http://www.5511xx.com/article/copipgi.html