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里面新增
this 在面试中,js指向也常常被问到,在开发过程中也是一个需要注意的问题,严格模式下的this指向undefined,这里就不讨论. 普通函数 记住一句话哪个对象调用函数,该函数的this就指向该对象.总指向它的调用者. obj.getName() 无疑会打印出'黄杰',b()可以写成window.b(),调用的对象为window,因此访问的name为全局的变量. var name = '车神' var obj = { name: '黄杰', getName: function(){ con
在react中绑定事件处理函数的this指向一共有三种方法,本次主要总结这三种方式. 项目创建 关于项目的创建方法,在之前的文章中有记录,这里不再赘述,项目创建成功后,按照之前的目录结构对生成的项目进行调整,新建一个Home.js组件,并在App.js中引入该组件. Home.js import React from 'react'; class Home extends React.Component{ constructor(props){ super(props); this.state=
函数在执行时,会在函数体内部自动生成一个this指针.谁直接调用产生这个this指针的函数,this就指向谁. 怎么理解指向呢,我认为指向就是等于.例如直接在js中输入下面的等式: console.log(this===window);//true 情况不同,this指向的对象也不同.例如: 1. 函数声明的情况 var bj=10; function add(){ var bj=20; console.log(this);//window console.log( console.log(b
一.函数的定义方式 1.函数声明方式 function 关键字(命名函数) 2.函数表达式(匿名函数) 3.new Function( ) var fn = new Function(‘参数1’,‘参数2’.....,‘函数体’) Function 里面参数都必须是字符串格式 第三种方式执行效率低,也不方便书写,很少使用 所有函数都是 Function 的实例(对象) 函数也属于对象 二. 函数的调用方式 // 1. 普通函数 this 指向 window(函数调用者) function