`

javascript bind函数笔记

阅读更多

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Hello Bind!</title>
  </head>
  <body>
    <div id="example"></div>
    <script type="text/javascript">
      this.x = 9;
        var module = {
          x: 81,
          getX: function() { return this.x; }
        };

        module.getX(); // 81

        var retrieveX = module.getX;
        retrieveX(); // 9, because in this case, "this" refers to the global object

                          //这里相当于把getX的函数体赋给了一个全局对象,this自然就变了



        // Create a new function with 'this' bound to module
        //New programmers (like myself) might confuse the global var getX with module's property getX

        //这里创建一个新的函数和retrieveX 一样也就是和getX一样,但是this指向module
        var boundGetX = retrieveX.bind(module);
         boundGetX(); // 81
    </script>
  </body>
</html>

分享到:
评论

相关推荐

    前端JavaScript基础学习笔记案例

    1.知识点包括:基础语法,字符串操作,object对象,DOM对象,BOM对象,offset,client,scroll对象,事件,事件流处理,函数(call,apply,bind函数),作用域,闭包(十种闭包的应用场景),面向对象,正则表达式,...

    JavaScript高级第03天笔记1

    JavaScript 高级笔记 - 函数的定义和调用、this 指向和改变、严格模式 JavaScript 中的函数定义和调用是编程语言的基础。函数可以定义多种方式,包括函数声明、函数表达式和 new Function()。函数的调用方式也多种...

    javascript笔记之匿名函数和闭包.docx

    这样,每个函数内部的`this`都指向全局对象`window`,除非在函数内部有明确的`this`绑定,如`bind`、`call`或`apply`。 在闭包中,`this`的指向取决于调用上下文。在上述的`getUserFunction`示例中,`this`在闭包内...

    《你不知道的JavaScript》脑图笔记

    4. **this绑定**:this的值取决于函数调用方式,可以是默认绑定、隐式绑定、显式绑定(call/apply/bind)或new绑定。 二、函数式编程 5. **高阶函数**:可以接收函数作为参数或者返回函数的函数,如map、reduce、...

    Javascript笔记

    这篇笔记将深入探讨JavaScript的关键知识点,包括`this`的用法、事件对象、`var`的作用域以及一些实用技巧。 首先,`this`是JavaScript中的一个关键字,用于引用函数或对象的上下文。在不同场景下,`this`的值会...

    Javascript高级程序设计---笔记归类.pdf

    通过构造函数创建对象,通过原型链实现继承,使用call()、apply()或bind()方法改变函数的上下文,以及利用new关键字创建实例,都是JavaScript中实现面向对象编程的关键技术。 总之,这份笔记归类详尽地梳理了...

    JavaScript 思维导图

    - EcmaScript 5是JavaScript的一个版本,包含了如`Array.prototype.forEach()`, `Object.create()`, `Function.prototype.bind()`等新特性。 以上内容涵盖了JavaScript的基础知识,这些概念构成了JavaScript编程的...

    JavaScript高阶第二天.xmind

    JavaScript高阶笔记总结: 目前学到的this指向: 1.普通函数的this指向 window 2.构造函数this指向实例化对象 3.事件中的this指向事件源 4.定时器中的this指向window 5.立即执行函数中的this指向window 6.对象...

    Javascript学习笔记之 函数篇(三) : 闭包和引用

    为了解决这个问题,可以使用立即执行的匿名函数来创建每个闭包时的局部变量副本,或者使用`bind`方法绑定`i`的值到`console.log`函数。 闭包不仅仅是技术上的实现,更是一种设计模式,它通过封装变量,使得外部用户...

    前端开发各种常用技术笔记

    Vue.js是一款流行的渐进式JavaScript框架,它的核心特性包括组件化、虚拟DOM、指令系统(v-bind、v-if等)、计算属性、生命周期钩子。Vue Router用于管理应用的路由,Vue Axios则是一个基于Promise的HTTP库,常用于...

    js面向对象笔记

    `Function.prototype.bind` 允许我们创建一个新的函数,其 `this` 值被指定为 `bind()` 的第一个参数,且原函数的参数列表从第二个参数开始。 #### 6. 开发模式 JavaScript 的开发模式主要有两种:函数式和面向...

    JavaScript 学习笔记 Black.Caffeine 09.11.28

    总结来说,这篇学习笔记揭示了在编写JavaScript时如何处理事件绑定和上下文(`this`)的问题,以及如何解决`setInterval`在不同浏览器中的兼容性问题。这些问题在实际开发中非常常见,理解并掌握这些技巧对于编写...

    JavaScript高级程序设计学习笔记(四)

    JavaScript高级程序设计学习笔记(四)主要探讨了JavaScript中的引用类型、Function类型、函数的声明与定义、函数表达式以及一些基本包装类型的相关知识。在JavaScript中,函数不仅仅是代码块,它们也是对象,具备...

    【狂神说】Vue笔记(全部完整).zip

    Vue.js 是一款流行的轻量级前端JavaScript框架,由尤雨溪开发,旨在简化Web应用程序的构建。Vue的核心特性包括数据绑定、组件系统、指令系统、虚拟DOM以及生命周期管理,使得开发者能够更高效地构建可复用、可维护的...

    笔记.zip_JavaScript__JavaScript_

    5. **this关键字**:this的值取决于函数调用的位置和方式,它可以指向全局对象、当前对象、new操作符创建的新对象或通过call、apply、bind方法绑定的对象。 6. **异步编程**:JavaScript的非阻塞特性使得异步编程...

    codewhy老师上课的笔记和课件

    Vue.js,通常简称为Vue,是一款轻量级的前端JavaScript框架,由尤雨溪开发,设计目标是通过简洁的API实现可复用性和可维护性。在这个“codewhy老师上课的笔记和课件”中,我们可以期待学习到关于Vue的基础知识、核心...

Global site tag (gtag.js) - Google Analytics