typeof、indexOf瞒爬、instanceOf笑诅、valueOf詳解

1调缨、typeof 運(yùn)算符

該運(yùn)算符用來檢測(cè)基本數(shù)據(jù)類型

1 console.log(typeof("Json"));//string
2 console.log(typeof(2));//number
3 console.log(typeof(true));//boolean
4 console.log(typeof({a:1}));//object
5 console.log(typeof(function(){}));//function
6 console.log(typeof(undefined));//undefined

在ES6之前typeof返回值就是上面列出的六種:string、number吆你、bollean、object俊犯、function妇多、undefined;ES6出來后又增加了一種symbol

console.log(typeof(Symbol()));//symbol

2、indexOf()

該方法用來返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置燕侠。

語法:indexOf(searchvalue,fromindex);兩個(gè)參數(shù)者祖,參數(shù)一表示查詢的字符串值,參數(shù)二可選表示開始查詢的起始位置绢彤,若不寫默認(rèn)從首字符開始查詢

1 var string = "abcdeADhu390u09";
2 console.log(string.indexOf("d"));//3  注意下標(biāo)值從0開始
3 console.log(string.indexOf("D"));//6 

上面代碼都只有一個(gè)參數(shù)分別打印出"d"七问、"D"字符串值首次出現(xiàn)的位置,發(fā)現(xiàn)輸出的值不同茫舶,說明indexOf()方法對(duì)大小寫有區(qū)分械巡。

下面這段代碼傳入兩個(gè)參數(shù),根據(jù)前面說的參數(shù)二表示查詢的起始位置饶氏,所以從第五位開始查詢"d"首次出現(xiàn)的位置讥耗,查詢不到返回-1

console.log(string.indexOf("d",4));//-1

indexOf()方法還常用來判斷瀏覽器的類型,其用法如下:

1 if(navigator.userAgent.indexOf("Firefox")>0){
2     return "Firefox";
3 }else if(navigator.userAgent.indexOf("Chrome")>0){
4     return "Chrome";
5 }else if(navigator.userAgent.indexOf("Opera")>0){
6     return "Opera";
7 }

以navigator.userAgent.indexOf("Opera")查詢來講疹启,若打開的瀏覽器是歐朋則返回一個(gè)大于0的值古程,否則返回-1
3、instanceOf
該運(yùn)算符用來檢測(cè)對(duì)象的類型
語法:object instanceof constructor 參數(shù)object表示要檢測(cè)的對(duì)象喊崖,參數(shù)constructor表示某個(gè)構(gòu)造函數(shù)

function Person(){}
var Dave = new Person();
//Object.prototypeOf(Dave)===Person.prototype
console.log(Dave instanceof Person);//true

可以這樣理解:instanceof檢測(cè)constructor.prototype是否存在于參數(shù)object原型鏈上挣磨。若存在返回true
上面說的是較常規(guī)的用法,現(xiàn)在來看看在繼承中的用法

1 function Person(){};
2 function Student(){};
3 Student.prototype = new Person();//js中的原型繼承
4 var Dave = new Student();
5 console.log(Dave instanceof Student);//true
6 console.log(Dave instanceof Person);//true

上面一段代碼判斷Dave是否是Student的實(shí)例荤懂,并且是否是其父類型的實(shí)例

4茁裙、valueOf()

該方法返回Boolean對(duì)象的原始值

語法:booleanObject.valueOf()

1 var boo = new Boolean(true);
2 console.log(boo.valueOf());

補(bǔ)充下與本章不相關(guān)的小知識(shí)點(diǎn):

這里穿插一點(diǎn)"=="與"==="的小知識(shí)點(diǎn)

1 var a = undefined;
2 var b = null;
3 console.log(a==b);//true
4 console.log(a===b);//false

null與undefined在"=="情況下返回true,因?yàn)樗麄兪穷愃频闹担?==="情況下返回false势誊,因?yàn)樗麄儾皇窍嗤愋偷闹怠?/p>

特殊的還有

1 console.log(NaN==NaN);//false
2 console.log(3==NaN);//false

若有一個(gè)操作符是NaN呜达,在"=="情況下返回false,即使兩個(gè)操作數(shù)都是NaN,在"=="情況下也返回false

1 console.log(false==0);//true
2 console.log(true==1);//true
3 console.log(true==2);//false

在操作符為"=="時(shí)粟耻,true與1返回true

1 console.log(null==0);//false
2 console.log(undefined==0);//false
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末查近,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子挤忙,更是在濱河造成了極大的恐慌霜威,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件册烈,死亡現(xiàn)場(chǎng)離奇詭異戈泼,居然都是意外死亡婿禽,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門大猛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來扭倾,“玉大人,你說我怎么就攤上這事挽绩√乓迹” “怎么了?”我有些...
    開封第一講書人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵唉堪,是天一觀的道長(zhǎng)模聋。 經(jīng)常有香客問我,道長(zhǎng)唠亚,這世上最難降的妖魔是什么链方? 我笑而不...
    開封第一講書人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮灶搜,結(jié)果婚禮上祟蚀,老公的妹妹穿的比我還像新娘。我一直安慰自己占调,他們只是感情好暂题,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著究珊,像睡著了一般薪者。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上剿涮,一...
    開封第一講書人閱讀 51,708評(píng)論 1 305
  • 那天言津,我揣著相機(jī)與錄音,去河邊找鬼取试。 笑死悬槽,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的瞬浓。 我是一名探鬼主播初婆,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼猿棉!你這毒婦竟也來了磅叛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤萨赁,失蹤者是張志新(化名)和其女友劉穎弊琴,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體杖爽,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡敲董,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年紫皇,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腋寨。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡聪铺,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出精置,到底是詐尸還是另有隱情计寇,我是刑警寧澤,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布脂倦,位于F島的核電站,受9級(jí)特大地震影響元莫,放射性物質(zhì)發(fā)生泄漏赖阻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一踱蠢、第九天 我趴在偏房一處隱蔽的房頂上張望火欧。 院中可真熱鬧,春花似錦茎截、人聲如沸苇侵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽榆浓。三九已至,卻和暖如春撕攒,著一層夾襖步出監(jiān)牢的瞬間陡鹃,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工抖坪, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留萍鲸,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓擦俐,卻偏偏與公主長(zhǎng)得像脊阴,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蚯瞧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

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