記一次很拙計(jì)的經(jīng)歷(前端)
這樣一道題目:JavaScript中,有A、B兩個(gè)類,讓B類繼承A類的所有屬性。聽(tīng)完描述,認(rèn)為很簡(jiǎn)單,于是直接就在firebug中敲代碼了,正敲著的時(shí)間,那哥們兒對(duì)我說(shuō):console.log出來(lái)就行了,于是我果斷 console.dir了,結(jié)果就發(fā)現(xiàn)如圖1-1,調(diào)了一下,加上參數(shù),換apply…都沒(méi)出來(lái),當(dāng)場(chǎng)就拙計(jì)了…..

圖1-1
更為拙計(jì)的是,當(dāng)時(shí)就懷疑自己了,沒(méi)有換console.log,alert,哪怕是document.write試一下。回來(lái)想想感覺(jué)不對(duì),于是就測(cè)試了一下,還真發(fā)現(xiàn)了問(wèn)題,接著上圖1-2:

圖1-2
發(fā)現(xiàn)問(wèn)題沒(méi)有,直接console.dir(obj),該對(duì)象的屬性就出來(lái)了,可是console.dir(obj.name),它卻提示沒(méi)有子對(duì)象。那就說(shuō)明,問(wèn)題不是出在代碼上了,果斷換chrome再試一遍,如圖1-3。

圖1-3
此時(shí)console.dir(obj.name)就得到我們想要的結(jié)果,當(dāng)然也是正確的結(jié)果。
前一段園子里出了位大神:
9個(gè)offer,12家公司,35場(chǎng)面試,從微軟到谷歌,應(yīng)屆計(jì)算機(jī)畢業(yè)生的2012求職之路
大神說(shuō)的好:...碰到非專業(yè)的各種秒殺,碰到專業(yè)各種拙計(jì)。那我的這個(gè)拙計(jì)該如何解釋呢?再摘抄該大神的一些語(yǔ)錄吧:
我的微軟mentor曾提到過(guò),我的實(shí)習(xí)面試表現(xiàn)一般,但后來(lái)表現(xiàn)出的動(dòng)手能力大大超出之前面試的預(yù)估,而有些面試表現(xiàn)很出色,問(wèn)題對(duì)答如流的選手,入職之后反而不是很理想,至少?zèng)]有達(dá)到面試時(shí)發(fā)揮出的水準(zhǔn)。
這說(shuō)明一個(gè)問(wèn)題,就是筆試面試,準(zhǔn)備和不準(zhǔn)備會(huì)差異很大。如果你的簡(jiǎn)歷不是那么NB,那就只能靠筆試和面試的加分撐場(chǎng)面。身邊經(jīng)常有同學(xué)納悶這樣代碼都編不利索的傻屌都能進(jìn)MS為什么我不能進(jìn),答案往往很簡(jiǎn)單:人家比你多準(zhǔn)備了一個(gè)月。平時(shí)電腦上寫(xiě)程序可能很利索,筆試面試時(shí)在紙上寫(xiě)寫(xiě)試試你就知道什么叫拙計(jì)。
這些東西大神說(shuō)的比較透徹,就不多討論了。就只按技術(shù),接著剛剛的問(wèn)題,繼續(xù)往下走。在與“此度”的面試者交流的時(shí)間,對(duì)方對(duì)這個(gè)題目的解答是使用 JavaScript的原型鏈,聽(tīng)到這句話時(shí)間,我當(dāng)時(shí)真是“震驚”了,但是人家說(shuō)的也沒(méi)錯(cuò)(況且人家都說(shuō)了自己js不好,是美工出身,估計(jì)那哥們兒對(duì)我的懷疑很多,唉…..)。
如圖1-3,直接使用prototype,原型鏈的方式的結(jié)果,依然沒(méi)有得到我們想要的結(jié)果,看來(lái)firebug的這個(gè)bug是鐵定要“抗?fàn)?rdquo;到底了。

圖1-3
接著換chrome吧,如圖1-4:

圖1-4
這時(shí)間,console.dir(obj.name)就得到了我們想要的結(jié)果,當(dāng)然B的 _proto_ 也指向A了。好吧,不管firebug了,那個(gè)太“坑爹”了。繼續(xù)使用chrome來(lái)比較一下兩種方式的區(qū)別,如圖1-5:

圖1-5
使用原型鏈的方式,其實(shí)B類已經(jīng)不是它自己了,他只是A原型鏈上的一個(gè)“附屬”罷了,它的constructor都指向了A,既然是這樣我們只寫(xiě)一個(gè)A類就行了,何必要再給自己找麻煩,扯出來(lái)一個(gè)B呢?
這道題目的初衷是讓B類繼承A類的所有屬性,我的解答也是正確的。但是拙計(jì)的是沒(méi)想到firebug會(huì)這么不給力。話說(shuō)回來(lái),由此次經(jīng)歷來(lái)看,那哥們兒考察的思路是正確的:不聽(tīng)你說(shuō)什么,就用一個(gè)一個(gè)的小細(xì)節(jié)來(lái)說(shuō)明問(wèn)題。此種方法可以避免前面大神說(shuō)的預(yù)則立不預(yù)則廢的情況,過(guò)濾掉那些,實(shí)際動(dòng)手能力差,但是“應(yīng)試”能力比較強(qiáng)的人。
但是這個(gè)“某度”的哥們兒太自得了,整個(gè)過(guò)程我都是以一個(gè)很謙虛的態(tài)度說(shuō)話,然后他就更自得了。用他擅長(zhǎng)的css來(lái)考察各種小細(xì)節(jié),回來(lái)整理了一下他的題目,必須要承認(rèn)之前自己沒(méi)這么仔細(xì)過(guò),但是有些細(xì)節(jié)真的讓我鄙視這哥們兒了,妹的,真是被他繞暈了。