react的事件处理会丢失this,所以需要绑定,为什么会丢失this? 首先来看摘自官方的一句话: You have to be careful about the meaning of this in JSX callbacks. In JavaScript, class methods are not bound by default. 这句话大概意思就是,你要小心jax回调函数里面的this,class方法默认是不会绑定它的 让我十分疑惑,在我的知识范围理解中,class是es6里面新增…
个人总结: 问: 请给我讲一下React中的事件处理为什么要bind this? 答: 好的,比如说我写了一个类组件,有个onClick属性 ,onClick={ this.fun },如果不bind肯定是不行的,下面讲一下为什么要bind this:     首先我们知道React是通过创建虚拟DOM 然后将虚拟DOM生成真实的DOM 最后插入到页面中,     而React生命周期中render方法的作用就是将虚拟DOM渲染成真实DOM      看一下这篇文章 https://github…
<script type="text/javascript"> var Hello = function(){ this.setT = function(){ window.setTimeout(function(){ console.log(this); }.bind(this),1000);//bind将内部this的指向,指向外部this的指向 } } var hello = new Hello(); hello.setT(); // var Hello = func…
一.this指向详解(彻底理解js中this的指向,不必硬背) 首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象(非箭头函数)(这句话有些问题,后面会解释为什么会有问题,虽然网上大部分的文章都是这样说的,虽然在很多情况下那样去理解不会出什么问题,但是实际上那样理解是不准确的,所以在你理解this的时候会有种琢磨不透的感觉),那么接下来我会深入的探讨这个问题. 为什么要学习this?如果你学过面…
用call()和apply()改变this的指向,那什么时候用this呢?(构造函数),那为什么要用构造函数呢?(为了生成对象). 1.解决函数内this指向的问题 (1)var that/_this=this;在函数外提前声明一个变量 (2)通过call()和apply()改变this的指向 2.call()和apply()的区别 用法是一样的,但是参数形式不一样 call()  :   fn.call(obj,a,b) apply()   :   fn.apply(obj,[a,b]) 二者…
要懂得JavaScript中this的用法,首先需要知道,JavaScript中的作用域相关知识. var fun = function(){ var flag = 1; console.log(flag): } var flag = 0; fun(); console.log(flag); 首先看上面这段代码,结果 : 1    0  这个很好理解了,打印的函数内部 flag 的值为 1,全局打印 flag 的值为0. 那么再如果函数内部打印 this.flag 呢? var fun = fu…
call和apply都是解决this指向问题的方法,唯一的区别是apply传入的参数除了其指定的this对象之外的参数是一个数组,数组中的值会作为参数按照顺序传入到this指定的对象中. bind是解决call和apply指定函数对象的问题.bind可以将this指定给一个指定的对象 下面将具体说明: 一.this指定问题 this可以用在构造函数之中,表示实例对象.this还可以用在别的场合.但不管是什么场合,this都有一个共同点:它总是返回一个对象. 上面代码中,this.name表示na…
<body>     <div style="width: 200px;height: 200px;hotpink;"></div>     <script> const fn = function(a,b){             console.log(this.name + this.age + "是个大傻瓜" + a + b )         }         const obj = {         …
一.bind复用 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <title>表单详解</title> </head> <body> <script src="./react-0.13.2/react-0.13.2/build/react-with-addons.js&q…
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>React 实例</title> <script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script> <script src=&quo…