這篇文章里面問的一些知識(shí)點(diǎn)都是我在與學(xué)長交談時(shí)候遇到的有關(guān)網(wǎng)頁的問題。
一、js數(shù)據(jù)類型
學(xué)長問:在js當(dāng)中的基本數(shù)據(jù)類型有哪些窖梁?
答:Number猪叙,Boolean 娇斩,額我不確定string是不是基本數(shù)據(jù)類型,因?yàn)樵趈s上的時(shí)候我當(dāng)時(shí)沒怎么關(guān)注他們的數(shù)據(jù)類型是基本數(shù)據(jù)類型還是引用數(shù)據(jù)類型穴翩,只記了一下js都有什么類型的數(shù)據(jù)犬第,沒去細(xì)細(xì)的研究具體的數(shù)據(jù)類型。當(dāng)時(shí)想著跟java差不多芒帕。因?yàn)閟tring的數(shù)據(jù)類型在java是一個(gè)引用數(shù)據(jù)類型歉嗓。但是在js中用typeof 進(jìn)行檢測的時(shí)候返回的不是object而是String 類型。
畫外音:之后總結(jié)的時(shí)候我感覺到了背蟆,學(xué)長當(dāng)時(shí)已經(jīng)知道我在這方面的知識(shí)不牢固了鉴分。
學(xué)長問:那null呢?它用typeof進(jìn)行檢測之后返回什么呢带膀?
答:null用typeof進(jìn)行檢測返回的是object類型志珍。
問:那null是引用數(shù)據(jù)類型嗎?
答:(想了一會(huì)兒)我不清楚本砰。
畫外音:感覺當(dāng)時(shí)要猝死了碴裙,這應(yīng)該都算是基礎(chǔ)問題了,平時(shí)沒感覺什么点额,現(xiàn)在自己都想問自己平時(shí)都學(xué)了什么疤蛑辍?
學(xué)長講:null雖然返回的是object但是它是一個(gè)基本數(shù)據(jù)類型还棱。
畫外音:當(dāng)時(shí)學(xué)長稍微給我講了一下然后說讓我后來看一下载慈。
二、'=='? 與 '==='
問:1==2==0? 和1===2===0? 結(jié)果分別是什么珍手?慢慢想办铡,不急。(布爾值)
我想了一會(huì)兒琳要,沒看就什么肮丫摺!
答:應(yīng)該都是true吧稚补!我有點(diǎn)看不出來啊童叠。
問:知道== 和===的區(qū)別嗎?
答:知道啊课幕,因?yàn)閖s是一門弱語言類型的語言厦坛。==的話是不會(huì)進(jìn)行類型檢測的五垮,只會(huì)進(jìn)行值的檢測,檢測值是否相等杜秸。===會(huì)進(jìn)行類型檢測放仗,檢測比較的兩個(gè)內(nèi)容是否為同一個(gè)類型和值是否相同。
學(xué)長說:嗯好撬碟,那我現(xiàn)在告訴你答案诞挨,你推斷一下,第一個(gè)答案是true第二個(gè)是false小作。
這個(gè)時(shí)候我忽然就關(guān)注到了比較中的最后的0亭姥。類型檢測,還有0顾稀。這不就是顯而易見的嘛达罗。
答:
(1)1==2==0
因?yàn)榈谝粋€(gè)1==2的時(shí)候的結(jié)果是一個(gè)false,然后静秆,后邊的事情就是 false==0進(jìn)行檢測了粮揉。既然他不會(huì)進(jìn)行類型檢測,并且走的時(shí)候0是可以當(dāng)false使用的抚笔。那么根據(jù)這兩條依據(jù)扶认,最終比較的時(shí)候就是false ==false,所以說第一個(gè)結(jié)果返回的是true殊橙。?
(2)1===2===0
因?yàn)?==會(huì)進(jìn)行類型檢測這是它和==的區(qū)別辐宾,所以在比較的時(shí)候1===2會(huì)進(jìn)行值和類型的檢測。類型他們都是數(shù)字膨蛮,類型相同叠纹,值不相同,返回的還是false敞葛,然后就是false===0進(jìn)行比較了誉察。因?yàn)闀?huì)進(jìn)行類型檢測所以說這一次,0不會(huì)再被隱式的轉(zhuǎn)化為false了惹谐,所以比較的還是false===0持偏,因?yàn)轭愋筒幌嗤灾苯臃祷亓薴alse氨肌。所以第二題的答案是false鸿秆。
總結(jié)
本來還是有好多知識(shí)點(diǎn)的,但是感覺自己沒有吃透怎囚,所以就不寫了卿叽。這次考核之后感覺,自己雖然有擴(kuò)展,但是對(duì)于一些知識(shí)的細(xì)節(jié)還是把握的不到位附帽,基礎(chǔ)的知識(shí)點(diǎn)還是有沒照顧到的地方。