var that = this 小坑记
在js编码过程中,经常会使用如上的语句来规避拿不到变量的问题。
比如:
queryData:function () {var that=this;var param={};for(var key in this.condition){if(this.condition[key]){param[key]=this.condition[key];}}AJAX.GET("/api/adream/flow/queryRoomsBySystem",param,function (data){if(data.success && data.systemList != null){var queryLen = data.systemList.length;if(queryLen > 0){for (var queryIndex=0; queryIndex<queryLen; queryIndex++){debugger;}}}});
注意标黄的部分,如果用this.roomList,将会发现roomList为空对象,是因为this指向的是AJAX内部的对象,this会随着代码进入的层深来自动改变指向的对象,所以这里在用this.roomList,那确实拿不到外层的对象。
而使用var that = this之后,that中的对象将是this刚进入queryData方法时候的副本,所以会拿到这个对象。
转载于:https://www.cnblogs.com/scy251147/p/10289132.html
var that = this 小坑记相关推荐
- android小程序_小程序踩坑记
小程序踩坑记 希望这个文章能尽量记录下小程序的那些坑,避免开发者们浪费自己的生命来定位到底是自己代码导致的还是啥神秘的字节跳变原因. 前记 小程序大多数坑是同一套代码在不同平台上表现不一致导致的,微信 ...
- 微信小程序踩坑记——ColorUI组件的使用
微信小程序踩坑记--组件的使用 组件类型 ColorUI Vant weapp ColorUI 首先贴上官网链接:官网链接,GitHub链接 简介 ColorUI是一个css库!!!在你引入样式后可以 ...
- 小程序统一服务消息_[miniblog]小程序订阅消息踩坑记
有阵子没有更新我的mini-blog了,这次把推送消息那块做了些改动,小程序的模板消息即将废弃,订阅消息终于来了. 关于订阅消息 订阅消息分为一次性订阅和长期订阅,长期订阅就不说啦,不是个人号可以染指 ...
- Unity AR小游戏(玩具小车)踩坑记
最近对AR产生了兴趣.先科普一下什么是AR吧.AR是Augmented Reality(增强现实)的简称,是基于摄像头对现实世界的实时图像采集.分析和理解,然后在此基础上融入虚拟物体(信息),以达到增 ...
- go nil json.marshal 完是null_字节跳动踩坑记#3:Go服务灵异panic
这个坑比较新鲜,刚填完,还冒着冷气. - 1 - 在字节跳动,我们服务的所有 log 都通过统一的日志库采集到流式日志服务.落地 ES 集群,配上字节云超(sang)级(xin)强(bing)大(ku ...
- Vue + TypeScript + Element 搭建简洁时尚的博客网站及踩坑记
前言 本文讲解如何在 Vue 项目中使用 TypeScript 来搭建并开发项目,并在此过程中踩过的坑 . TypeScript 具有类型系统,且是 JavaScript 的超集,TypeScript ...
- Vue 脱坑记 - 查漏补缺(汇总下群里高频询问的xxx及给出不靠谱的解决方案)
前言 文章内容覆盖范围,芝麻绿豆的破问题都有,不止于vue; 给出的是方案,但不是手把手一字一句的给你说十万个为什么! 有三类人不适合此篇文章: "喜欢站在道德制高点的圣母婊" - ...
- Vue 脱坑记 - 查漏补缺
转载自:https://juejin.im/post/59fa9257f265da43062a1b0e 问题汇总 Q:安装超时(install timeout) 方案有这么些: cnpm : 国内对n ...
- Vue 脱坑记 -——查漏补缺
问题汇总 Q:安装超时(install timeout) 方案有这么些: cnpm : 国内对npm的镜像版本 /* cnpm website: https://npm.taobao.org/ */n ...
- 东八区转为0时区_踩坑记 | Flink 天级别窗口中存在的时区问题
❝ 本系列每篇文章都是从一些实际的 case 出发,分析一些生产环境中经常会遇到的问题,抛砖引玉,以帮助小伙伴们解决一些实际问题.本文介绍 Flink 时间以及时区问题,分析了在天级别的窗口时会遇到的 ...
最新文章
- 受用一生的高效 PyCharm 使用技巧(一)
- office 2007打字慢问题
- FCKeditor在线文本编辑器初级应用
- JavaScript网站设计实践(五)编写photos.html页面,实现点击缩略图显示大图的效果...
- vc文件夹选择对话框
- http referer 验证防御方法_渗透测试 跨站攻击防御与安全检测手法剖析
- 【移植Linux 3.4.2内核第一步】之简单修改
- 立体视觉–stereo correspondence(双目立体匹配)
- git-SSH连接配置
- JSON.parse()和JSON.stringify()的解析与用途
- Ubuntu 12.04 安装PYQT4和Eric4
- mysql 使用存储过程批量插数据
- STM32之UART、RS232、RS485通讯
- 北师大计算机专业保研率,师范类高校保研情况,3所学校保研率超20%,北师大最高达到35%...
- UAC 管理员权限 程序 防止弹窗的四种解决办法
- plot指定线段形状和颜色_形状和颜色背后的心理学
- 西部数码虚拟服务器,西部数码虚拟主机301转向功能介绍
- 视频教程-C#入门经典视频精讲-C#
- java中的finalize
- 岁月的剪影【你是人间四月天】
热门文章
- yy神曲url解析php_用PHP如何实现解析抖音无水印视频
- C++ std::map 和 std::unordered_map 区别 时间复杂度 适用
- 【Django 2021年最新版教程8】操作Mysql数据库 mysqlclient安装和使用
- 【jsp】基础知识总结
- Redis基本命令及相关用法
- go lang go get There is no tracking information for the current branch.Please specify which
- Apache HttpClient 客户端使用详解
- selenium处理动态加载数据
- 王者荣耀游戏服务器架构的演进读后感
- ValueStack中的context与ActionContext的区别