js做用域面試題大全

什麼是做用域:瀏覽器給js的生存環境叫做用域。面試

什麼是變量提高:瀏覽器

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

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

存儲模塊找到全部的varfunction 關鍵字給這些變量添加內存地址3d

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

有就看你賦值沒有,賦值了就是後面的值沒有賦值就是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)

 

做者:晉飛翔

QQ:318080891

相關文章
相關標籤/搜索