java學(xué)習(xí)

          java學(xué)習(xí)

           

          javascript作用域

          <html>
           <script type="text/javascript">
           /*作用域
           在js中,函數(shù)嵌套是非常普遍的,在函數(shù)嵌套中,
           對(duì)變量是如何尋找的?
           答:首先在函數(shù)內(nèi)部尋找,如果需找不到,則在外層尋找。
           直到……全局(window)區(qū)域.從里往外尋找
           */
            var c=5;
            function t1(){
             var d=6;
             function t2(){
              var e =7;
              alert(c+d+e);
             }
             t2();
            }
           //t1();//18
           function t3(){
             var d=6;
             function t2(){
              var e =7;
               d =3;
              alert(c+d+e);
             }
             t2();
            }
           //t3();//15
           /*聲明變量,var的作用
           var 是在函數(shù)運(yùn)行的上下文中,聲明一個(gè)變量,
           如果不加var,則是一個(gè)賦值操作,
           但是不要狹隘的理解為聲明了一個(gè)全局變量
           */
           //alert(window.d);
           //alert(window.e);
           function t(){
            d=5;//d沒(méi)有加var,僅僅是一個(gè)賦值操作,尋找
            //t域內(nèi)的函數(shù),如果沒(méi)找到,繼續(xù)向外尋找……到window
            //如果window中還沒(méi)有d,創(chuàng)建d變量并賦值
            var e=6;
           }
           //t();
           //alert(window.d);
           //alert(window.e);
           function  t4 (){
            var d;
            function t2(){
             d=5;
             e=6;
            }
            t2();
           }
           //t4();
           //alert(window.d);//undefined
           //alert(d);// d is not defined
           //alert(e);
           /*
           注意:以window.xxx引用全局變量,尋找不到,
           作為window的屬性不存在,返回undefined。
           直接以xxx引用,尋找不到,則報(bào)xxx is not defined
           */
           
           var s1='g';
           function  t5(){
            alert(s1);//g
            alert(s2);//is not defined
            s2 = 'lo';
           }
          // t5();
           /*
           在t5中尋找s2,沒(méi)有找到s2的變量聲明,到window上尋找s2的變量聲明,
           還是沒(méi)有找到,報(bào)is not defined
           */
           
           function  t6(){
            alert(s1);//g
            alert(s2);//undefined
           var s2 = 'lo';
           }
           t6();
           /*
            解釋?zhuān)?br />  js代碼自上而下執(zhí)行,但是js代碼的整體運(yùn)行分為:
            詞法分析期和運(yùn)行期
            自上而下執(zhí)行之前,先有一個(gè)詞法分析過(guò)程。
            詞法分析t6函數(shù):
            聲明了s2變量,但是沒(méi)有對(duì)s2賦值,只有在運(yùn)行期才賦值
            因此s2=undefined。
            執(zhí)行t6函數(shù):
            alert(s1);//g
            alert(s2);//undefined
            s2 = 'lo';
           */
           </script>
          </html>

          posted on 2014-12-06 16:45 楊軍威 閱讀(173) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 永靖县| 海原县| 白玉县| 宝坻区| 张北县| 石河子市| 壶关县| 宁强县| 清河县| 共和县| 镇江市| 义乌市| 九江县| 昌邑市| 安丘市| 建宁县| 洮南市| 本溪市| 福海县| 蕉岭县| 吉安市| 赤城县| 镇远县| 永兴县| 霍州市| 图木舒克市| 高雄市| 周宁县| 个旧市| 阜南县| 温宿县| 睢宁县| 凤冈县| 永和县| 古田县| 罗田县| 盐边县| 芦山县| 泾阳县| 社会| 保德县|