<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      《JavaScript高級程序設(shè)計(jì)》讀書筆記(八):Function類及閉包

      Function

      定義

        Function類可以表示開發(fā)者定義的任何函數(shù),用Function類直接創(chuàng)建函數(shù)的語法如下: 

      var function_name=new Function(agrument1,agrument2,...,argumentN,function_body);

        每個(gè)argument都是一個(gè)參數(shù),最后一個(gè)參數(shù)是函數(shù)主體(要執(zhí)行的代碼)

        示例:

      function sayHi(sName,sMessage){
      alert("Hello "+sName+","+sMessage);
      }

        還可以如下定義它:

      var sayHi=new Function("sName","sMessage","alert(\"Hello\"+sName+\",\"+sMessage);");

        注:盡管可用Function構(gòu)造函數(shù)創(chuàng)建函數(shù),但最好不要使用它,因?yàn)橛盟x函數(shù)比用傳統(tǒng)方式要慢得多。不過,所有函數(shù)都應(yīng)看作是Function類的實(shí)例。

      屬性和方法

        因?yàn)楹瘮?shù)是引用類型,所以它們也有屬性和方法,ECMAScript定義的屬性length聲明了函數(shù)期望的參數(shù)個(gè)數(shù),例如: 

      function doAdd(iNum){
      alert(iNum+10);
      }

      function sayHi(){
      alert("Hi");
      }

      alert(doAdd.length);//outpus 1
      alert(sayHi.length);//outpus 0

        Function對象也有與所有對象共享的標(biāo)準(zhǔn)valueOf()方法和toString()方法,這兩個(gè)方法返回的都是函數(shù)的源代碼,在調(diào)試時(shí)尤其有用。

        例如:

      function doAdd(iNum){
      alert(iNum+10);
      }
      alert(doAdd.toString());

        這段代碼輸出了doAdd()函數(shù)的文本。

       

      閉包

      定義

        所謂閉包,是指詞法表示包括不必計(jì)算的變量的函數(shù),也就是說,該函數(shù)能使用函數(shù)外定義的變量。在ECMAScript中使用全局變量是一個(gè)簡單的閉包實(shí)例。

        示例:

      var sMessage="Hello World";
      function sayHelloWold(){
      alert(sMessage);
      }
      sayHelloWorld();

        在一個(gè)函數(shù)中定義另一個(gè)函數(shù)會使閉包變得更復(fù)雜,如:

      var iBaseNum=10;
      function addNumbers(iNum1,iNum2){
      function doAddtion(){
      return iNum1+iNum2+iBaseNum;
      }
      return doAddtion();
      }

        這里函數(shù)addNumbers()包括函數(shù)doAddtion()(閉包)。內(nèi)部函數(shù)是個(gè)閉包,因?yàn)樗鼘@取外部函數(shù)的參數(shù)iNum1iNum2以及全局變量iBaseNum的值。addNumbers()的最后一步調(diào)用了內(nèi)部函數(shù),把兩個(gè)參數(shù)和全局變量相加,并返回它們的和。這里要掌握的重要概念是doAddtion()函數(shù)根本不接受參數(shù),它使用的是從執(zhí)行環(huán)境中獲取的。

        可以看到,閉包是ECMAScript中非常強(qiáng)大多用的一部分,可以用于執(zhí)行復(fù)雜的計(jì)算。就像使用任何高級函數(shù)一樣,在使用閉包時(shí)要當(dāng)心,因?yàn)樗鼈兛赡軙兊梅浅?fù)雜。

      本文示例代碼

      posted @ 2012-02-04 12:53  artwl  閱讀(824)  評論(3)    收藏  舉報(bào)

      個(gè)人簡介

      var ME = {
      	"name": "土豆/Artwl",
      	"job": "coding",
      	"languages": [
      		"JS", "HTML",
                      "CSS", "jQuery"
      		"MVC",".NET",
      		"設(shè)計(jì)模式"
      	],
      	"hobby": [
      		"閱讀", "旅游",
      		"音樂", "電影"
      	]
      }
      
      TOP
      主站蜘蛛池模板: 中文字幕乱码中文乱码毛片 | 国产精品白丝久久AV网站| 精品中文人妻中文字幕| 郁南县| 国自产在线精品一本无码中文| 综合成人亚洲网友偷自拍| 久久久精品94久久精品| 日韩有码中文字幕av| 99久久久国产精品免费蜜臀| 任我爽精品视频在线播放| 精品无码国产日韩制服丝袜| 国产精品国产精品国产专区不卡| 国产粉嫩区一区二区三区| 一区二区三区不卡国产| 国产电影一区二区三区| 国产嫩草精品网亚洲av| 好吊视频专区一区二区三区| 国产超碰无码最新上传| 免费国产va在线观看| 无线乱码一二三区免费看| 亚洲欧洲日产国码久在线| 国产精品久久人人做人人爽| 日日碰狠狠添天天爽五月婷 | 色视频在线观看免费视频| 久热这里只有精品12| 国产三级a三级三级| 欧美激烈精交gif动态图| 无套内内射视频网站| 国内综合精品午夜久久资源| 成人午夜av在线播放| 2019亚洲午夜无码天堂| 国产一区二区av天堂热| 最近最好的2019中文| 国产系列高清精品第一页| 97久久精品亚洲中文字幕无码| 深夜福利成人免费在线观看| 一本色道久久东京热| 免费AV片在线观看网址| 尤物国精品午夜福利视频| 日韩欧美一卡2卡3卡4卡无卡免费2020| 亚洲一区精品视频在线|