js 的變量提升和函數(shù)提升

1. 深入理解? js 的變量提升和函數(shù)提升

先了解:js沒有塊級作用域,只有全局作用域,和函數(shù)作用域

相同的函數(shù)名會(huì)覆蓋

new Foo.getName();

new Foo().getName();

函數(shù)的調(diào)用順序:

優(yōu)先級普及:new Foo()?? 和?? .? 優(yōu)先級一樣

new Foo < new? Foo();

new <?? .

所以可有:

new Foo.getName();? ===》 new (Foo.getName());

new Foo().getName()===> (new Foo()) . getName();

1.變量提升

只會(huì)提升到自己所在作用域的頂部

變量提升不會(huì)賦值?。。?!

2.函數(shù)提升:

只有函數(shù)聲明式才會(huì)提升,function a(){};

函數(shù)字面量不會(huì)提升

//注意

function A(){

console.log(1);

}

function B(){
? ? ? ? ? A:function(){ console.log(2);}

}

由于B()里面的A沒有var 聲明,所以默認(rèn)是 window,所以B()中的A()會(huì)覆蓋外面的A()


?



~~?。。?/p>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、變量提升 在ES6之前,JavaScript沒有塊級作用域(一對花括號{}即為一個(gè)塊級作用域),只有全局作用域...
    sc8816閱讀 308評論 0 0
  • (注1:如果有問題歡迎留言探討,一起學(xué)習(xí)!轉(zhuǎn)載請注明出處,喜歡可以點(diǎn)個(gè)贊哦?。ㄗ?:更多內(nèi)容請查看我的目錄。) ...
    love丁酥酥閱讀 1,680評論 2 3
  • 前面講完變量提升的知識和注意點(diǎn),這次主要是來點(diǎn)題目操練一下,廢話不多說了,直接上案例.注意undefined和報(bào)錯(cuò)...
    _三月閱讀 7,467評論 10 34
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評論 19 139
  • 繼承 一、混入式繼承 二、原型繼承 利用原型中的成員可以被和其相關(guān)的對象共享這一特性,可以實(shí)現(xiàn)繼承,這種實(shí)現(xiàn)繼承的...
    magic_pill閱讀 1,127評論 0 3

友情鏈接更多精彩內(nèi)容