JS 响应式编程
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://bbs.csdn.net/topics/380250714
并发编程参考书籍:
《C#并发编程经典实例》 Stephen Cleary 著 相银初 译
JS 响应式编程的更多相关文章
- iOS响应式编程:ReactiveCocoa vs RxSwift 选谁好
转载: iOS响应式编程:ReactiveCocoa vs RxSwift 选谁好 内容来自stack overflow的一个回答:ReactiveCocoa vs RxSwift – pros an ...
- 【响应式编程的思维艺术】 (1)Rxjs专题学习计划
目录 一. 响应式编程 二. 学习路径规划 一. 响应式编程 响应式编程,也称为流式编程,对于非前端工程师来说,可能并不是一个陌生的名词,它是函数式编程在软件开发中应用的延伸,如果你对函数式编程还没有 ...
- Angular6 基础(数据绑定、生命周期、父子组件通讯、响应式编程)
Angular相比于vue来说,更像一个完整的框架,本身就集成了很多模块,如路由,HTTP,服务等,而vue是需要另外引入比如(vuex,axios等).Angular引入了依赖注入.单元测试.类等后 ...
- 响应式编程(Reactive Programming)(Rx)介绍
很明显你是有兴趣学习这种被称作响应式编程的新技术才来看这篇文章的. 学习响应式编程是很困难的一个过程,特别是在缺乏优秀资料的前提下.刚开始学习时,我试过去找一些教程,并找到了为数不多的实用教程,但是它 ...
- iOS开发--Swift RAC响应式编程初探
时间不是很充足, 先少说点, RAC的好处是响应式编程, 不需要自己去设置代理委托, target, 而是主要以信息流(signal), block为主, 看到这里激动吧, 它可以帮你监听你的事件, ...
- Chocolat.js – 响应式的 jQuery Lightbox 插件
Chocolat.js 使您能够显示一个或多个图像在同一页面上.给用户展示一组图片缩略图,可以显示全页或块.Chocolat.js 可以很好地处理所有主要的浏览器.它在下面这些浏览器测试通过:IE7+ ...
- IOS响应式编程框架ReactiveCocoa(RAC)使用示例
ReactiveCocoa是响应式编程(FRP)在iOS中的一个实现框架,它的开源地址为:https://github.com/ReactiveCocoa/ReactiveCocoa# :在网上看了几 ...
- Dense.js - 响应式的视网膜(Rtina)图像支持
Dense 是一款 jQuery 插件,它提供一个简单的方法为设备提供精密像素比的图像,为你的网站带来视网膜支持,清除模糊,图像更清晰.通过简单地包括 jQuery 插件的页面上,就能实现响应式的视网 ...
- ImageLightbox.js – 响应式的图片 Lightbox 插件
ImageLightbox.js 是一款很简洁的用于显示图片灯箱效果(Lightbox)的插件,没有字幕,导航按钮或默认背景.如果默认功能不够用的话,你可以很容易地自定义 JavaScript 函数扩 ...
随机推荐
- jvisualvm
f the fonts used by VisualVM are hard to read, switching the LaF might help. Try for example 'visu ...
- 解开神秘面纱之“AngualrJS 中指令相关的嵌入作用域和模板作用域”
原文:https://www.airpair.com/angularjs/posts/transclusion-template-scope-in-angular-directives#r1 原标题: ...
- 怎么把一个int数组转化为char型数组??
/* 234 Press any key to continue */ #include <stdio.h> int main() { ,n; ]; ; num; ++n) { s[n] ...
- 背景透明IE和rgba
opacity:0.5; filter:Alpha(opacity=40); //IE8以下 当我们设置opacity透明时,opacity后代元素会随着一起具有透明性,所以我们Opacity中的文字 ...
- ecstore中kvstore之memcached
memcached的安装 详细见 http://blog.csdn.net/motian06/article/details/17558831 memcached扩展的安装 详细见 http://bl ...
- thin-provisioning-tools
公司我还用着squeeze,没这个包,下载编译:https://github.com/jthornber/thin-provisioning-tools.git
- highcharts 去掉打印和链接
1)去掉或更改图片右下角的链接 在highcharts.js文件中搜索credits字符串,找到如下的字符串, enabled:设置是否显示链接 text:设置链接显示的名称 href:设置链接的ur ...
- 网页解析的全过程(输入url到展示页面)
1.用户输入网址,浏览器发起DNS查询请求 用户访问网页,DNS服务器(域名解析系统)会根据用户提供的域名查找对应的IP地址. 域名解析服务器是基于UDP协议实现的一个应用程序,通常通过监听53端口来 ...
- ACM录 之 输入输出。
—— 简单介绍一下ACM里面的输入输出... —— 主要说C++的输入输出(其实其他的我不会...). —— C++里面有输入输出流,也就是cin和cout,用起来也算是比较方便吧... —— 但是, ...
- 从客户端检测到有潜在危险的 Reque
web.config里面加上<httpRuntime requestValidationMode="2.0" />如下<system.web><htt ...