javascript中typeof操作符和constucor屬性檢測(cè)
*#type.js
function Person(name, age) {
this.name = name;
this.age = age;
}
var d = {an: 'object'};
var a = ['apple', 'banana'];
var f = function() {};
var s = 'David';
var n = 33;
var b = true;
var o = new Object();
var person = new Person('Mark', 22);
console.log(typeof(d) + ': ' + d.constructor);
console.log(typeof(a) + ': ' + a.constructor);
console.log(typeof(f) + ': ' + f.constructor);
console.log(typeof(s) + ': ' + s.constructor);
console.log(typeof(n) + ': ' + n.constructor);
console.log(typeof(b) + ': ' + b.constructor);
console.log(typeof(o) + ': ' + o.constructor);
console.log(typeof(person) + ': ' + person.constructor);
運(yùn)行$node type.js得
object: function Object() { [native code] }
object: function Array() { [native code] }
function: function Function() { [native code] }
string: function String() { [native code] }
number: function Number() { [native code] }
boolean: function Boolean() { [native code] }
object: function Object() { [native code] }
object: function Person() { [native code] }
可見(jiàn), 使用typeof操作符和constucor屬性檢測(cè)對(duì)象類型返回值是存在差異的.
如果變量是數(shù)組, typeof操作符返回object, constructor屬性返回Array;
如果變量是構(gòu)造函數(shù)對(duì)象, typeof操作符返回object, constructor屬性返回該構(gòu)造函數(shù)
每個(gè)變量都有其construcor屬性, 這個(gè)屬性不單單提供了這個(gè)是否對(duì)象, 還提供了這個(gè)對(duì)象是什么類型的對(duì)象. 總之, constructor屬性保存了一個(gè)指向?qū)ο蟮臉?gòu)造函數(shù), 無(wú)論它是自定義的還是原生類型的對(duì)象.
有一點(diǎn)需要注意的是, 不同的瀏覽器對(duì)typeof操作符檢測(cè)正則表達(dá)式會(huì)有所不同,IE和Firefox會(huì)返回'object'.
好了,今天內(nèi)容就先到這里了,小伙伴們?nèi)缬幸蓡?wèn),就在下方留言吧。
相關(guān)文章
使用Promise鏈?zhǔn)秸{(diào)用解決多個(gè)異步回調(diào)的問(wèn)題
這篇文章主要給大家介紹了使用Promise鏈?zhǔn)秸{(diào)用解決多個(gè)異步回調(diào)問(wèn)題的方法,文中給出了詳細(xì)的介紹和示例代碼,有需要的朋友可以參考借鑒,下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-01-01
微信小程序textarea層級(jí)過(guò)高的解決方法
這篇文章主要給大家介紹了關(guān)于微信小程序textarea層級(jí)過(guò)高問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
JavaScript電子時(shí)鐘倒計(jì)時(shí)
這篇文章主要介紹了JavaScript電子時(shí)鐘倒計(jì)時(shí)的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的朋友可以參考一下2016-01-01
javascript教程:關(guān)于if簡(jiǎn)寫語(yǔ)句優(yōu)化的方法
這篇文章主要介紹了js中if簡(jiǎn)寫語(yǔ)句優(yōu)化的方法,需要的朋友可以參考下2014-05-05
簡(jiǎn)單了解JavaScript arguement原理及作用
這篇文章主要介紹了簡(jiǎn)單了解JavaScript arguement原理及作用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
JavaScript中判斷整字類型最簡(jiǎn)潔的實(shí)現(xiàn)方法
這篇文章主要介紹了JavaScript中判斷整字類型最簡(jiǎn)潔的實(shí)現(xiàn)方法,本文給出多個(gè)判斷整數(shù)的方法,最后總結(jié)出一個(gè)最短、最簡(jiǎn)潔的實(shí)現(xiàn)方法,需要的朋友可以參考下2014-11-11

