亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

區(qū)別JavaScript函數(shù)聲明與變量聲明

 更新時間:2018年09月12日 16:05:16   投稿:laozhang  
這篇文章給大家分享了關(guān)于JavaScript中函數(shù)聲明與變量聲明之間的區(qū)別以及相關(guān)知識點,有興趣的朋友參考下。

今天,又由一到題目引發(fā)了一場我跟JS基礎(chǔ)的較量:首先是

var getName = function(){alert(1)};
function getName(){alert(2)};
getName();// 1

or

function getName(){alert(2)};
var getName = function(){alert(1)};
 
getName();// 1

為什么我調(diào)換聲明順序,結(jié)果還是輸出以 var 形式聲明的函數(shù)的值?

有人回答我說 "啊,變量提升呀...",我最開始的理解,就算變量提升,第一種情況提升之后,應(yīng)該是這樣?。?/p>

var getName;
getName = function(){alert(1)};
function getName(){alert(2)};

最后應(yīng)該輸出 2 才對啊(很理直氣壯)。

殊不知不只有var聲明才會提前,以function fn(){}這種形式聲明的函數(shù),會被提升到作用域的最最頂部,然后再是變量的提升。
具體請看下面例子:

fn();//Uncaught TypeError: fn is not a function
var fn = function(){console.log(1)};

but

fn();//2
var fn = function(){console.log(1)};
function fn(){console.log(2)}

足以說明函數(shù)提升的更兇一些。

相關(guān)文章

  • js貪吃蛇網(wǎng)頁版游戲特效代碼分享(挑戰(zhàn)十關(guān))

    js貪吃蛇網(wǎng)頁版游戲特效代碼分享(挑戰(zhàn)十關(guān))

    這篇文章主要為大家詳細介紹了js貪吃蛇網(wǎng)頁版游戲特效,游戲總共有十關(guān),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2015-08-08
  • JavaScript語句可以不以;結(jié)尾的煩惱

    JavaScript語句可以不以;結(jié)尾的煩惱

    JavaScript語句可以不以;結(jié)尾的煩惱...
    2007-03-03
  • JavaScript數(shù)據(jù)結(jié)構(gòu)之棧實例用法

    JavaScript數(shù)據(jù)結(jié)構(gòu)之棧實例用法

    在本篇文章里小編給大家分享了關(guān)于JavaScript數(shù)據(jù)結(jié)構(gòu)之棧實例用法內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-01-01
  • JavaScript實現(xiàn)判斷圖片是否加載完成的3種方法整理

    JavaScript實現(xiàn)判斷圖片是否加載完成的3種方法整理

    這篇文章主要介紹了JavaScript實現(xiàn)判斷圖片是否加載完成的3種方法整理,本文講解了onload方法、javascipt原生方法、jquery方法三種方法,需要的朋友可以參考下
    2015-03-03
  • 淺談js鍵盤事件全面控制

    淺談js鍵盤事件全面控制

    下面小編就為大家?guī)硪黄獪\談js鍵盤事件全面控制。小編覺得挺不錯的,在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • JavaScript面試出現(xiàn)頻繁的一些易錯點整理

    JavaScript面試出現(xiàn)頻繁的一些易錯點整理

    通過幾個常見面試開始,討論針對一個題目的分析思路,就有了下面這篇文章,本文主要給大家整理總結(jié)介紹了關(guān)于JavaScript面試中會頻繁出現(xiàn)的一些易錯點,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起看看吧。
    2018-03-03
  • 詳解JavaScript如何實現(xiàn)一個簡易的Promise對象

    詳解JavaScript如何實現(xiàn)一個簡易的Promise對象

    Promise對象的作用將異步操作以同步操作的流程表達出來,避免層層嵌套的回調(diào)函數(shù),而且Promise提供了統(tǒng)一的接口,使得控制異步操作更加容易。本文介紹了如何實現(xiàn)一個簡單的Promise對象,需要的可以參考一下
    2022-11-11
  • js編寫簡單的計時器功能

    js編寫簡單的計時器功能

    這篇文章主要為大家詳細介紹了js編寫簡單的計時器功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • js調(diào)出上下文菜單的實例

    js調(diào)出上下文菜單的實例

    這篇文章主要介紹了js調(diào)出上下文菜單的實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2015-12-12
  • mapboxgl實現(xiàn)帶箭頭軌跡線的代碼

    mapboxgl實現(xiàn)帶箭頭軌跡線的代碼

    這篇文章主要介紹了mapboxgl實現(xiàn)帶箭頭軌跡線的代碼,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01

最新評論