javascript學習筆記[3]–流程式控制制

來源:互聯網
上載者:User

      玩了一會遊戲,現在可以靜一下,看會書,今天看到了流程式控制制和函數基礎,先總結一下流程式控制制,等會再總結一下函數控制,明天應該就可以進入javascript的物件導向編程了。我主要看的是javascript權威指南--張亞飛編著--清華大學出版社;還參考了javascript核心對象參考手冊--韓延峰--人民郵電出版社,還有就是網上自己百度的,一些不錯的博文我都會附上連結,也尊重那些原創作者們。好了開始:

     3 流程式控制制

            一些簡單的流程式控制制,例如if....else if ...else語句,switch語句,while,do while語句差不多所有語言都一樣的吧,自己稍微看一下就行了,就不說了。下面說幾個我覺得有意思的流程式控制制語句:

            1) for...in 迴圈

                  文法:for(variable in object)

                             statement;

               for...in語句遍曆的是對象的原型鏈中對象的屬性,這裡有些情況是不能用for in迴圈的,比方對象的方法,宿主對象的屬性,靜態成員,挺亂的,留待以後知道什麼是原型,鏈這些知識知道了之後再解決吧。

<script>      var arr = new Array("this", "is", "a", "test");      for(var i in arr){         document.write(arr[i]+"\t");}</script>//輸出 this    is      a      test//這個例子挺好的var myObject ={hisName:"javascript", age:11, belonging:"ECAM"};for(var prop in myObject){      document.write("myObject." + prop + "=" + myObject[prop]+"<br />");}//輸出:// myObject.hisName = javascript//myObject.age = 11//myObject.belonging = ECMA

            2) for each...in迴圈

                  文法:for each(variableIterant in object){

                                     statement;

                    }

                  for each...in遍曆的是對象屬性的值,而不是屬性的名稱

//還是這個例子var myObject ={hisName:"javascript", age:11, belonging:"ECAM"};for(var prop in myObject){     document.write(item+"<br />"):}//輸出:// javascript//11//ECMA

           3) 標籤語句

                為語句提供一個標識符,用於直接跳轉到該標識符所指定的行開始執行,只能由break,continue語句使用,用來指示break和continue到哪個語句,實際中很少用到吧,反正這是我第一次看到。下面是一個不錯的例子

<script type="text/javascript">    outerloop:      for (var i = 0; i < 10; i++)      {          innerloop:           for (var j = 0; j < 10; j++)            {                if (j > 3)                {                    break;                }                if (i == 2)                {                    break innerloop;                }                if (i == 4)                {                    break outerloop;                }                document.write("i=" + i + " j=" + j + "<br>");            }      }</script>

           4) let語句(javascript 1.7新增的)

               挺新的東西吧,書上介紹的也很短,網上資料也很少,只知道let語句允許使用標識符來標示一個語句。

           5) yield語句

               這個東西挺有用的,yield語句可以在迴圈語句中產生一個輸出值並返回,包含yield語句的函數稱為產生器,一般用迭代器遍曆產生器。

//這個yield語句我只在firefox瀏覽器中看到了效果,其他瀏覽器都沒有顯示
<script type="application/javascript; version=1.7">function generator(){var i = 0;while(i<10){ //產生輸出 yield i ; i++; }}//擷取產生器var g = generator();//迭代for(var j = 0; j<10; j++){ document.write(g.next()+"<br>");}</script>//不使用產生器<script >function writeValue(param){ document.write(param+"<br />");}function generator(){var i = 0;while(i<10){ //產生輸出 writeValue(i); i++; }}generator();</script>

           6) with語句

               用來方便地引用某個特定對象額方法和屬性

var rightNow = new Date();with(rightNow){document.write(getDay()+"<br>");document.write(getMonth()+1+"<br>");document.write(getFullYear()+"<br>");}//就是少寫了rightNow這個對象。

 

以上全部都屬個人原創,請大家轉載的時候附上原創連結: http://www.cnblogs.com/tonylp

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.