javascript變量作用域

         今天分享javascript的變量作用域問題,以兩個例子來對比說明。

         案例一:

                             //  聲明全局變量box

                             var  box = 'blue';
             function setColor(){

                                   //  加上var字符,表明這裏是聲明一個局部變量box
                   var box = 'green';                          
             }
             setColor();

                             //  變量沒有指明調用對象,默認是window對象調用,因此調用的就是全局的box變量,

                             //  雖然調用了setColor()方法,但是裏面並沒有改變全局box變量的值,結果是"blue"
             alert(box);


         案例二:

                             //  聲明全局變量box

                             var  box = 'blue';
             function setColor(){

                                   //  這裏由於沒有加var,因此是賦值語句,我們向外層尋找,發現是修改全局的box變量的值
                   box = 'green';                          
             }
             setColor();

                             //  變量沒有指明,默認是window對象調用,因此結果是"green"
             alert(box);

          今天的兩個對比案例非常經典而且簡單易懂,改天會繼續對javascript的一些特性進行深入研究,敬請期待。

          大家可以關注我的微信公衆號:iwork,我會每天推送一篇原創文章,讓大家都能有所收穫!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章