自己写的一个javascript 智能绑定callback 而且调用运行的函数。主要用于异步请求的 ajax中:

<!DOCTYPE html>
<html>
<head lang="en"><meta charset="UTF-8"><title></title>
</head>
<body><script>/*** @author default7@zbphp.com* @date 2014-10-17* @description 通过传入的參数获取出函数名称* @param args* @returns {string}*/function getFunctionName(args) {var fName = '';if (typeof  args == 'string' && /^[a-zA-Z0-9]+$/.test(args)) {fName = args;} else {var fBody = '';if (typeof args == 'object' && args.callee) {fBody = args.callee.toString();} else if (typeof  args == 'string') {fBody = args;}if (fBody) {var m = fBody.match(/function\s+([a-zA-Z0-9]+)\s*\(/i);if (m && m[1]) {fName = m[1];}}}return fName;}var gCallback = [];function addCallback(fName, callback) {if (typeof fName == 'string' && typeof window[fName] == 'function' && typeof callback == 'function') {if (typeof gCallback[fName] == 'undefined') {gCallback[fName] = [];}gCallback[fName].push(callback);}}/*** @description 运行绑定的函数* @param args*/function execCallback(args) {var fName = getFunctionName(args);if (fName && window[fName] && gCallback[fName]) {for (var i in gCallback[fName]) {gCallback[fName][i]();}gCallback[fName] = [];//仅仅调用一次}}
</script><script>function a() {alert('a');}function b() {alert('b');}function c() {alert('c');}function d() {alert('d');}function initUser() {execCallback(arguments);}addCallback('initUser', a);addCallback('initUser', b);addCallback('initUser', c);initUser();addCallback('initUser', d);initUser();</script>
</body>
</html>

转载于:https://www.cnblogs.com/mfrbuaa/p/5139132.html

javascript 自己主动绑定JS callback 的方法函数相关推荐

  1. 在js对象上绑定js数组原生方法

    在js对象上绑定js数组原生方法 在js对象上绑定数组方法会给当前对象添加一个lenght:0属性 例: var o = {}; [].pop.call(o) console.log(o)//返回结果 ...

  2. javascript/dom:原生的JS写选项卡方法

    来源:http://www.jb51.net/article/30108.htm <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transi ...

  3. JavaScript给按钮绑定点击事件(onclick)的方法及js常见事件

    本文实例讲述了JavaScript给按钮绑定点击事件(onclick)的方法.分享给大家供大家参考.具体分析如下: 我们可以通过设定按钮的onclick属性来给按钮绑定onclick事件 <!D ...

  4. html动态加载js方法,如何通过JavaScript动态加载js

    在Web开发时,有可能会遇到这么一种情况:我们需要通过一个js文件中引用另一个js文件中的函数,可是另一个函数有没有办法在页面中通过该 方法比较简单,具体实例详见代码: 文件1:demo.js fun ...

  5. JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题的解决方法

    JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题的解决方法 参考文章: (1)JS IOS/iPhone的Safari浏览器不兼容Javascript中的D ...

  6. DW中html怎么调用js,把Javascript代码应用到网页中的方法

    把Javascript代码应用到网页中的方法 发布时间:2012-05-14 11:21:49   作者:佚名   我要评论 把Javascript代码放到网页中,做网页的时候经常要用到这个方法.请看 ...

  7. js表单提交 php,JavaScript提交表单的几种方法

    在我们工作中我们会经常使用到form表单,相信大家再熟悉不过了,那么提交表单有很多种方法,JavaScript提交表单的方法又是如何呢,今天就带大家介绍下JavaScript提交表单的几种方法! 第一 ...

  8. JavaScript教程9 - Node.js

    Node.js 安装Node.js https://nodejs.org/ npm npm其实是Node.js的包管理工具(package manager). 命令行模式 执行node hello.j ...

  9. html5-svg和Two.js的使用方法(附案例)

    * svg * 基本内容 * SVG不属于HTML5专用内容 * HTML5提供有关SVG原生的内容 * 在HTML5出现之前,就有SVG内容 * SVG简单来说就是矢量图 * SVG文件扩展名为&q ...

最新文章

  1. Keras下载的数据集以及预训练模型保存在哪里
  2. 使用openstack构建私有云计算平台
  3. 南京大学与东南大学计算机学院,南京被“严重低估”的1所大学,拥有8个A+学科,无奈校名太普通...
  4. antd 设置表头属性_使用表数据自定义React Antd表头
  5. Appfuse 教程
  6. GHOSTXPSP3系统封装网页图文教程
  7. hdu 1394Minimum Inversion Number
  8. PIC16F887 实战编程 单片机编程 基础实验教程
  9. 语义分析的方法简述之文本基本处理
  10. 控制系统matlab计算及仿真,控制系统MATLAB计算及仿真实训
  11. 计算机网络技术练习,计算机网络技术基础各章节综合练习题及答案
  12. 远程服务器批量管理员权限,Win10系统下怎样实现批量远程桌面管理?Win10系统进行批量远程管理的方法...
  13. 我们不应该歧视任何的编程语言,因为他们都是萌娘
  14. Python编写随机一百个人的姓名,加面试考核得分
  15. 关闭WinSAT.exe Windows 系统评估工具服务
  16. web前端学习之——页面美妆师css3基础篇
  17. 数据库的基本操作习题
  18. Python挑战游戏( PythonChallenge)闯关之路Level 0
  19. 【LSSVM回归预测】基于matlab灰狼算法优化最小支持向量机GWO-LSSVM数据预测【含Matlab源码 2259期】
  20. 一个简单的猜数字游戏(附带关机惩罚)

热门文章

  1. python使用win32后台鼠标点击梦幻西游(只用于开学习技术)新手学习
  2. 1599-卡斯丁狗的炉石传说 ZCMU
  3. Codec2入门:框架解析
  4. 上网行为管理设备网桥部署方式
  5. mk突变点检测_MK检验突变分析 matlab
  6. 高职高考数学可以用计算机吗,什么学习水平高职高考数学可以答满分
  7. dota有哪些经典的典故或笑话?
  8. 今日头条:注册头条号3-7天就度过,掌握这四个关键点
  9. luoguP1462 通往奥格瑞玛的道路[四星]
  10. 无忧考吧java的题库准吗,无忧考吧题库_无忧考吧从业题库难度和真正考试难度一样吗_淘题吧...