十年專注于品牌網站建設 十余年專注于網站建設_小程序開發_APP開發,低調、敢創新、有情懷!
      南昌百恒網絡微信公眾號 掃一掃關注
      小程序
      tel-icon全國服務熱線:400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡微信小程序

      百恒網絡

      南昌百恒網絡

      ECMAScript 1ebel語句、break和continue語句、with語句

      百恒網絡 2012-02-27 5210

      1. 1ebel語句

      使用label語句可以在代碼中添加標簽,以便將來使用。以下是label語句的語法:

      label: statement

      下面是一個示例:

      start: for(var i=0; i alert (i);

      }

      這個例子中定義的start櫟簽可以在將來由break或continue語句引用。加標簽的語句一般都要與for語句等循環語句配合使用。

      2. break和continue語句

      break和continue語句用于在循環中精確地控制代碼的執行。其中,break語句會立即退出循環,強制繼續執行循環后面的語句。而continue語句雖然也是立即退出循環,但退出循環后會從循環的頂部繼續執行。請看下面的例子:

      var num=O;

      for (var i=l; i<10; 1++) {

      if (i%5==O) {

      break;

      }

      num++;

      }

      alert (num); //4

      這個例子中的for循環會將變量i由1遞增至10。在循環體內,有一個if語句檢查i的值是否可以被5整除(使用求模操作符)。如果是,則執行break語句退出循環。另一方面,變量num從0開始,用于記錄循環執行的次數。在執行break語句之后,要執行的下一行代碼是alert()函數,結果顯示4。也就是說,在變量i等于5時,循環總共執行了4次;而break語句的執行,導致了循環在num次遞增之前就退出了。如果在這里把break替換為continue的話,則可以看到另一種結果:

      var num = 0;

      for (var i=l; i<10; 1++) {

      if (i%5==O) {

      continue;

      }

      num++;

      }

      alert (num); //8

      例子的結果顯示8,也就是循環總共執行了8次。當變量i等于5時,循環會在num再次遞增之前退出,但接下來執行的是下一次循環,即i的值等于6的循環。于是,循環又繼續執行,直到i等于10時自然結束。而mun的最終值之所以是8,是因為continue語句導致它少遞增了一次。

      break和continue語句都可以與label語句聯合使用,從而返回代碼中特定的位置。這種聯合使用的情況多發生在循環嵌套的情況下,如下面的例子所示:

      varriuni=0;

      outermost;

      for (var i=0;i<10; 1++) {

      for (var j=0; j<10; j++) {

      if (i==5&&j==5) {

      break outermost;

      }

      num++;

      }

      }

      alert (num); //55

      在這個例子中,outermost標簽表示外部的for語句。如果每個循環正常執行10次,則num++語句就會正常執行100次。換句話說,如果兩個循環都自然結束,num的值應該是100。但內部循環中的break話句帶了一個參數:要返回到的標簽。添加這個標簽的結果將導致break語句不僅會退出內部的for語句(即使用變量j的循環),而且也會退出外部的for語句(即使用變量i的循環)。

      為此,南昌網頁設計公司前端開發工程師提示,當變量i和j都等于5時,num的值正好是55。同樣,continue語句也可以像這樣與label語句聯用,如下面的例子所示:

      varrium=O;

      outermost;

      for (var i=0; i<10; 1++) {

      for (var j=0; j<10; j++) {

      if(i==5&&j==5) {

      continue outermost;

      }

      num++;

      }

      }

      alert (num); //95

      在這種情況下,continue語句會強制繼續執行循環——退出內部循環,執行外部循環。當j是5時,continue語句執行,而這也就意味著內部循環少執行了5次,因此num的結果是95。

      雖然聯用break、continue和label語句能夠執行復雜的操作,但如果使用過度,也會給調試帶來麻煩。在此,南昌網絡公司百恒網絡建議如果使用label語句,一定要使用描述性的標簽,同時不要嵌套過多的循環。

      3. with語句

      with語句的作用是將代碼的作用域設置到一個特定的對象中。with語句的語法如下:

      with (expression) statement

      定義with語句的目的主要是為了簡化多次編寫同一個對象的工作,如下面的例子所示:

      var qs=location.search.substring(l);

      var hostName=location.hostname;

      var url=location.href;

      上面幾行代碼都包含location對象。如果使用with語句,可以把上面的代碼改寫成如下所示:

      with(location){

      var qs=search.substring (1);

      var hostName=hostname;

      var url=href;

      }

      在這個重寫后的例子中,使用with語句關聯了location對象。這意味著在with語句的代碼塊內部,每個變量首先被認為是一個局部變量,而如果在局部環境中棧不到該變量的定義,就會查詢location對象中是否有同名的屬性。如果發現了同名屬性,則以location對象屬性的值作為變量的值。

      南昌網站建設公司前前端開發工程師提醒:由于大量使用with語句會導致性能下降,同時也會給調試代碼造成困難,因此在開發大型應用程序時,不建議使用with語句.


      400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡小程序

      歡迎您的光顧,我們將竭誠為您服務×

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務 售后服務
       
      售后服務 售后服務
       
      備案專線 備案專線
       
      ×
      四虎国产成人永久精品免费 | 网友偷拍日韩精品| 国产亚洲精品bv在线观看| 亚洲国产精品免费视频| 中文字幕精品视频在线| 国产精品无码免费专区午夜| 日韩精品午夜视频一区二区三区| 国产免费久久精品| 国产精品亚洲精品日韩动图| 国产精品videossexohd| 亚洲日韩精品国产3区| 国产精品嫩草影院一二三区入口| 69久久夜色精品国产69小说 | 国产午夜亚洲精品不卡免下载| 国语自产精品视频在线第| 青青草原综合久久大伊人精品| 无码人妻精品中文字幕免费东京热| 亚洲一区精品视频在线| 亚洲精品国产啊女成拍色拍| 69国产成人精品午夜福中文| 久久精品亚洲精品国产色婷| 99久久人妻精品免费二区| 日韩人妻精品一区二区三区视频| 久久伊人精品热在75| 久久亚洲精品成人综合| 久久久无码精品国产一区| 久久精品午夜福利| 久久国产精品免费网站| 久久精品国产亚洲AV麻豆不卡| 国产办公室秘书无码精品99 | 少妇人妻精品一区二区| 人妻少妇精品无码专区| 精品国产一区二区三区在线 | 久久精品这里只有精99品| 久久精品国产一区二区三区不卡| 国产精品综合久久第一页| 久久精品国产一区二区三区| 伊人这里只有精品| 国产成人精品日本亚洲专区61| 精品国内片67194| 亚洲国产精品无码专区在线观看|