匿名函數 An anonymous function

沒有名字的就叫作“匿名函數”,像這個

function(x,y){return x+y}

沒有名字當然不能直接調用,也無法調用;最多能只能把它賦 " /> 免费一级欧美片在线观免看,亚洲国产成人久久综合碰,午夜刺激爽爽视频免费观看

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

學習YUI.Ext 第二天

遇到一些JS的語法上的問題,沒有理解透,惡補基本功!

 

匿名函數 An anonymous function

沒有名字的就叫作“匿名函數”,像這個

function(x,y){return x+y}

沒有名字當然不能直接調用,也無法調用;最多能只能把它賦值或閉包處理(閉包是什么下面再講),如:

var sum =function(x,y){return x+y};

alert(sum(1,2));

這時候,與傳統寫法是等價的 function sum(x,y){return x+y}.這樣的寫法讓人感覺更OOP,因為sum變量就包含了function...這個函數體;

還可以閉包的方式調用該函數:

(functioin(x,y){return x+y})(1,2) //返回值3

代碼很簡潔。注意括號的使用,形式為(exp)()。這種用法可以稱作 閉包closure。
后面括號的是參數,把這些參數放進fn里面立即計算,得出一個值 3。這實際上是一個表達式的運算。沒想到fn函數體也可以放進去參與運算^_^(Using function as an expression)!(基本功:表達式Expression,其含義是通過計算后,始終會返回一個值,無論這個表達式有多長)

fn還可以以參數形式傳遞(passing function as argument to other functions)

var main_fn = function(fn,x,y){return fn(x,y)}

var sum = function (x,y){
   return x+y;
}

alert(main_fn(sum,1,2)) // result:3

總結一下(by an IBM Engineer's article, refer to IBM website,最好用心記一記)

Functions need not have names all the time.

Functions can be assigned to variables like other values.

A function expression can be written and enclosed in pareNETheses for application later.

Functions can be passed as arguments to oher funcitons.

再談閉包,閉包的作用是形成一個定義域,舉一個很白癡的例子 1+(2+3),括號部分優先運算,或者換個說法,括號里面的歸為一個范圍,這個范圍我不理你做什么事情都是你里面做的事情,與括號外界無關(好像是廢話,--我是這樣想的,就是這樣寫的@#@),程序上的理解也是這樣。js有函數定義域function scope,因此,當使用this指向一個對象出現問題的時候,可考慮使用閉包。具體例子在:http://www.svendtofte.com/code/practical_functional_js/

JavaScript技術學習YUI.Ext 第二天,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 看片中文字幕 | 久久大香伊蕉在人线国产昨爱 | 国产精品系列在线观看 | 天天插天天爽 | a色视频| 亚洲图片在线视频 | 亚洲一二区视频 | 一区二区三区四 | 88精品视频 | 欧美黄区 | 黄网在线免费看 | 亚洲大片免费观看 | 国产精品亚洲欧美一级久久精品 | 欧美一区二区三区gg高清影视 | 日本欧美国产精品第一页久久 | 成人激情综合网 | 在线青草| 免费国产怡红院在线观看 | 另类图片综合网 | 国产成人在线小视频 | 久久青草精品免费资源站 | 精品孕妇一区二区三区 | 黄篇网站在线观看 | 久久国产美女免费观看精品 | 欧美激情亚洲激情 | 日韩久久中文字幕 | 色哟哟视频在线观看 | 日韩亚洲欧美在线爱色 | 亚洲伊人色一综合网 | 思思久久q6热在精品国产 | 韩国一级毛片在线观看 | 精品久久久久久久免费加勒比 | 成人三级在线播放 | 欧美另类xxxx图片 | 国产在线视频99 | 一区二区三区在线播放视频 | 一区二区三区在线 | 国产一二三四区在线观看 | 久久国产精品视频一区 | 国产精品高清全国免费观看 | se视频在线观看 |