資料型別檢測(乾貨一籮筐)附例項

2021-10-01 02:24:36 字數 2709 閱讀 2941

var str =

"aaa*^%$"

var num =

100;

var bol =

true

;var n=

null

;var u = undefined;

var obj =

;var a =[1

,2];

functionfn(

) console.

log(

typeof str)

;// "string"

console.

log(

typeof num)

;// "number"

console.

log(

typeof bol)

;// "boolean"

console.

log(

typeof n)

;// "object"

console.

log(

typeof u)

;// "undefined"

console.

log(

typeof obj)

;// "object"

console.

log(

typeof a)

;// "object"

console.

log(

typeof fn)

;// "function"

1.返回乙個字串,字串中代表了當前值對應的資料型別

2.如果檢測null ,則返回"object";,null的空指標物件

3.typeof 不能區分物件資料型別中具體的資料型別;但是可以檢測函式;

只要當前類在當前例項的原型鏈上,都返回true;

instanceof 不能檢測通過字面量方式建立的基本資料型別的值;(字面量建立是用var或let建立的變數,比如let num=10;例項建立通過new出來乙個例項)

繼承可以導致檢測結果不準確;

functionfn(

)var f =

newfn

;// f 是由fn構建出來的;f是fn 的乙個例項;

console.

log(f instanceoffn)

;//true

console.

log(f instanceof

function);

// false

console.

log(f instanceof

object);

// true

var a =

100;

// 不是乙個標準的例項;

console.

log(a instanceof

number);

// false

當修改原型的空間位址;或者通過繼承修改了原型鏈;都會導致檢測結果不準確;

functionfn(

)var f =

newfn

; console.

log(f.constructor === object)

;// false;

var num =1;

console.

log(num.constructor === number);*

/// true

null這個類是存在的,只是瀏覽器不讓呼叫;

function

sum(

)

var obj =

; obj.

tostring()

// "[object object]"

object.prototype.tostring.

call

(obj)

// "[object object]"

var ary =

; ary.

tostring()

;// "";ary是呼叫了array原型中的tostring;

console.

log(object.prototype.tostring.

call

(ary));

// "[object array]";

var num =1;

var num1 =

newnumber(1

);console.

log(object.prototype.tostring.

call

(num1));

//"[object number]"

console.

log(object.prototype.tostring.

call

(null))

;//"[object null]"

全域性window下,並沒有tostring這個方法;那麼會通過__proto__一直向上查詢到object;最終可以使用object原型中的tostring;讓tostring 執行,並且改變了tostring中的this指向;返回乙個"[object 內建類]"

黴事一籮筐

某日,跟某人相互痛陳自己的糗事,一羅列,發現我曾經遇到過那麼多倒霉事。1.小時候在家裡的桌子上翻跟頭玩,摔到地上,把額頭磕了條疤,這事我自己已經不記得了,是我媽後來告訴我的,但是記事的時候還可以看到額頭的疤痕。2.把蜜蜂當蝴蝶,追著非要去捉,別人在旁邊說是蜜蜂叫我不要抓,仍然勇敢的去追,結果被蜂給蟄...

Erlounge III 歸來,好訊息一籮筐!

中國 erlounge iii 歸來,好訊息一籮筐!本文 自erlang china 期盼已久的 erlounge iii 已經勝利閉幕,在家歇了整整 2 天,總算緩過來點兒。一方面說明此次感冒來勢凶猛 被打敗了 另一方面也說明會議的 密度 實在是太高,講座又太精彩,實在是不忍心睡覺,終於只好嚴重休...

網易部落格 工具 那些年,網易失敗的產品有一籮筐之多

今天上午,網易在香港成功二次上市,網易掌門人丁磊走上人生巔峰。一直以來,除了是外界熟知的遊戲公司之外,網易還有一大特色,即擅長打磨產品。丁磊本身就是個出色且有追求的產品經理,先後打造出網易新聞 網易雲 網易嚴選等爆款產品。正如其他公司一樣,在打造產品之路上,網易即有成功也有失敗。外界不應只看到其高光...