前端面試總是跳坑的那幾道題

面試前做幾道面試題:有幾道是以往面試都出現(xiàn)過,但是每次都掉進(jìn)坑里的題
今天請(qǐng)教大神給梳理了一遍

第一題:

大神說

記住一點(diǎn)就行了。如果在實(shí)例上找不到方法,才會(huì)去原型鏈找,原型鏈里的this全部指向?qū)嵗?br> 但如果有return就要注意了
1.return的是五種簡單數(shù)據(jù)類型:String凄诞,Number,Boolean忍级,Null帆谍,Undefined。
這種情況下轴咱,忽視r(shí)eturn值汛蝙,依然返回this對(duì)象。
2.return的是Object朴肺。
這種情況下窖剑,不再返回this對(duì)象,而是返回return語句的返回值戈稿。

   function fn() {
        this.a = 0;
        this.b = function() {
            alert(this.a)
        }
    }
    fn.prototype = {
        b: function() {
            this.a = 20;
            alert(this.a);
        },
        c: function() {
            this.a = 30;
            alert(this.a);
        }
    }
    var myfn = new fn();
     myfn.b();//0
     myfn.c();//30
     myfn.b();//30

第二題:

function fun(n,o) {
console.log(o)
 return {
    fun:function(m){
      return fun(m,n);
    }
  };
}
var a = fun(0);  a.fun(1);  a.fun(2);  a.fun(3);
var b = fun(0).fun(1).fun(2).fun(3);
var c = fun(0).fun(1);  c.fun(2);  c.fun(3);

第二道題西土,以 c 為例吧。
fun 的返回值是一個(gè) object鞍盗,其中有一個(gè)屬性叫 fun需了,對(duì)應(yīng)一個(gè) function跳昼。
由于只傳入一個(gè)參數(shù),所以 fun(0) 先輸出 undefined肋乍,然后返回:
{
fun: function(m) {
return fun(m, 0)
}
}
其中 fun(m, 0) 中的 fun 就是外面定義的 function fun(n, o)鹅颊。這其實(shí)是一個(gè)遞歸。
注意這時(shí)是在調(diào)用 fun(1, 0)墓造,即 n 是 1堪伍,o 是 0,因此觅闽,就會(huì)先輸出 0帝雇,然后得到 fun 函數(shù)的返回值,就是上面說的那個(gè)有一個(gè)屬性叫 fun谱煤,對(duì)應(yīng)一個(gè) function 的 object:
{
fun: function(m) {
return fun(m, 1) // 這里的 1 是 n
}
}
這就是 c 變量了摊求。它是一個(gè) object,有一個(gè) fun 屬性刘离。
這時(shí)候?qū)?c 調(diào)用 .fun(2),就是在調(diào)用 fun(2, 1)睹栖。所以輸出 1硫惕。
調(diào)用 c.fun(3),就是在調(diào)用 fun(3, 1)野来。所以還是輸出 1

第二道題我自己梳理了下

a=fun(0) a.fun(1) a.fun(2) a.fun(3)
undefined fun(1,0) fun(2,0) fun(3,0)
0 0 0
b= fun(0) .fun(1) .fun(2) .fun(3)
undefined fun(1,0) fun(2,1) fun(3,2)
0 1 2
c=fun(0) .fun(1) c.fun(2) c.fun(3)
undefined fun(1,0) fun(2,1) fun(3,1)
0 1 1
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末恼除,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子曼氛,更是在濱河造成了極大的恐慌豁辉,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件舀患,死亡現(xiàn)場離奇詭異徽级,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)聊浅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門餐抢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人低匙,你說我怎么就攤上這事旷痕。” “怎么了顽冶?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵欺抗,是天一觀的道長。 經(jīng)常有香客問我强重,道長绞呈,這世上最難降的妖魔是什么贸人? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮报强,結(jié)果婚禮上灸姊,老公的妹妹穿的比我還像新娘。我一直安慰自己秉溉,他們只是感情好力惯,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著召嘶,像睡著了一般父晶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上弄跌,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天甲喝,我揣著相機(jī)與錄音,去河邊找鬼铛只。 笑死埠胖,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的淳玩。 我是一名探鬼主播直撤,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蜕着!你這毒婦竟也來了谋竖?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤承匣,失蹤者是張志新(化名)和其女友劉穎蓖乘,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體韧骗,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嘉抒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了宽闲。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片众眨。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖容诬,靈堂內(nèi)的尸體忽然破棺而出娩梨,到底是詐尸還是另有隱情,我是刑警寧澤览徒,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布狈定,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏纽什。R本人自食惡果不足惜措嵌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望芦缰。 院中可真熱鬧企巢,春花似錦、人聲如沸让蕾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽探孝。三九已至笋婿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間顿颅,已是汗流浹背缸濒。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留粱腻,地道東北人庇配。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像绍些,于是被迫代替她去往敵國和親讨永。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

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