zoukankan
html css js c++ java
javascript天生就具备类似c#中的"委托"功能
今天读了Professional Javascript for Web Developers,才知道javascript天生就具备类似c#中的"委托"功能
<
script type
=
"
text/javascript
"
>
//
定义一个加法函数
function
fnAdd()
{
var
iResult
=
0
;
for
(
var
i
=
0
;i
<
arguments.length;i
++
)
{
iResult
+=
arguments[i];
}
return
iResult;
}
//
功能与上面的相同,只不过利用的Function对象
var
fnAdd2
=
new
Function(
"
var iResult = 0; for(var i=0;i<arguments.length;i++){iResult += arguments[i];}return iResult;
"
);
//
注意写法,这里直接把函数fnAdd2当作参数传入fnAddDelegate,是不是跟c#中的委托有点类似
function
fnAddDelegate(fnAdd2,iNum1,iNum2)
{
return
fnAdd2(iNum1,iNum2)
}
document.write(fnAdd(
1
,
2
,
3
)
+
"
<br/>
"
);
document.write(fnAdd2(
10
,
20
)
+
"
<br/>
"
);
document.write(fnAddDelegate(fnAdd2,
4
,
5
)
+
"
<br/>
"
);
<
/
script>
运行结果:
6
30
9
作者:
菩提树下的杨过
出处:
http://yjmyzz.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
查看全文
相关阅读:
【原】用IDEA远程Debug Tomcat服务
【原】getInputStream()与getParameterMap()获得Post请求的数据区别
【原】使用Eclipse远程Debug测试环境
【原】配置MySQL服务器端的字符集
【原】Spring整合Redis(第三篇)—盘点SDR搭建中易出现的错误
【原】Spring整合Redis(第二篇)—SDR环境搭建具体步骤
【原】Spring整合Redis(第一篇)—SDR简述
【转】InitializingBean的作用
【原】Redis windows下的环境搭建
【原】Maven解决jar冲突调试步骤:第三方组件引用不符合要求的javassit导致的相关异常
原文地址:https://www.cnblogs.com/yjmyzz/p/1043634.html
最新文章
【Leetcode】Regular Expression Matching
【Leetcode】Palindrome Number
【Leetcode】String to Integer (atoi)
【Leetcode】Reorder List
【Leetcode】Reverse Integer
【Leetcode】ZigZag Conversion
【Leetcode】Longest Palindromic Substring
【Leetcode】Longest Substring Without Repeating Characters
【Leetcode】Binary Tree Traversal
【Leetcode】LRU Cache
热门文章
goland 记"*"与"&"的使用
Python之copy模块
爬虫-request和BeautifulSoup模块
scrapy+mongodb
Celery初识及简单实例
django信号浅谈
requests补充
python3下的twistedPOST请求网页
浅谈Python装饰器
RabbitMQ
Copyright © 2011-2022 走看看