前端面試題-當(dāng)中不注意的坑

[TOC]

關(guān)于閉包

問題一:下面程序的輸出問題

for(var i=1;i<5;++i){
 setTimeout(function timer(){ 
   console.log(i);
 },i*1000);
}
  • 這個(gè)是最簡單的一個(gè),i會(huì)每秒輸出一個(gè)5
  • 解決的方式很簡單,就是用閉包
for(var i=1;i<5;++i){
(function(i){ 
setTimeout(function timer(){ 
   console.log(i);
 },i*1000); 
})(i);}
  • 利用ES6 let-閉包的塊級(jí)作用域解決
for(let i=1;i<5;++i){ 
setTimeout(function timer(){
 console.log(i); 
},i*1000);}

問題二:下面程序輸出什么

var name = 'global';
var obj = { 
 name : 'obj', 
 dose : function(){ 
  this.name = 'dose'; 
  return function(){
     return this.name; 
    } 
   }
}
alert(obj.dose().call(this))
//alert(obj.dose().call(obj)) 這樣寫能看出區(qū)別了```
* 這道題還是非常簡單的齐莲,但是一看到call,bind,apply之類的心就一緊分井,可能一慌張就答錯(cuò)了

**問題三:**在ES5中如何實(shí)現(xiàn)常量
* 這個(gè)問題一聽我就呵呵了糠聪,如何定義呢?沒錯(cuò)荷科,還是用閉包
* 實(shí)現(xiàn)的思路:把原來的參數(shù)隱藏唯咬。再利用閉包的特性,將參數(shù)存在內(nèi)存中畏浆,這樣參數(shù)不會(huì)消失副渴,也不能被更改

var consts=(function(){
var constant=10;
var p={};
p.get_consts=function(){
return constant;
}
return p;
})();

var gconst=consts.get_consts();


**問題四:**下面程序的輸出結(jié)果
* 參考
>http://developer.51cto.com/art/201511/498268.htm

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);//undefined,?,?,?
var b = fun(0).fun(1).fun(2).fun(3);//undefined,?,?,?
var c = fun(0).fun(1); c.fun(2); c.fun(3);//undefined,?,?,?

* 估計(jì)大部分人都看過,但是當(dāng)我初次見面之時(shí)全度,還是被嚇到了煮剧。哎,心理承受估計(jì)有點(diǎn)差了将鸵,答案就不貼了勉盅。感興趣的自己試試

## 關(guān)于JS語法
* 這道題我做的時(shí)候,是真的炸了顶掉,有幾個(gè)沒答對(duì)
* 參考
> http://www.cnblogs.com/xxcanghai/p/5189353.html

function Foo() {
getName = function () {
alert (1);
};
return this;
}
Foo.getName = function () {
alert (2);
};
Foo.prototype.getName = function () {
alert (3);
};
var getName = function () {
alert (4);
};
function getName() {
alert (5);
}
//請(qǐng)寫出以下輸出結(jié)果:
Foo.getName();
getName();
Foo().getName();
getName();
new Foo.getName();
new Foo().getName();
new new Foo().getName();

* 感興趣的朋友可以點(diǎn)鏈接去看看
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末草娜,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子痒筒,更是在濱河造成了極大的恐慌宰闰,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件簿透,死亡現(xiàn)場(chǎng)離奇詭異移袍,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)老充,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門葡盗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人啡浊,你說我怎么就攤上這事觅够。” “怎么了巷嚣?”我有些...
    開封第一講書人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵喘先,是天一觀的道長。 經(jīng)常有香客問我廷粒,道長窘拯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任评雌,我火速辦了婚禮树枫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘景东。我一直安慰自己砂轻,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開白布斤吐。 她就那樣靜靜地躺著搔涝,像睡著了一般厨喂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上庄呈,一...
    開封第一講書人閱讀 52,268評(píng)論 1 309
  • 那天蜕煌,我揣著相機(jī)與錄音,去河邊找鬼诬留。 笑死斜纪,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的文兑。 我是一名探鬼主播盒刚,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼绿贞!你這毒婦竟也來了因块?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤籍铁,失蹤者是張志新(化名)和其女友劉穎涡上,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拒名,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吩愧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了靡狞。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耻警。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖甸怕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情腮恩,我是刑警寧澤梢杭,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站秸滴,受9級(jí)特大地震影響武契,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜荡含,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一咒唆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧释液,春花似錦全释、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽妄迁。三九已至,卻和暖如春李命,著一層夾襖步出監(jiān)牢的瞬間登淘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來泰國打工封字, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留黔州,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓阔籽,卻偏偏與公主長得像流妻,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子仿耽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

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