摘要:今天去面試有一個(gè)題目答錯(cuò)了我答是不可能滴,我答錯(cuò)了回答我以為相當(dāng)于重復(fù)定義一個(gè)函數(shù),第二個(gè)覆蓋第一個(gè),結(jié)果大錯(cuò)特錯(cuò)。我想應(yīng)該是變量提升吧,實(shí)際執(zhí)行順序應(yīng)該是函數(shù)先提升,變量再提升
今天去面試有一個(gè)題目答錯(cuò)了
var getName = function() { alert(1); }; function getName() { alert(2); } getName();
我答alert(1)——是不可能滴,我答錯(cuò)了回答alert(2), 我以為相當(dāng)于重復(fù)定義一個(gè)函數(shù),第二個(gè)覆蓋第一個(gè),結(jié)果大錯(cuò)特錯(cuò)。
我回來實(shí)驗(yàn),alert(1)。我想應(yīng)該是變量提升(hosting)吧,實(shí)際執(zhí)行順序應(yīng)該是
function getName() { alert(2); } var getName; getName = function() { alert(1); } getName();
函數(shù)先提升,變量再提升
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/81709.html
摘要:同名變量和函數(shù),函數(shù)會(huì)提升到最前邊,變量其次,為什么不那為什么結(jié)果不是我們?nèi)斯?zhí)行的呢原因是變量會(huì)被忽略,是的是忽略。。。同名變量解析完順序是這樣的忽略同名變量,聲明會(huì)被提升,后邊會(huì)忽略。 變量提升和函數(shù)提升基本上是面試必問題目 //先從一個(gè)面試題說起 console.log(a) if (a) { var a = 1; ...
摘要:等價(jià)于彈出全局變量和局部變量的區(qū)別的變量的是根據(jù)方法塊來劃分的也就是說以的一對(duì)大括號(hào)來劃分。在函數(shù)內(nèi)部,如果沒有用進(jìn)行申明,則創(chuàng)建的變量是全局變量,而不是局部變量了。 令人心痛的血淋淋教訓(xùn),再犯這些錯(cuò)誤我不是人。 setTimeout與console.log()執(zhí)行順序 setTimeout延時(shí)為0時(shí), setTimeout(function(){ consol...
摘要:原文是這樣說的不像那樣會(huì)發(fā)生變量提升現(xiàn)象。這就導(dǎo)致了所有變量聲明的語句都會(huì)被提升到代碼的最前面。這就是變量提升。注意提出的新指令和是不會(huì)發(fā)生變量提升現(xiàn)象的,所以在使用語法時(shí),一定要先聲明再調(diào)用。 場(chǎng)景 開始讀es6的時(shí)候,一開始介紹的是let和const指令,文章中就提到一個(gè)概念 => 變量提升。原文是這樣說的:let不像var那樣會(huì)發(fā)生變量提升現(xiàn)象。對(duì)我這個(gè)菜鳥來說,what?什么是...
摘要:即的變量提升此處變量未聲明時(shí)便可以使用,其實(shí)是因?yàn)闀?huì)自動(dòng)將聲明語句提升到頂部。但名字的初始化卻是按其在代碼中書寫的順序進(jìn)行的,不受以上優(yōu)先級(jí)的影響。 變量提升(hoisting) 在JavaScript中,函數(shù)、變量的聲明都會(huì)被提升(hoisting)到該函數(shù)或變量所在的scope的頂部。即——JavaScript的變量提升. var x = 5; alert(x); ...
摘要:再次聲明的函數(shù)會(huì)替代原有的函數(shù)第二點(diǎn)第一個(gè)函數(shù)中的指向。解決這些問題的關(guān)鍵是不要想當(dāng)然,動(dòng)手一步一步模擬執(zhí)行順序,模擬變量提升情況第二種面向?qū)ο髥栴}或高階函數(shù)等待更新 主要是解決JavaScript中比較難懂的部分,當(dāng)然了,這部分經(jīng)常在面試題中露面,這篇文章主要是講解解題思路,對(duì)新手會(huì)有很大幫助(如果你仔細(xì)看的話)。書籍方面,我看的是《你不知道的javascript》,精髓就在里面嘍。...
閱讀 3351·2021-11-22 12:04
閱讀 2736·2019-08-29 13:49
閱讀 509·2019-08-26 13:45
閱讀 2295·2019-08-26 11:56
閱讀 1028·2019-08-26 11:43
閱讀 621·2019-08-26 10:45
閱讀 1298·2019-08-23 16:48
閱讀 2182·2019-08-23 16:07