`

javascript 函数绑定

 
阅读更多
<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函数绑定

    在JavaScript与DOM交互中经常需要使用函数绑定,定义一个函数然后将其绑定到特定DOM元素或集合的某个事件触发程序上,绑定函数经常和回调函数及事件处理程序一起使用,以便把函数作为变量传递的同时保留代码执行环境

    把多个JavaScript函数绑定到onload事件处理函数上的方法

    本文将详细介绍几种方法来解决这个问题,以及如何优雅地将多个JavaScript函数绑定到onload事件上。 首先,最常见的方法是直接将一个函数赋值给window.onload属性,如下所示: ```javascript window.onload = ...

    JavaScript函数绑定用法实例分析

    ### JavaScript函数绑定用法实例分析知识点 #### 1. JavaScript函数绑定的基本概念 在JavaScript中,函数绑定是指把一个函数绑定到某个特定的上下文中执行。当函数作为对象的方法被调用时,函数内的this关键字通常...

    将JavaScript事件绑定到ASP.NET对象

    在VB.NET中,你可以这样将JavaScript函数绑定到ASP.NET按钮的`onClick`事件: ```vbnet butSubmit.Attributes.Add("onClick", "return confirmSubmit();") ``` 这里的`Attributes.Add`方法用于向按钮控件添加一个...

    javascript 函数教程(由浅入深)

    以下是关于JavaScript函数的详细讲解: 1. **函数定义**: - 无参函数定义:`function 函数名 () { 代码... }` - 有参函数定义:`function 函数名 (参数列表) { 代码... }` - 参数列表中的参数可以是变量、常量...

    javascript函数式编程 underscore.js

    JavaScript函数式编程是一种编程范式,它强调使用函数来组织代码,将计算视为一系列惰性求值的操作。Underscore.js是一个轻量级的JavaScript实用库,它为开发者提供了大量函数式编程工具,使得在JavaScript中实践...

    javascript函数大全

    15. **函数绑定(Bind)**:`Function.prototype.bind`方法可以创建一个新的函数,新函数的`this`值被绑定到指定的对象,不论如何调用该函数。 以上只是JavaScript函数相关的部分知识点,实际上JavaScript的函数...

    JavaScript-简单计算器

    最后,别忘了将这些JavaScript函数绑定到HTML元素上,这样当用户与页面交互时,对应的函数就会被调用。这通常在文档加载完成后完成,例如: ```javascript window.onload = function() { // 绑定函数到按钮 // .....

    javascript脚本代码

    - 通过`onclick`属性,将JavaScript函数绑定到HTML元素上。 - 当用户点击“[全选/全不选]”按钮时,会调用`xuanxiang`函数,实现全选或全不选的功能。 - 当用户点击“反选”按钮时,会调用`fangxuan`函数,实现反选...

    ES6中javascript实现函数绑定及类的事件绑定功能详解

    ES6(ECMAScript 2015)引入了许多现代JavaScript语言的新特性,其中包括了对于函数绑定的简化以及在类中的事件绑定方法的改进。函数绑定是一种把函数中的this值固定为特定对象的技术,它减少了在JavaScript中由于...

    javascript函数详解!

    11. **函数绑定** `Function.prototype.bind`方法可以创建一个新的函数,新函数的`this`值被绑定到指定的对象。 以上只是JavaScript函数特性的一部分,JavaScript函数还有更多高级特性和用途,如函数组合、柯里化...

    JavaScript绑定大事监听函数的通用方法_.docx

    JavaScript 绑定大事监听函数的通用方法 本文主要介绍了 JavaScript 绑定大事监听函数的通用方法,讨论了几种常用的绑定方法,并且分析了这些方法的优缺。首先介绍了三种常用的绑定方法:传统绑定、W3C 绑定方法和 ...

    javascript强制函数自动执行.pdf

    函数声明会在当前作用域中创建一个全局变量,并将该变量绑定到函数对象上。 **示例:** ```javascript function myTest() { window.alert("hello"); } ``` 在这个例子中,`myTest`是一个通过函数声明定义的函数...

    JavaScript高级-this绑定规则+箭头函数

    JavaScript中的`this`绑定规则是理解JavaScript面向对象编程的关键概念之一。`this`关键字在不同情况下会有不同的指向,主要取决于函数的调用方式。这里我们将深入探讨四种主要的`this`绑定规则:默认绑定、隐式绑定...

    JavaScript函数的特性与应用实践深入详解

    本文将详细探讨JavaScript函数的特性与应用实践。 首先,JavaScript函数是一种对象,这使得它们拥有对象的所有属性和方法。函数对象连接到Function.prototype,而这个对象本身又连接到Object.prototype。在创建函数...

    JavaScript 事件绑定及深入

    JavaScript中的事件绑定是前端开发中一个核心的概念,它涉及让网页元素在特定的操作或触发条件下执行相应的代码。本文将详细介绍事件绑定的方式,包括传统事件绑定和现代事件绑定,以及在事件绑定过程中可能遇到的...

    asp.net开发常用javascript函数封装(c#)

    本文将详细讲解如何在C#中封装常用的JavaScript函数,并探讨这些函数在实际开发中的应用。 一、JavaScript函数封装的意义 在ASP.NET项目中,为了提高代码复用性,降低维护成本,我们常常会将一些常用的功能封装成...

Global site tag (gtag.js) - Google Analytics