在Javascript中,變量類型的判斷和輸出是開發中經常遇到的問題,因為Javascript采用的是弱類型語言,變量的類型會因為賦值的不同而不斷變化。接下來我們就來介紹一些輸出變量類型的方法。
typeof方法
typeof方法可以判斷變量的類型,返回值為字符串類型。當變量為基本數據類型(包括Number、String、Boolean、Undefined、Null、Symbol)時,typeof方法會返回相應的類型名稱;當變量為對象或者函數時,typeof會返回object和function,但不會區分出具體類型。我們來看一個例子:
instanceof方法
instanceof方法用于判斷一個對象是否為某個類的實例。當對象是該類的實例時,返回true;否則返回false。instanceof只能用來判斷對象是否為實例對象,不能用來判斷基本數據類型。我們來看一個例子:
Object.prototype.toString方法
Object.prototype.toString方法是Javascript中判斷變量類型的最可靠方法,它返回一個格式為"[object 數據類型]"的字符串。其中數據類型包括Number、String、Boolean、Undefined、Null、Symbol、Function、Array、Date、RegExp等等。我們來看一個例子:
總結
以上是Javascript中輸出變量類型的三種方法,typeof方法適用于基本數據類型的判斷,但無法區分具體類型;instanceof方法適用于判斷對象是否為某個類的實例;Object.prototype.toString方法是最可靠的方法,適用于各種類型的判斷。根據實際需求選擇不同的方法可以更好地完成開發。
typeof方法
typeof方法可以判斷變量的類型,返回值為字符串類型。當變量為基本數據類型(包括Number、String、Boolean、Undefined、Null、Symbol)時,typeof方法會返回相應的類型名稱;當變量為對象或者函數時,typeof會返回object和function,但不會區分出具體類型。我們來看一個例子:
let a = 1;
console.log(typeof(a)); // 輸出 number
console.log(typeof('hello')); // 輸出 string
console.log(typeof(true)); // 輸出 boolean
console.log(typeof(undefined)); // 輸出 undefined
console.log(typeof(null)); // 輸出 object
console.log(typeof({})); // 輸出 object
console.log(typeof(function() {})); // 輸出 function
instanceof方法
instanceof方法用于判斷一個對象是否為某個類的實例。當對象是該類的實例時,返回true;否則返回false。instanceof只能用來判斷對象是否為實例對象,不能用來判斷基本數據類型。我們來看一個例子:
let a = new Array();
console.log(a instanceof Array); // 輸出 true
console.log(a instanceof Object); // 輸出 true
console.log('abc' instanceof String); // 輸出 false
console.log(false instanceof Boolean); // 輸出 false
console.log(123 instanceof Number); // 輸出 false
Object.prototype.toString方法
Object.prototype.toString方法是Javascript中判斷變量類型的最可靠方法,它返回一個格式為"[object 數據類型]"的字符串。其中數據類型包括Number、String、Boolean、Undefined、Null、Symbol、Function、Array、Date、RegExp等等。我們來看一個例子:
let a = [];
console.log(Object.prototype.toString.call(a)); // 輸出 [object Array]
console.log(Object.prototype.toString.call('abc')); // 輸出 [object String]
console.log(Object.prototype.toString.call(true)); // 輸出 [object Boolean]
console.log(Object.prototype.toString.call(undefined)); // 輸出 [object Undefined]
console.log(Object.prototype.toString.call(null)); // 輸出 [object Null]
console.log(Object.prototype.toString.call({})); // 輸出 [object Object]
console.log(Object.prototype.toString.call(function() {})); // 輸出 [object Function]
console.log(Object.prototype.toString.call(new Date())); // 輸出 [object Date]
console.log(Object.prototype.toString.call(/abc/g)); // 輸出 [object RegExp]
總結
以上是Javascript中輸出變量類型的三種方法,typeof方法適用于基本數據類型的判斷,但無法區分具體類型;instanceof方法適用于判斷對象是否為某個類的實例;Object.prototype.toString方法是最可靠的方法,適用于各種類型的判斷。根據實際需求選擇不同的方法可以更好地完成開發。
上一篇java面試技巧和答案
下一篇css文件怎么加入文字