js 开发进阶之 开发中容易遇到的问题
来源:互联网 发布:念诗 知乎 编辑:程序博客网 时间:2024/05/22 03:23
在开发android 的开发习惯,转向js 开发的时候,回遇到些代码习惯的问题,今天就遇到了一个问题
需求场景 是当我门找到满足条件的信息 我门返回 true 没找到 返回 fasle ,对于一个写android 的人来说 通常会这么写:
showGroupCommentList(responseBody) { responseBody.GroupList.map((data) => { if (data.GroupType === 1 && data.CommentDetailList.length > 0) { return true; } }); return false; }
但是在debug 过程中 发现 这个方法返回的值undefined
从java 的角度 我百思不得其解,不就是返回 对 boolean 值吗,为什么会出现问题,先说解决办法,代码应该这么写:
showGroupCommentList(responseBody) { let hasGroupComment = false; responseBody.GroupList.map((data) => { if (data.GroupType === 1 && data.CommentDetailList.length > 0) { hasGroupComment = true; } }); return hasGroupComment; }
设置变量,在处理中赋值,为了弄明白这个问题,查了下js 语法,
responseBody.GroupList.map((data) => { }
这里的map 的方法体中,其实是回调,所以我一开始在回调中返回true or false 写法是有问题的,.
•map:和forEach非常相似,都是用来遍历数组中的每一项值的,用来遍历数组中的每一项;
•区别:map的回调函数中支持return返回值;return的是啥,相当于把数组中的这一项变为啥(并不影响原来的数组,只是相当于把原数组克隆一份,把克隆的这一份的数组中的对应项改变了);
2 在写js 的程序的时候,会犯些低级错误,
比如一下代码
getTheSameKindPeople(list) { if (!list) { return; } for (let i = 0; i < list.length; i++) { if (list[i].ItemType === 1) { this.displayCommentOrderType = list[i].ItemValue; } if (list[i].ItemType === 3) { this.sameKindPeopleTitle = list[i].ItemValue; } if (list[i].ItemType === 4) { this.sameKindPeopleUrl = list[i].ItemValue; } }
这段代码是典型的java 思想 写的代码,那么如果想当然的去写 会写成
if(list.get(i).ItemType === 1){ this.displayCommentOrderType = list.get[i].ItemValue;}
这样写会使程序获取的值undinefed ,避免犯这些低级错误
4 在我门开发js 的过程中 我门会像java 中的for 循环中,当满足条件 直接 break 出来,其实这种写法看似简单 但是对于初接触 js 的人来说容易犯错
上面体到 不能用 forEach 或者 forMap
for (const data of htlBaseInfo.RoomList) { if (data.RoomId === roomId || data.RoomName === roomName) { status = 1; break; } }
for of 的形式 或者 比较常规 简单的写法
for (const data of htlBaseInfo.RoomList) { if (data.RoomId === roomId || data.RoomName === roomName) { status = 1; break; } }
阅读全文
0 0
- js 开发进阶之 开发中容易遇到的问题
- 在移动端开发中,容易遇到的问题集合。
- VS2008开发环境中容易遇到的3个问题之解决办法
- VS2008开发环境中容易遇到的3个问题之解决办法
- Js开发中遇到过的问题
- Js开发中遇到过的问题
- js 开发遇到的问题
- 开发中容易出现的问题
- android开发环境搭建中容易遇到的问题和疑惑
- NPAPI插件开发新手容易遇到的问题
- EXT JS 开发中遇到的问题集
- node.js开发中遇到的问题(不定期更新)
- js开发过程中遇到的一些问题
- 《Node.js开发指南》实例中遇到的问题
- 开发中遇到的问题
- 开发中遇到的问题
- 开发中遇到的问题
- 开发中遇到的问题
- js中将字符串转换成数字
- Git管理远程仓库
- 从PGM到HMM再到CRF(self_note)
- 01,环境安装
- mongo db
- js 开发进阶之 开发中容易遇到的问题
- Selenium(2): DOM元素定位、操作
- ORACLE数据库表及数据恢复
- Android Binder机制中的异步回调
- Covariance Matrices and Data Distributions
- Spring MVC使用fastjson做消息转换器,与默认Jackson的区别
- js写很菜的轮播图
- react-native调用Android原生模块
- asp.net页面传值方法汇总