前端面試題

//第一題

? ? (1)

? ? * 代碼看起來是想說:如果window不包含屬性a,就聲明一個變量a,然后賦值為1不从。

? ? * 你可能認(rèn)為alert出來的結(jié)果是1浊洞,然后實際結(jié)果是“undefined”牵敷。要了解為什么,我們需要知道JavaScript里的3個概念法希。

? ? *首先枷餐,所有的全局變量都是window的屬性,語句 var a = 1;等價于window.a = 1; 你可以用如下方式來檢測全局變量是否聲明:

? ? if (!("a" in window)) {

? ? ? ? var a = 1;

? ? }

? ? console.log(window.a);//undefined

? ? alert(a);? //undefined

? ? //(2):解析

? ? * 此時苫亦,盡管聲明是在alert之后毛肋,alert彈出的依然是true怨咪,

? ? * 這是因為JavaScript引擎首先會掃墓所有的變量聲明,然后將這些變量聲明移動到頂部润匙,

? ? alert("b" in window); //true

? ? var b;

? ? // 最終的代碼效果是這樣的:

? ? /!*var b;

? ? alert("b" in window);*!/


你真懂js嗎诗眨?

//題目二

? ? var a = 1,

? ? ? ? ? ? b = function a(x) {

? ? ? ? ? ? ? ? x && a(--x);

? ? ? ? ? ? };

? ? alert(a);//1

? ? * 這個題目看起來比實際復(fù)雜,alert的結(jié)果是1孕讳;這里依然有3個重要的概念需要我們知道匠楚。

? ? * 首先,在題目1里我們知道了變量聲明在進(jìn)入執(zhí)行上下文就完成了厂财;

? ? * 第二個概念就是函數(shù)聲明也是提前的芋簿,所有的函數(shù)聲明都在執(zhí)行代碼之前都已經(jīng)完成了聲明,和變量聲明一樣璃饱。

? ? 澄清一下与斤,函數(shù)聲明是如下這樣的代碼:

? ? function functionName(arg1, arg2){

? ? //函數(shù)體

? ? ? } ;

? ? *如下不是函數(shù),而是函數(shù)表達(dá)式荚恶,相當(dāng)于變量賦值:

? ? * var functionName = function(arg1, arg2){

? ? ? ? //函數(shù)體

? ? };

? ? *


//題目三

? ? ? function a(x) {

? ? ? ? ? return x * 2;

? ? ? }

? ? ? var a;

? ? ? alert(a);

? ? ? */

? ? /*

? ? * 執(zhí)行a的時候撩穿,相應(yīng)地就彈出了函數(shù)a的內(nèi)容了。


? //題目四

? ? ? function b(x, y, a) {

? ? ? ? ? arguments[2] = 10;

? ? ? ? ? alert(a);

? ? ? }

? ? ? b(1, 2, 6);? //10

? ? ? function b(x, y, a) {

? ? ? ? ? arguments[2] = 10;

? ? ? ? ? alert(a);

? ? ? }

? ? ? b(1, 2);? //undefined


//題目五

? ? ? function a() {

? ? ? ? ? alert(this);

? ? ? }

? ? ? a.call(null);

? ? ? //(2)

? ? ? function method() {

? ? ? ? ? alert(this === window);

? ? ? }

? ? ? method();? ? //true

? ? ? method.call(document);? //false

? ? /*第一個依然是true沒什么好說的裆甩,第二個傳入的調(diào)用對象是document冗锁,自然不會等于window,所以彈出了false嗤栓。*/

? ? ? function a() {

? ? ? ? ? alert(this);

? ? ? }

? ? ? //a.call(window);//[object Window]

? ? ? //總結(jié):這5個題目雖然貌似有點偏冻河,但實際上考察的依然是基本概念,只有熟知了這些基本概念才能寫出高質(zhì)量代碼茉帅。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末叨叙,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子堪澎,更是在濱河造成了極大的恐慌擂错,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件樱蛤,死亡現(xiàn)場離奇詭異钮呀,居然都是意外死亡,警方通過查閱死者的電腦和手機昨凡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進(jìn)店門爽醋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人便脊,你說我怎么就攤上這事蚂四。” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵遂赠,是天一觀的道長久妆。 經(jīng)常有香客問我,道長跷睦,這世上最難降的妖魔是什么筷弦? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮送讲,結(jié)果婚禮上奸笤,老公的妹妹穿的比我還像新娘。我一直安慰自己哼鬓,他們只是感情好监右,可當(dāng)我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著异希,像睡著了一般健盒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上称簿,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天扣癣,我揣著相機與錄音,去河邊找鬼憨降。 笑死父虑,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的授药。 我是一名探鬼主播士嚎,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼悔叽!你這毒婦竟也來了莱衩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤娇澎,失蹤者是張志新(化名)和其女友劉穎笨蚁,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體趟庄,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡括细,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了戚啥。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片勒极。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖虑鼎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤炫彩,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布匾七,位于F島的核電站,受9級特大地震影響江兢,放射性物質(zhì)發(fā)生泄漏昨忆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一杉允、第九天 我趴在偏房一處隱蔽的房頂上張望邑贴。 院中可真熱鬧,春花似錦叔磷、人聲如沸拢驾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽繁疤。三九已至,卻和暖如春秕狰,著一層夾襖步出監(jiān)牢的瞬間稠腊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工鸣哀, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留架忌,地道東北人。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓我衬,卻偏偏與公主長得像叹放,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子低飒,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,512評論 2 359

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

  • HTML HTML5標(biāo)簽 媒體查詢head部分寫法 Doctype作用? 嚴(yán)格模式與混雜模式如何區(qū)分许昨?它們有何意義...
    Mayo_閱讀 644評論 0 8
  • 請參看我github中的wiki,不定期更新褥赊。https://github.com/ivonzhang/Front...
    zhangivon閱讀 7,133評論 2 19
  • HTML+CSS 1.對WEB標(biāo)準(zhǔn)以及W3C的理解與認(rèn)識 標(biāo)簽閉合糕档、標(biāo)簽小寫、不亂嵌套拌喉、提高搜索機器人搜索幾率速那、使...
    aymincoder閱讀 5,071評論 2 189
  • 本章轉(zhuǎn)載自新浪博客網(wǎng)友:blog.sina.com.cn/s/blog_7f5571aa0102w2tv.html...
    czboy閱讀 1,462評論 0 11
  • 2017.11.9.星期四,晴 今天下午我又來到這充滿希望充滿歡笑的一(1)班教室尿背,孩子們早早就來到教室端仰,...