javascript bind绑定函数代码_javascript技巧

具体结论可参见《javascript下动态this与动态绑定实例代码》。本文专注设计一个无侵入的绑定函数。

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

基于不扩展原生对象的原则,弄了这个bind函数(dom为作用域),用法与Prototype框架的bind差不多。

复制代码 代码如下:

dom.bind = function(fn,context){
//第二个参数如果你喜欢的话,也可以改为thisObject,scope,
//总之,是一个新的作用域对象
if (arguments.length < 2 && context===undefined) return fn;
var method = fn,
slice = Array.prototype.slice,
args = slice.call(arguments, 2) ;
return function(){//这里传入原fn的参数
var array = slice.call(arguments, 0);
method.apply(context,args.concat(array))
}

用法:第一个参数为需要绑定作用域的函数,第二个为window或各种对象,其他参数随意。

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

另一个例子:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

时间: 2024-11-09 00:16:15

javascript bind绑定函数代码_javascript技巧的相关文章

JS 事件绑定函数代码_javascript技巧

主要解决了 浏览器兼容,现在可以兼容IE6 7 8 FF 谷歌(废话) IE浏览器里,this指向问题. 直接上代码吧! 复制代码 代码如下: var bind=function(object,type,fn){ if(object.attachEvent){//IE浏览器 object.attachEvent("on"+type,(function(){ return function(event){ window.event.cancelBubble=true;//停止时间冒泡 o

Javascript insertAfter() 实现函数代码_javascript技巧

复制代码 代码如下: //DOM没有提供insertAfter()方法 function insertAfter(newElement, targetElement){ var parent = targetElement.parentNode; if (parent.lastChild == targetElement) { // 如果最后的节点是目标元素,则直接添加.因为默认是最后 parent.appendChild(newElement); } else { parent.insertB

比较精简的Javascript拖动效果函数代码_javascript技巧

div1:我可以被拖动 div2:来拖我呀 div3:我随便你拖 div4:我可以随窗口滑动,把我拖到最下面,然后滚动网页看看 作者: Longbill www.longbill.cn 参数说明: drag(obj [,scroll]); obj:对象的id或对象本身; scroll(可选):对象是否随窗口拖动而滑动,默认为否 鼠标右键查看源代码

JavaScript实现跨浏览器的添加及删除事件绑定函数实例_javascript技巧

本文实例讲述了JavaScript实现跨浏览器的添加及删除事件绑定函数.分享给大家供大家参考.具体如下: IE 的事件绑定函数是 attachEvent:而 Firefox, Safari 是 addEventListener:Opera 则两种都支持.使用jQuery就可以使用简单的bind(),或者$().click()之类的函数解决,而如果不使用JavaScript框架的时候,大家可是使用下面的封装bind()函数. 添加事件绑定 bind() /*********************

Javascript 阿拉伯数字转化中国大写数字的函数代码_javascript技巧

主要函数代码: 复制代码 代码如下: function Chinese(num) { if(!/^\d*(\.\d*)?$/.test(num)) { alert("你输入的不是数字,请重新输入!"); return false; } var AA = new Array("零","壹","贰","叁","肆","伍","陆","柒&qu

javascript 四则运算精度修正函数代码_javascript技巧

函数代码如下: 复制代码 代码如下: /* * 四则运算精度修正函数 * m 数值1(number) * n 数值2(number) * op 操作符(string) */ function fixMath(m, n, op) { var a = (m+ " "); var b = (n+ " "); var x = 1; var y = 1; var c = 1; if(a.indexOf( ". ")> 0) { x = Math.po

详解javascript事件绑定使用方法_javascript技巧

由于html是从上至下加载的,通常我们如果在head部分引入javascript文件,那么我们都会在javascript的开头添加window.onload事件,防止在文档问加载完成时进行DOM操作所出现的错误.如果有多个javascript文件,那么极有可能出现多个window.onload事件,但是最后起作用的只有一个,这时候就需要使用事件绑定来解决这个问题了. IE方式 attachEvent(事件名称, 函数),绑定事件处理函数 detachEvent(事件名称, 函数),解除绑定 DO

javascript 常用验证函数总结_javascript技巧

/** * 2010-7-13 * 贺 臣 * 情 缘 * js各种表单数据验证 */ /**************************************************************************************/ /*************************************数字的验证*****************************************/ /******************************

Javascript的匿名函数小结_javascript技巧

一.什么是匿名函数? 在Javascript定义一个函数一般有如下三种方式: 函数关键字(function)语句: function fnMethodName(x){alert(x);} 函数字面量(Function Literals): var fnMethodName = function(x){alert(x);} Function()构造函数: var fnMethodName = new Function('x','alert(x);') 上面三种方法定义了同一个方法函数fnMetho