2018-08-28

typeof 是一個(gè)一元運(yùn)算鸦难,放在一個(gè)運(yùn)算數(shù)之前根吁,運(yùn)算數(shù)可以是任意類型。

它返回值是一個(gè)字符串合蔽,該字符串說明運(yùn)算數(shù)的類型击敌。(typeof 運(yùn)算符返回一個(gè)用來表示表達(dá)式的數(shù)據(jù)類型的字符串。 )

typeof其實(shí)就是判斷參數(shù)是什么類型的實(shí)例拴事,就一個(gè)參數(shù)

typeof 一般只能返回如下幾個(gè)結(jié)果:"number"沃斤、"string"圣蝎、"boolean"、"object"衡瓶、"function" 和 "undefined"徘公。

我們可以使用 typeof 來獲取一個(gè)變量是否存在,如 if(typeof

a!="undefined"){alert("ok")}哮针,而不要去使用 if(a) 因?yàn)槿绻?a 不存在(未聲明)則會(huì)出錯(cuò)关面,對(duì)于

Array,Null 等特殊對(duì)象使用 typeof 一律返回 object,這正是 typeof 的局限性十厢。

經(jīng)常會(huì)在js里用到數(shù)組,比如 多個(gè)名字相同的input, 若是動(dòng)態(tài)生成的, 提交時(shí)就需要判斷其是否是數(shù)組.

if(document.mylist.length != "undefined" ) {} //這個(gè)用法有誤.

正確的是 if( typeof(document.mylist.length) != "undefined" ) {}

或 if( !isNaN(document.mylist.length) ) {}

typeof的運(yùn)算數(shù)未定義,返回的就是 "undefined".

在 JavaScript 中等太,判斷一個(gè)變量的類型嘗嘗會(huì)用 typeof 運(yùn)算符,在使用 typeof 運(yùn)算符時(shí)采用引用類型存儲(chǔ)值會(huì)出現(xiàn)一個(gè)問題蛮放,無論引用的是什么類型的對(duì)象缩抡,它都返回 “object”。這就需要用到instanceof來檢測(cè)某個(gè)對(duì)象是不是另一個(gè)對(duì)象的實(shí)例筛武。

instanceof

instanceof運(yùn)算符用來測(cè)試一個(gè)對(duì)象在其原型鏈中是否存在一個(gè)構(gòu)造函數(shù)的prototype屬性缝其。

語法:object instanceof constructor

參數(shù):object(要檢測(cè)的對(duì)象.)constructor(某個(gè)構(gòu)造函數(shù))

描述:instanceof?運(yùn)算符用來檢測(cè)constructor.prototype?是否存在于參數(shù)object?的原型鏈上。

談到 instanceof 我們要多插入一個(gè)問題徘六,就是 function 的 arguments内边,我們大家也許都認(rèn)為 arguments 是一個(gè) Array,但如果使用 instaceof 去測(cè)試會(huì)發(fā)現(xiàn)

arguments?不是一個(gè) Array 對(duì)象待锈,盡管看起來很像漠其。

另外:

測(cè)試 var a=new Array();if (a instanceof Object) alert('Y');else alert('N');

得'Y’

但 if (window instanceof Object) alert('Y');else alert('N');

得'N'

所以,這里的 instanceof 測(cè)試的 object 是指 js 語法中的 object竿音,不是指 dom 模型對(duì)象和屎。

使用 typeof 會(huì)有些區(qū)別

alert(typeof(window)) 會(huì)得 object


需要注意的是,如果表達(dá)式obj instanceof Foo返回true春瞬,則并不意味著該表達(dá)式會(huì)永遠(yuǎn)返回ture柴信,因?yàn)镕oo.prototype屬性的值有可能會(huì)改變,改變之后的值很有可能不存在于obj的原型鏈上宽气,這時(shí)原表達(dá)式的值就會(huì)成為false随常。另外一種情況下,原表達(dá)式的值也會(huì)改變萄涯,就是改變對(duì)象obj的原型鏈的情況绪氛,雖然在目前的ES規(guī)范中,我們只能讀取對(duì)象的原型而不能改變它涝影,但借助于非標(biāo)準(zhǔn)的__proto__魔法屬性枣察,是可以實(shí)現(xiàn)的。比如執(zhí)行obj.__proto__ = {}之后,obj instanceof Foo就會(huì)返回false了序目。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末臂痕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子宛琅,更是在濱河造成了極大的恐慌刻蟹,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嘿辟,死亡現(xiàn)場(chǎng)離奇詭異舆瘪,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)红伦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門英古,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人昙读,你說我怎么就攤上這事召调。” “怎么了蛮浑?”我有些...
    開封第一講書人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵唠叛,是天一觀的道長。 經(jīng)常有香客問我沮稚,道長艺沼,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任蕴掏,我火速辦了婚禮障般,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘盛杰。我一直安慰自己挽荡,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開白布即供。 她就那樣靜靜地躺著定拟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪逗嫡。 梳的紋絲不亂的頭發(fā)上办素,一...
    開封第一講書人閱讀 51,287評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音祸穷,去河邊找鬼。 笑死勺三,一個(gè)胖子當(dāng)著我的面吹牛雷滚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播吗坚,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼祈远,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼呆万!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起车份,我...
    開封第一講書人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤谋减,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后扫沼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體出爹,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年缎除,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了严就。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡器罐,死狀恐怖梢为,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情轰坊,我是刑警寧澤铸董,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站肴沫,受9級(jí)特大地震影響粟害,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜樊零,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一我磁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧驻襟,春花似錦夺艰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至豌习,卻和暖如春存谎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背肥隆。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來泰國打工既荚, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人栋艳。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓恰聘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子晴叨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容