js作用域面試題大全


什么是作用域:瀏覽器給js的生存環境叫作用域。

什么是變量提升:

Js代碼執行前,瀏覽器會給一個全局作用域window

Window分兩個模塊一個是存儲模塊一個是執行模塊

存儲模塊找到所有的varfunction 關鍵字給這些變量添加內存地址

執行模塊,代碼從上到下執行,遇到變量就會去存儲模塊查找,有和沒有

有就看你賦值沒有,賦值了就是后面的值沒有賦值就是undefined

沒有結果就是xxx is not defined

什么是原型鏈:函數內部的變量被使用時,首先會在自己的私有作用域下查找是否有這個變量,有就直接使用,沒有就向他的上一級查找,父級有就使用父級的,父級沒有就以此繼續向上查找直到查找帶window有就使用沒有就是is not defined。這種查找機制我們叫原型鏈。

 

 

案例分析

函數歸屬誰,跟她在哪調用沒有關系,而是在哪定義有關。

函數外的變量叫全局變量,函數內的變量叫私有變量。

看變量歸誰,看他在哪個作用域下聲明。

 

 

 

360經典面試題

 

 

+function(){

        console.log(a)

        var a=5;

        function a(){}

        console.log(a)

        function b(){}

        b=6

        console.log(b)

        var c=d=b

    }()

    console.log(d)

    console.log(c)

 

作者:晉飛翔
手機號(微信同步):17812718961
希望本篇文章 能給正在學習 前端的朋友 或 以及工作的朋友 帶來收獲 不喜勿噴 如有建議 多多提議 謝謝!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM