JavaScript 响应式编程模式有点类似 WebForm 中的事件驱动模式(传相应的处理函数给委托,通过事件来触发来进行相关的处理),在 AngularJs 2.x 框架中,应用了 RxJS API,具体可以参考 AngularJs 官网。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<script type="text/javascript">
//定义功能类似C#中的委托的函数
function showId(func, param) {
if (func) {
func(param);
}
}
//显示标签的id(响应式编程方式,类似WebForm中的事件机制)
function myClick(t) {
showId(function (x) { alert(x); }, t);
}
</script>
</head>
<body>
<div onclick="myClick(this.id)" id="myDiv">Click to show id</div>
</body>
</html>

js中把字符串转成函数

<html>
<head>
<!--js中把字符串转成函数-->
<meta charset="utf-8" />
</head>
<body>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(){
//函数体字符串
var jsStr = 'function checkLength(){ var v = $(this).val(); if(v.length > 3){ alert(v+": 长度大于 3"); } }';
jsStr += ' function checkType(){ var re = /[\+]/; var v = $(this).val(); if(re.test(v)){ alert(v+": 包含: \+"); } }';
//创建一个<script>标签
var scriptTag = document.createElement("script");
scriptTag.innerHTML = jsStr;
//把新建的<script>标签添加到<head>标签中
document.getElementsByTagName("head")[0].appendChild(scriptTag);
//为input标签绑定事件
$("#name").bind("blur", checkLength);
$("#name").bind("blur", checkType);
});
</script>
<input id="name" type="text" />
</body>
</html>

RxJS参考资源:

https://github.com/Reactive-Extensions/RxJS

http://www.introtorx.com/

http://bbs.csdn.net/topics/380250714

并发编程参考书籍:

《C#并发编程经典实例》 Stephen Cleary 著 相银初 译

JavaScript 把函数作为参数进行传值的更多相关文章

  1. JavaScript 中函数的参数

    functionName(parameter1, parameter2, parameter3) { // 要执行的代码…… } 参数规则 JavaScript 函数定义时形参没有指定数据类型. Ja ...

  2. js中所有函数的参数(按值和按引用)都是按值传递的,怎么理解?

    我觉着我可能对这块有点误解,所以单独开个博说下自己的理解,当然是研究后的正解了. 1,参数传递是基本类型,看个例子: function addTen(num){ num += 10; return n ...

  3. JavaScript 函数参数是传值(byVal)还是传址(byRef)?

    对于“JavaScript 函数参数是传值(byVal)还是传址(byRef)”这个问题,普遍存在一个误区:number,string等“简单类型”是传值,Number, String, Object ...

  4. Javascript函数(定义、传值、重载)

    Javascript 函数的定义的方式有不止一种. 第一种方式: function fn1(){ alert(typeof fn1); alert(“fn1”); } 在调用的时候直接就可以fu1() ...

  5. Delphi函数参数传递 默认参数(传值)、var(穿址)、out(输出)、const(常数)四类

    Delphi的参数可以分为:默认参数(传值).var(传址).out(输出).const(常数)四类 可以对比C/C++的相关知识,类比学习. 1.默认参数是传值,不会被改变,例子 function ...

  6. javascript 在一个函数参数中包含另一个函数的引用

    javascript函数的参数包含另一个函数的情形: <script> //b函数的参数func为另一个函数 function b(a, func) {  alert(a); //调用参数 ...

  7. JavaScript中函数参数的按值传递与按引用传递(即按地址传递)

    首先声明一句:JavaScript中所有函数的参数都是按值传递的!不存在按引用传递! 在讲传递参数之前我们先来讲一下指针. 学过C指针的应该都知道,指针变量中保存的是一个地址,程序可以根据所保存的地址 ...

  8. Python第七天 函数 函数参数 函数里的变量 函数返回值 多类型传值 函数递归调用 匿名函数 内置函数

    Python第七天   函数  函数参数   函数里的变量   函数返回值  多类型传值     函数递归调用   匿名函数   内置函数 目录 Pycharm使用技巧(转载) Python第一天   ...

  9. Javascript我学之三函数的参数

    本文是金旭亮老师网易云课堂的课程笔记,记录下来,以供备忘 函数的参数             对于参数值,JavaScript不会进行类型检查,任何类型的值都可以被传递给参数.             ...

随机推荐

  1. 所有的异常都要使用try catch 语句捕获?

    在开发应用程序过程中必须检测代码可能发生的错误并进行正确的处理,这个在理想的情况下,应用程序中的每行 代码都按照预想的执行,要用到的每种资源总是可以利用,但是在实际的开发过程中,写代码难免会出错,或是 ...

  2. dtrace.org

    http://dtrace.org/blogs/rm/2016/09/15/turtles-on-the-wire-understanding-how-the-os-uses-the-modern-n ...

  3. 关于SQL命令中不等号(!=,<>)

    比较两个表达式(比较运算符).当比较非空表达式时,如果左边操作数的数值不等于右边的操作数,则结果为 TRUE:否则结果为 FALSE.如果两个操作数中有一个或者两个都为 NULL,并且 SET ANS ...

  4. linux以下安装dnw

    [root@embedded secbulk]# make -C /lib/modules/`uname -r`/build M=`pwd` modules make: *** /lib/module ...

  5. hibernate之多对一单向关联

    一个工作组(Group)里能够有多个用户(User),一个User仅仅属于一个Group,这是典型的多对一的关系. 在多对一的关系中正确的数据库设计是在多的这方(在这里是User这方)加一个Group ...

  6. 不同VLAN之间相互通信的两种方式

    (单臂路由.三层交换) 试验环境:东郊二楼第三机房 试验设备:Catalyst 2950-24(SW3) Cisco 2611(R2) Catalyst 3750 SERIES (带两个SD接口,S8 ...

  7. centos7容量扩充

    新买的2T 绿盘到货了~~好开心的说~但毕竟是第一次安装,事先还是在网上搜索了很多资料才敢动手,下面就开始啦~ 环境:Centos7.dell服务器.2T容量绿盘 1.硬盘连接好之后,开机先使用fdi ...

  8. c#实现播放器的集中方式

    http://www.cnblogs.com/iskyoole/archive/2012/03/25/2417181.html(原文链接地址) 一.使用vs自带的windows media play控 ...

  9. 2016/1/14 java生成指定范围的随机数

    java生成指定范围的随机数 package edu.sjtu.erplab.io; import java.util.Random; public class RandomTest { public ...

  10. ZOJ 3872 计算对答案的贡献

                                                   D - Beauty of Array Description Edward has an array A ...