面試題集

AdMaster筆試題

  1. 變量作用域
var a = 'hello';
(function(){
  a = 'world';
})();
console.log(a);  // "world"


var a = 'hello';
(function(){
 var a = 'world';
})();
console.log(a);  // "hello"
  1. 閉包
var foo = function(){
  var count = 0;
  return function(){
    return count+=1;
  }
};
var fn = foo();
console.log(fn());  // 1
console.log(fn());  // 2
console.log(fn(3));  // 3
console.log(fn(6));  // 4
  1. this指向
var person = {
  age:18,
  say:function(){
    return this.age;
  }
};
var say = person.say;
console.log(person.say());  // 18

console.log(person.say(20));  // 18

console.log(person.say({age:20}));  // 18

console.log(say());  // undefined

console.log(say.call(person));  // 18

person.age += 1;
console.log(say.call(person));  // 19

console.log(say.apply(person,[32]));  // 19

這里基本功不扎實(shí)可能被參數(shù)迷惑庄呈,console.log(person.say({age:20}));我以為會(huì)自動(dòng)調(diào)用setter方法枉证,覺(jué)得有坑账阻,寫(xiě)了20,實(shí)際上還是18豁护。

云鳥(niǎo)科技

  1. js執(zhí)行順序以及變量提升
function fn(a) {
    console.log(a);  
    a = 1;
    console.log(a);
    var a = function() { //函數(shù)1
        console.log(1);
    }
    console.log(a);

    function a() { //函數(shù)2
        console.log(2);
    }
    console.log(a);
}
fn(2);

輸出結(jié)果:
[Function: a] //函數(shù)2
1
[Function: a] //函數(shù)1
[Function: a] //函數(shù)1
這里考察js的對(duì)象創(chuàng)建和執(zhí)行順序衰齐,執(zhí)行上下文(EC)創(chuàng)建的過(guò)程是有先后順序的:參數(shù)聲明 > 函數(shù)聲明 > 變量聲明锉屈,函數(shù)的聲明比變量?jī)?yōu)先級(jí)要高苍狰,并且定義過(guò)程不會(huì)被變量覆蓋办龄,除非是賦值,但函數(shù)聲明會(huì)覆蓋參數(shù)
這里有一篇文章解釋的很明白:深入理解JavaScript執(zhí)行上下文淋昭、函數(shù)堆棧俐填、提升的概念

  1. BFC理解及應(yīng)用
    主要理解什么是BFC(塊級(jí)格式化上下文),對(duì)于處理margin的重疊翔忽,清除浮動(dòng)英融,以及雙列伸縮布局的應(yīng)用,可以自行百度了解歇式。

必要商城

  1. iframe的優(yōu)缺點(diǎn)(seo?同域不同域修改dom驶悟?)
  2. 描述一下HTML的語(yǔ)義化
  3. jsonp的原理以及不足之處
  4. 以下可以用來(lái)在瀏覽器和服務(wù)器之間傳輸?shù)氖牵?/li>
  • cookies
  • localStorage
  • sessionStorage
  • session
  1. DOCTYPE作用,包含哪幾種類(lèi)型材失?
  2. 閉包是什么痕鳍,有什么特性,對(duì)頁(yè)面有什么影響龙巨?
  3. 寫(xiě)出下列代碼輸出結(jié)果
function A(name){
    if(name)this.name = name;
};
function B(name){
    this.name = name;
};
function C(name){
    this.name = name||'test';
};
A.prototype.name = 'Tom';
B.prototype.name = 'Bob';
C.prototype.name = 'Alice';
console.log(new A().name+new B().name+ new C().name);
// Tomundefinedtest

易到用車(chē)

var num = 10;
var obj = {
    num :8,
    inner:{
        num:6,
        fn:function(){
            console.log(this.num);
        }
    }
};
num = 888;
obj.inner.fn();  //6
var foo = obj.inner.fn;
foo();  //888
(obj.inner.fn)();  //6
(obj.inner.fn = obj.inner.fn)(); //888

self

  1. 事件循環(huán)執(zhí)行順序
console.log('start');
var promise = new Promise((reslove,reject) => {
    console.log('promise-define');
    
    reslove('promise-reslove');
});
function excuFn(callback) {
        callback();
}

var log = () => console.log('callback');
setTimeout(() => {
    console.log('timeout'); 
}, 0);

promise.then((data) => console.log(data),(err) => {console.log(err);
});
excuFn(log);
console.log('end');

結(jié)果:
start
promise-define
callback
end
promise-reslove
timeout
此處看callback是同步執(zhí)行的(不考慮xhr和延時(shí)處理)额获。

  1. 原型鏈與構(gòu)造函數(shù)
