国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

JavaScript高級程序設計讀書筆記之八Function類及閉包_javascript技巧

來源:懂視網 責編:小采 時間:2020-11-27 21:02:28
文檔

JavaScript高級程序設計讀書筆記之八Function類及閉包_javascript技巧

JavaScript高級程序設計讀書筆記之八Function類及閉包_javascript技巧:Function類 定義 Function類可以表示開發者定義的任何函數,用Function類直接創建函數的語法如下: var function_name=new Function(agrument1,agrument2...argumentN,function_body); 每個argument都是一個參數,最后一
推薦度:
導讀JavaScript高級程序設計讀書筆記之八Function類及閉包_javascript技巧:Function類 定義 Function類可以表示開發者定義的任何函數,用Function類直接創建函數的語法如下: var function_name=new Function(agrument1,agrument2...argumentN,function_body); 每個argument都是一個參數,最后一

Function類

定義
  Function類可以表示開發者定義的任何函數,用Function類直接創建函數的語法如下:

var function_name=new Function(agrument1,agrument2,...,argumentN,function_body);
  每個argument都是一個參數,最后一個參數是函數主體(要執行的代碼)。

  示例:
代碼如下:
function sayHi(sName,sMessage){
alert("Hello "+sName+","+sMessage);
}

還可以如下定義它:
var sayHi=new Function("sName","sMessage","alert(\"Hello\"+sName+\",\"+sMessage);");
  注:盡管可用Function構造函數創建函數,但最好不要使用它,因為用它定義函數比用傳統方式要慢得多。不過,所有函數都應看作是Function類的實例。
屬性和方法
  因為函數是引用類型,所以它們也有屬性和方法,ECMAScript定義的屬性length聲明了函數期望的參數個數,例如:
代碼如下:
function doAdd(iNum){
alert(iNum+10);
}
function sayHi(){
alert("Hi");
}
alert(doAdd.length);//outpus 1
alert(sayHi.length);//outpus 0

Function對象也有與所有對象共享的標準valueOf()方法和toString()方法,這兩個方法返回的都是函數的源代碼,在調試時尤其有用。
  例如:
代碼如下:
function doAdd(iNum){
alert(iNum+10);
}
alert(doAdd.toString());

這段代碼輸出了doAdd()函數的文本。
閉包
定義
  所謂閉包,是指詞法表示包括不必計算的變量的函數,也就是說,該函數能使用函數外定義的變量。在ECMAScript中使用全局變量是一個簡單的閉包實例。
  示例:
代碼如下:
var sMessage="Hello World";
function sayHelloWold(){
alert(sMessage);
}
sayHelloWorld();

在一個函數中定義另一個函數會使閉包變得更復雜,如:
代碼如下:
var iBaseNum=10;
function addNumbers(iNum1,iNum2){
function doAddtion(){
return iNum1+iNum2+iBaseNum;
}
return doAddtion();
}

這里函數addNumbers()包括函數doAddtion()(閉包)。內部函數是個閉包,因為它將獲取外部函數的參數iNum1和iNum2以及全局變量iBaseNum的值。addNumbers()的最后一步調用了內部函數,把兩個參數和全局變量相加,并返回它們的和。這里要掌握的重要概念是doAddtion()函數根本不接受參數,它使用的是從執行環境中獲取的。
  可以看到,閉包是ECMAScript中非常強大多用的一部分,可以用于執行復雜的計算。就像使用任何高級函數一樣,在使用閉包時要當心,因為它們可能會變得非常復雜。
本文示例代碼
代碼如下:




《JavaScript高級程序設計》讀書筆記之八:Function類及閉包

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

JavaScript高級程序設計讀書筆記之八Function類及閉包_javascript技巧

JavaScript高級程序設計讀書筆記之八Function類及閉包_javascript技巧:Function類 定義 Function類可以表示開發者定義的任何函數,用Function類直接創建函數的語法如下: var function_name=new Function(agrument1,agrument2...argumentN,function_body); 每個argument都是一個參數,最后一
推薦度:
標簽: fun 筆記 javascript
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 欧美日韩亚洲色图 | 成人精品一区二区www | 国产福利二区 | 成人a毛片免费视频观看 | 久久精品99久久香蕉国产色戒 | 欧美日韩高清完整版在线观看免费 | 亚洲精品一 | 免费一区二区视频 | 操碰97 | 欧美成人h精品网站 | 毛片一区 | 成人精品视频在线 | 国产在线精品成人一区二区三区 | 国产精品国产亚洲精品看不卡 | 欧美精品在线观看视频 | 极品美女一区二区三区 | 久久久精品一区二区三区 | 日韩精品欧美亚洲高清有无 | 国产99视频精品草莓免视看 | 在线日韩视频 | 天堂一区二区三区精品 | 91久久国产综合精品女同我 | 黄色毛片免费在线观看 | 黄网站色视频免费观看45分钟 | 欧美日韩在线国产 | 91网红福利精品区一区二 | 欧美在线综合 | 亚洲国内自拍 | 国产区精品在线 | 亚洲欧美国产高清va在线播放 | 亚洲欧美综合视频 | 国内精品久久久久久中文字幕 | 韩国精品在线 | 黄色在线视频网址 | 久久精品美女 | 欧美亚洲综合视频 | 香蕉一区 | 亚洲国产精品日韩高清秒播 | 中文字字幕码一二三区 | 欧洲精品欧美精品 | 国产精品 日韩 |