<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函数绑定到onload事件上。 首先,最常见的方法是直接将一个函数赋值给window.onload属性,如下所示: ```javascript window.onload = ...
### JavaScript函数绑定用法实例分析知识点 #### 1. JavaScript函数绑定的基本概念 在JavaScript中,函数绑定是指把一个函数绑定到某个特定的上下文中执行。当函数作为对象的方法被调用时,函数内的this关键字通常...
在VB.NET中,你可以这样将JavaScript函数绑定到ASP.NET按钮的`onClick`事件: ```vbnet butSubmit.Attributes.Add("onClick", "return confirmSubmit();") ``` 这里的`Attributes.Add`方法用于向按钮控件添加一个...
以下是关于JavaScript函数的详细讲解: 1. **函数定义**: - 无参函数定义:`function 函数名 () { 代码... }` - 有参函数定义:`function 函数名 (参数列表) { 代码... }` - 参数列表中的参数可以是变量、常量...
JavaScript函数式编程是一种编程范式,它强调使用函数来组织代码,将计算视为一系列惰性求值的操作。Underscore.js是一个轻量级的JavaScript实用库,它为开发者提供了大量函数式编程工具,使得在JavaScript中实践...
15. **函数绑定(Bind)**:`Function.prototype.bind`方法可以创建一个新的函数,新函数的`this`值被绑定到指定的对象,不论如何调用该函数。 以上只是JavaScript函数相关的部分知识点,实际上JavaScript的函数...
最后,别忘了将这些JavaScript函数绑定到HTML元素上,这样当用户与页面交互时,对应的函数就会被调用。这通常在文档加载完成后完成,例如: ```javascript window.onload = function() { // 绑定函数到按钮 // .....
- 通过`onclick`属性,将JavaScript函数绑定到HTML元素上。 - 当用户点击“[全选/全不选]”按钮时,会调用`xuanxiang`函数,实现全选或全不选的功能。 - 当用户点击“反选”按钮时,会调用`fangxuan`函数,实现反选...
ES6(ECMAScript 2015)引入了许多现代JavaScript语言的新特性,其中包括了对于函数绑定的简化以及在类中的事件绑定方法的改进。函数绑定是一种把函数中的this值固定为特定对象的技术,它减少了在JavaScript中由于...
11. **函数绑定** `Function.prototype.bind`方法可以创建一个新的函数,新函数的`this`值被绑定到指定的对象。 以上只是JavaScript函数特性的一部分,JavaScript函数还有更多高级特性和用途,如函数组合、柯里化...
JavaScript 绑定大事监听函数的通用方法 本文主要介绍了 JavaScript 绑定大事监听函数的通用方法,讨论了几种常用的绑定方法,并且分析了这些方法的优缺。首先介绍了三种常用的绑定方法:传统绑定、W3C 绑定方法和 ...
函数声明会在当前作用域中创建一个全局变量,并将该变量绑定到函数对象上。 **示例:** ```javascript function myTest() { window.alert("hello"); } ``` 在这个例子中,`myTest`是一个通过函数声明定义的函数...
JavaScript中的`this`绑定规则是理解JavaScript面向对象编程的关键概念之一。`this`关键字在不同情况下会有不同的指向,主要取决于函数的调用方式。这里我们将深入探讨四种主要的`this`绑定规则:默认绑定、隐式绑定...
本文将详细探讨JavaScript函数的特性与应用实践。 首先,JavaScript函数是一种对象,这使得它们拥有对象的所有属性和方法。函数对象连接到Function.prototype,而这个对象本身又连接到Object.prototype。在创建函数...
JavaScript中的事件绑定是前端开发中一个核心的概念,它涉及让网页元素在特定的操作或触发条件下执行相应的代码。本文将详细介绍事件绑定的方式,包括传统事件绑定和现代事件绑定,以及在事件绑定过程中可能遇到的...
本文将详细讲解如何在C#中封装常用的JavaScript函数,并探讨这些函数在实际开发中的应用。 一、JavaScript函数封装的意义 在ASP.NET项目中,为了提高代码复用性,降低维护成本,我们常常会将一些常用的功能封装成...