function Foo(){
    getName=function(){
        console.log(1)
    };
    return this;
}
Foo.getName = function(){
    console.log(2);
};
Foo.prototype.getName = function(){
    console.log(3);
};
var getName = function () {
    console.log(4);
}
function getName(){
    console.log(5)
};

Foo.getName();  //2
getName(); //4
Foo().getName(); //1
getName();  //1
new Foo.getName();  //2
new Foo().getName(); //3
new new Foo().getName(); //3
  1. 函數(shù)的定義和聲明
var scareMe = function () {
    console.log("Boo!");
    scareMe = function () {
        console.log("Double boo!");
    };
};
// 1. adding a new property
scareMe.property = "properly";

// 2. assigning to a different name
var prank = scareMe;

// 3. using as a method
var spooky = {
    boo: scareMe
};

// calling with a new name
prank(); // "Boo!"
prank(); // "Boo!"
console.log(prank.property); // "properly"

// calling as a method
spooky.boo(); // "Boo!"
spooky.boo(); // "Boo!"
console.log(spooky.boo.property);// "properly"
// using the self-defined function
scareMe(); // Double boo!
scareMe(); // Double boo!
console.log(scareMe.property); // undefined

解釋參考自定義函數(shù)

  1. 箭頭函數(shù)的this
window.name = "window";
function fn(){
setTimeout(() => {
console.log("name:",this.name)},100)};
fn.call({name:"foo"})

結(jié)果:name:foo

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市恭应,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌耘眨,老刑警劉巖昼榛,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異剔难,居然都是意外死亡胆屿,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)偶宫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)非迹,“玉大人,你說(shuō)我怎么就攤上這事纯趋≡魇蓿” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵吵冒,是天一觀的道長(zhǎng)纯命。 經(jīng)常有香客問(wèn)我,道長(zhǎng)痹栖,這世上最難降的妖魔是什么亿汞? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮揪阿,結(jié)果婚禮上疗我,老公的妹妹穿的比我還像新娘咆畏。我一直安慰自己,他們只是感情好吴裤,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布旧找。 她就那樣靜靜地躺著,像睡著了一般嚼摩。 火紅的嫁衣襯著肌膚如雪钦讳。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,482評(píng)論 1 302
  • 那天枕面,我揣著相機(jī)與錄音愿卒,去河邊找鬼。 笑死潮秘,一個(gè)胖子當(dāng)著我的面吹牛琼开,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播枕荞,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼柜候,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了躏精?” 一聲冷哼從身側(cè)響起渣刷,我...
    開(kāi)封第一講書(shū)人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎矗烛,沒(méi)想到半個(gè)月后辅柴,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瞭吃,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年碌嘀,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片歪架。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡股冗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出和蚪,到底是詐尸還是另有隱情止状,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布攒霹,位于F島的核電站导俘,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏剔蹋。R本人自食惡果不足惜旅薄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧少梁,春花似錦洛口、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至妨马,卻和暖如春挺举,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背烘跺。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工湘纵, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人滤淳。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓梧喷,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親脖咐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子铺敌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

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

  • 對(duì)于要面試iOS開(kāi)發(fā)的程序員,可能已經(jīng)看了很多的面試題屁擅。但是網(wǎng)上很多的面試題有些很全偿凭,但是沒(méi)有重點(diǎn),有些又太少派歌。今...
    秋穗巧閱讀 128評(píng)論 0 0
  • 相關(guān)概念 面向?qū)ο蟮娜齻€(gè)特征 封裝,繼承,多態(tài).這個(gè)應(yīng)該是人人皆知.有時(shí)候也會(huì)加上抽象. 多態(tài)的好處 允許不同類(lèi)對(duì)...
    東經(jīng)315度閱讀 1,942評(píng)論 0 8
  • 小編費(fèi)力收集:給你想要的面試集合 1.C++或Java中的異常處理機(jī)制的簡(jiǎn)單原理和應(yīng)用弯囊。 當(dāng)JAVA程序違反了JA...
    八爺君閱讀 4,591評(píng)論 1 114
  • 講座的最后有3個(gè)提問(wèn),所有的問(wèn)題都提給了蘇陽(yáng)作谭。這是一場(chǎng)關(guān)于如何跟焦慮死磕的講座稽物。嘉賓有六個(gè)人,兩個(gè)一組坐在高腳凳上...
    書(shū)蟲(chóng)小言閱讀 301評(píng)論 0 0
  • 我出生在大別山區(qū)折欠,那里毋庸諱言是貧困的贝或,是閉塞的。直到我小學(xué)畢業(yè)的時(shí)候锐秦,才第一次傳來(lái)天大的喜訊:離我所居住的村子三...
    晚歸放歌閱讀 232評(píng)論 0 4