<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>函数this问题</title>
</head>
<body>
<button id="btn">点我</button>
<script>var btn = document.getElementById('btn')const user = {name: 'Jack'}function handleClick(e) {console.log(this)}btn.onclick = handleClick
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>10-带有状态的组件.html</title>
</head>
<body>
<div id="app"></div>
<script src="node_modules/@babel/standalone/babel.js"></script>
<script src="node_modules/react/umd/react.development.js"></script>
<script src="node_modules/react-dom/umd/react-dom.development.js"></script>
<script type="text/babel">class MyComponent extends React.Component {constructor () {// 如果子类加入了 constructor 构造函数,则一定要手动调用父类的构造函数 supersuper()// React 组件需要通过手动为组件类添加 state 成员来初始化:ViewModel// state 等价于 Vue 中的 data// 接下来就可以在该组件管理的模板中通过 {} 来访问绑定数据了this.state = {message: 'Hello, MyComponent!'}}render () {return (<div><h1>{this.state.message}</h1><h1>{this.state.message}</h1><h1>{this.state.message}</h1><h1>{this.state.message}</h1><h1>{this.state.message}</h1><h1>{this.state.message}</h1>{/** 事件绑定函数默认情况下内部的 this 指向 Window* 自动接收一个 event 事件源对象* 1. this 指向了 Window* 2. 只能得到 event 无法传参*/}<button onClick={this.handleClick}>点击改变 message</button>{/** bind 了 this 的函数调用的时候,好会给你传递一个 event 事件源对象* 内部的 this 就是你 bind 的那个参数* 1. 可以指定 this* 2. 支持传参数,参数在前,事件源对象在最后* 推荐这种方式*/}<button onClick={this.handleClick.bind(this, 123, 456)}>点击改变 message</button>{/** 当点击 onClick 的时候,调用绑定了 this 的箭头函数* 箭头函数内部的 this 是组件实例* 所以我可以直接在调用函数中再调用 this.handleClick() 函数*/}<button onClick={(e) => {this.handleClick(e, 123, 456)}}>点击改变 message</button></div>)}// 规范:处理事件方法都取名为 handlexxxhandleClick (num1, num2, e) {console.log(num1, num2, e)// console.log('handle click')// console.log(this) // 默认是 window// React 不是使用的类似于 Vue 中的 Object.defineProperty() 方式 get、set// this.state.message = 'hello world'// 现在只需要知道,如果要修改 state 中的数据并且希望得到视图更新,则一定要使用// this.setState 方法// this.setState({//   message: 'hello world'// })}}const element = <MyComponent />ReactDOM.render(element, document.getElementById('app'))
</script>
</body>
</html>

事件绑定中的this问题相关推荐

  1. 再次强调事件绑定中this的坑

    事件绑定中的 this 指向问题(坑) 第一种绑定方式(不做任何处理): this 指向 Window 默认接收一个参数 event 事件源对象 不支持额外的参数传递 <button onCli ...

  2. pdo 参数绑定中 where 子句中的错误的解决

    pdo 参数绑定中 where 子句中的错误的解决 select * from  admin where 1=1  and admin_name =  '$user_name' 象这句是会出错的,说 ...

  3. Js事件绑定时,函数名加括号和不加括号有什么区别

    Js事件绑定时,函数名加括号和不加括号有什么区别以window.onload为列 大致可以理解为一:不加括号时:=指向函数,触发事件时触发函数.window.οnlοad=aa;aa为一个函数等价于w ...

  4. 事件绑定在IE下this是window的问题

    昨天写一个函数的时候,后来用了事件绑定,开始没在IE下测试,在chrome下都是没问题的.后来在IE下测试发现出错. 后来修改一下,发现oBox.οnclick=function(){}没问题,而ad ...

  5. WPF绑定中的OneWay和TwoWay区别和适用场景

    BindingMode TwoWay 导致对源属性或目标属性的更改可自动更新对方.此绑定类型适用于可编辑窗体或其他完全交互式 UI 方案. OneWay 当绑定源(源)更改时,更新绑定目标(目标)属性 ...

  6. php steam 第三方登录,Steam第三方授权登录异常 《绝地求生》国服绑定中招

    今日,Steam第三方授权登录发生异常,导致所有需要Steam账号绑定登录的网站都出现登录错误.小熊在尝试用Steam账号登陆SteamCN论坛时,也出现了登录错误的提示. 而目前,许多中招的网站都在 ...

  7. $.ligerdialog.open中确定按钮加事件_彻底搞懂JavaScript中的this指向问题

    JavaScript中的this是让很多开发者头疼的地方,而this关键字又是一个非常重要的语法点.毫不夸张地说,不理解它的含义,大部分开发任务都无法完成. 想要理解this,你可以先记住以下两点: ...

  8. jQuery 双击事件(dblclick)时,不触发单击事件(click)

    在jQuery的事件绑定中,执行双击事件(dblclick)时能触发两次单击事件(click).即一个标签元素(如div等),如果元素同时绑定了单击事件(click)和双击事件(dblclick),那 ...

  9. 事件(DOM事件绑定)

    事件的定义  事件:元素天生具备的行为方式(和写不写JS代码没有关系)[onclick不是事件,click才是事件,浏览器会把一些常用事件挂载到元素对象的私有属性上,让我们可以实现DOM0事件绑定], ...

最新文章

  1. plotly基于dataframe数据绘制股票自定义K线图
  2. SDWebImage开源库阅读分析(全)
  3. flask + celery
  4. python主线程执行_python 并发执行之多线程
  5. 用ANSYS画矩形_钢轨打磨用复合砂轮磨削温度场的研究
  6. Yahoo Mail,慢功出细活〔转载〕
  7. idea本地跑如何看gc日志_线上故障如何快速排查?来看这套技巧大全
  8. linux下安装nginx1.10,Linux(RHEL7.0)下安装nginx-1.10.2(示例代码)
  9. linux 如何产生so文件,printf()函数 【转】Linux下gcc编译生成动态链接库*.so文件并调用它(2)...
  10. springboot对于redis的增删改查
  11. 用Typescript 开发 node.js (方法2)
  12. 通过释放cache内存解决ubuntu死机问题
  13. python简明教程_05
  14. 使用Lockdir软件加密解密文件夹
  15. 三星固态性能测试软件,三星850 EVO 120G固态硬盘评测——性能测试与保养
  16. poj-1069(三角形和六边形)(转)
  17. alot英文怎么读_漂亮的英文是什么英语怎么说
  18. 【网络】华为网络设备认证登录设置
  19. Chrome浏览器默认打开无痕模式
  20. java实现象棋ai_中国象棋AI实现?

热门文章

  1. LeetCode77:Combinations
  2. FreeMarker模板文件的组成(2)
  3. Hive中排序和聚集
  4. dedecms 制作模板中使用的全局标记介绍
  5. Android联系人Contacts详解
  6. 个人Wordpress站点设置Windows Live writer
  7. [转载]内容首页设计经验
  8. asp.net用标签递归一颗树
  9. 【Hibernate】hibernate实体关系映射——单边的多对多关系
  10. 基于canvas的图片压缩函数实现