av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

如何獲取Javascript變量的類型

Javascript是一種弱類型語言,它允許我們?cè)诓宦暶髯兞款愋偷那闆r下直接使用變量。但有時(shí)候,我們需要知道一個(gè)變量的具體類型以便做出相應(yīng)的操作。

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

typeof操作符

最常用且最基本的方法就是使用typeof操作符。這個(gè)操作符可以返回一個(gè)字符串值,表示給定表達(dá)式(或者說值)所屬數(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)算符用來判斷某個(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)算符來判斷一個(gè)變量是否屬于某個(gè)類(如Array、Object等)的實(shí)例。但該方法只能用于對(duì)象類型,對(duì)于基本數(shù)據(jù)類型則會(huì)返回false。

constructor屬性

每個(gè)Javascript對(duì)象都有一個(gè)constructor屬性,它指向創(chuàng)建該對(duì)象的構(gòu)造函數(shù)。通過檢查某個(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

從上面例子可以看到,我們可以通過檢查某個(gè)變量的constructor屬性值來確定其具體數(shù)據(jù)類型。注意到這種方式只適用于已經(jīng)被實(shí)例化過的對(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方法來判斷某個(gè)變量的具體數(shù)據(jù)類型。該方法也適用于基本數(shù)據(jù)類型。

以上就是Javascript獲取變量類型的幾種方式。需要根據(jù)具體情況選擇不同的方式進(jìn)行判斷。
分享題目:如何獲取Javascript變量的類型
網(wǎng)站地址:http://uogjgqi.cn/article/copipgi.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流