<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>code</title> <script> var obj = { name:'东尼大木', getName : function(){ alert(this.name); } } window.onload = function(){ //这里期望输出 东尼大木 其实是 周杰伦 document.getElementById('btn1').onclick = obj.getName; } </script> </head> <body> <button id='btn1' name='周杰伦'> btn </button> </body> </html>
下面的代码可以输出东尼大木
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>code</title> <script> var obj = { name:'东尼大木', getName : function(){ alert(this.name); } } //绑定作用域 function bind(fn,context){ return function(){ return fn.apply(context,arguments); } } window.onload = function(){ document.getElementById('btn1').onclick = bind(obj.getName,obj); } </script> </head> <body> <button id='btn1' name='周杰伦'> btn </button> </body> </html>
这就是闭包的一个用处,在很多地方可以用到,比如需要返回一个回调函数,但是你希望作用域是你指定的。这样的缺点是性能不太好,容易造成内存泄露,慎用。
相关推荐
在JavaScript与DOM交互中经常需要使用函数绑定,定义一个函数然后将其绑定到特定DOM元素或集合的某个事件触发程序上,绑定函数经常和回调函数及事件处理程序一起使用,以便把函数作为变量传递的同时保留代码执行环境
主要介绍了JavaScript函数绑定用法,结合实例形式分析了javascript函数绑定的原理、实现方法与相关操作技巧,需要的朋友可以参考下
下面小编就为大家带来一篇把多个JavaScript函数绑定到onload事件处理函数上的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
JavaScript函数this指向问题详解 目录 一、 函数内 this 的指向1、普通函数2、构造函数3、对象方法4、事件绑定方法5、定时器函数6、立即执行函数二、改变函数内部 this 指向1、call 方法2、apply 方法3、bind ...
JavaScriptthis绑定规则以及箭头函数相关知识,以便于讨论学习
主要介绍了ES6中javascript实现函数绑定及类的事件绑定功能,结合实例形式分析了ES6中函数绑定及类的事件绑定原理、实现方法、相关操作技巧与注意事项,需要的朋友可以参考下
JavaScript绑定大事监听函数的通用方法_.docx
javascript中的绑定与解绑函数应用示例.docx
函数编译并运行JavaScript 保存并加载预编译的脚本数据使用全局对象模板创建JavaScript上下文在Go中操作JavaScript对象属性和数组元素使用属性访问器和拦截器在Go中定义JavaScript对象模板在Go中定义JavaScript函数...
bind函数,顾名思义,用于为调用函数绑定一个作用域,因为this很容易跟丢它原来所在的作用域,直接指向顶层的window对象。
主要为大家详细介绍了JavaScript绑定事件监听函数的通用方法,感兴趣的朋友可以参考一下
本文实例讲述了JavaScript Dom 绑定事件操作JavaScript Dom 绑定事件操作。分享给大家供大家参考,具体如下: JavaScript Dom 绑定事件 // 先获取Dom对象,然后进行绑定 document.getElementById('xx').onclick ...
典型的JavaScript函数定义: function 函数名称(参数表){ //函数执行部分 return ; } //注意:参数列表直接写形参名即可 return语句:return返回函数的返回值并结束函数运行 函数也可以看做数据来进行传递 参数...
大家都知道要想让 JavaScript 对用户的操作作出响应,首先要对 DOM 元素绑定事件处理函数。所谓事件处理函数,就是处理用户操作的函数,不同的操作对应不同的名称。下面这篇文章给大家详细介绍了JavaScript中绑定...
argument-injector是 JavaScript 的函数参数注入器。 它允许任何函数“绑定”到注入器对象,该对象劫持函数调用并在函数执行时注入参数。 用法 首先,您首先需要创建一个Injector的新实例: var Injector = ...