问题描述

var a = {one: 1,haha() {console.log(this.one)}
}
setTimeout(a.haha, 1000)

在上例中,函数haha引用了this.one,而定时器结束之后调用的haha传入的this并不是a,输出结果this.one是未定义变量。

方法一:使用箭头函数的方式设置回调

var a = {one: 1,haha() {console.log(this.one)}
}
setTimeout(() => {a.haha()
}, 1000)

方法二:手动指定this

var a = {one: 1,haha() {console.log(this.one)}
}function go(func) {func.bind(a).call()
}go(a.haha)

转载于:https://www.cnblogs.com/weiyinfu/p/10258290.html

JavaScript绑定this相关推荐

  1. Javascript 绑定事件和 this理解

    为什么80%的码农都做不了架构师?>>>    常见绑定事件和几个常见的 this 方式1 :this 代表 object window <div style="wi ...

  2. JavaScript绑定事件的方法[3种]

    要想让 JavaScript 对用户的操作作出响应,首先要对 DOM 元素绑定事件处理函数.所谓事件处理函数,就是处理用户操作的函数,不同的操作对应不同的名称. 在JavaScript中,有三种常用的 ...

  3. JavaScript绑定键盘事件的多种写法

    使用JavaScript来绑定键盘事件时,有多种写法,而他们的实现效果实际上是等价的,下面一一来列举. 方式一: function keyboard() {document.onkeydown = f ...

  4. Emscripten教程之C++和JavaScript绑定(三)

    翻译:云荒杯倾 Embind用于绑定C++函数和类到JavaScript,这样编译代码就能在js中以一种很自然的方式来使用.Embind也支持从C++调JavaScript的class. Embind ...

  5. jquey javascript 绑定点击事件(click事件无反应,因js获取不到当前的点击项)

    问题: 如果DOM元素是动态生成的,在这种情况下为该元素绑定click时间,发现点击事件无效,设置debugger,console.log也没用 解决: juery:为目标元素的父元素,或者是整个文档 ...

  6. 不断的困惑:为什么我仍然使用JavaScript函数语句

    Back in the late 90's - when I learned JavaScript - we were taught to write the "Hello World&qu ...

  7. 【译】理解 JavaScript 中函数调用和 this

    原文 Understanding JavaScript Function Invocation and "this" github 的地址 欢迎 star! 前言 过去几年,我经常 ...

  8. 解耦HTML、CSS和JavaScript

    当前在互联网上,任何一个稍微复杂的网站或者应用程序都会包含许多HTML.CSS和JavaScript.随着互联网运用的发展以及我们对它的依赖性日益增加,设定一个关于组织和维护你的前端代码的计划是绝对需 ...

  9. 20个优秀的JavaScript 键盘事件处理库

    键盘事件是 Web 开发中最常用的事件之一,通过对键盘事件的捕获和处理可以提高网站的易用性和交互体验.下面,我们向大家介绍收集的20款优秀的 JavaScript 键盘事件处理库,帮助开发人员轻松处理 ...

最新文章

  1. jQuery绑定事件的三种常见方式(bind、one、【change、click、keydown、hover】)
  2. AJAX面试题:一个页面实现增删改查(ASP.NET实现)
  3. DevExpress.XtraBars.Ribbon控件使用系列 (1)创建Ribbon窗体
  4. C#码农的大数据之路 - 使用C#编写MR作业
  5. mongodb分布式集群搭建手记
  6. mysql 存储过程 排序_mysql存储过程排序
  7. windows 下安装Python
  8. 高等学校计算机房使用章程,普通高等学校设置暂行条例.DOC
  9. [项目过程中所遇到的各种问题记录]编辑器篇——使用FCKeditor生成静态分页HTML...
  10. 希尔伯特变换及其性质
  11. cad图层置顶的lisp_CAD图层遮挡,如何将CAD图形进行前置或者后置?
  12. 父母为双方结婚购置房屋出资,房屋归属
  13. WPS参考文献自动生成方法
  14. 业务流程再造和IT服务能力
  15. iphone 11显示连接服务器出现错误,iPhone11投屏方法有哪些?iPhone投屏失败的原因及解决方法...
  16. AndroidStudio安装配置教程(参考)
  17. 从0到1,反距离加权IDW(Inverse Distance Weighted Interpolation) 插值变形算法
  18. python 图片合成视频
  19. 【图神经网络】图数据和图数据相关任务
  20. prev_permutation 函数

热门文章

  1. Sasha and a Very Easy Test CodeForces - 1109E (数学,线段树)
  2. Khan_Computer Science_Algorithms
  3. ABySS非root权限安装
  4. QT int QString char转换
  5. redmine 和 gitolite 的整合
  6. 一个程序员的创业失败教训【转自CSDN】
  7. 【网络安全工程师面试合集】——什么是IP安全 IPsec
  8. alwayson故障转移群集服务器 修改虚拟主机名及IP地址
  9. LNMP环境搭建 centos7 nginx1.12 mysql5.6 php7
  10. Oracle数据库忘记用户名和密码怎么办