位置: IT常识 - 正文

缺陷修改实践——replace函数的运用|思考?(缺陷修饰)

编辑:rootadmin
缺陷修改实践——replace函数的运用|思考? 目录介绍问题出现问题分析解决方法优化实现总结介绍

推荐整理分享缺陷修改实践——replace函数的运用|思考?(缺陷修饰),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:缺陷和变更管理系统,缺陷修改后一定会对软件带来有益的影响吗,缺陷修饰,缺陷修饰,缺陷管理与改错计划,缺陷改进指的是,改变缺陷,缺陷修改后一定会对软件带来有益的影响吗,内容如对您有帮助,希望把文章链接给更多的朋友!

大家好,我是清风。今天给大家分享一个项目中遇到问题解决问题的案例,编程其实就是一个思考的过程,缺少思考就没有灵魂,遇到问题先静下心去思考,想到方法后再去实践。我们要学会灵活变通去解决问题,掌握方法,这样才能举一反三,临危不乱,遇到所有问题都能很好地去解决。

事情是这样的,做的一个答题小程序,要求在后台编辑题目,编辑题目是用的textarea文本域,即输入的是文本内容,配置之后小程序里查询显示后台配置的题目列表。

当然在测试时后台去配置文本内容,小程序显示是没有问题的。因为配置的题目是纯文本,小程序里也是直接在text里显示的,没有问题。

后台配置题目

小程序显示题目

问题出现

问题往往只有在用的时候才会发现,用户或管理员的各种操作才能显现出各种问题。现在小程序里已经不能正常显示了,有些显示的是html格式富文本格式,有些不显示。显然和需求大相径庭,已经出现问题了。

问题分析

如上图,在用的时候因为是从word文档里直接复制过去的题目(事先在word里整理好了题目,由于各部门工作对接,先是在word文档进行审核),直接复制会把富文本内容也携带过去,携带过去的当然也有style样式,小程序里不显示的原因是富文本的字体颜色是黑色字体,和小程序面背景都是黑色,导致看不到文字。打开控制台调试,问题确实是这么出现的。

缺陷修改实践——replace函数的运用|思考?(缺陷修饰)

word文档编辑的题目会出现不同的富文本的样式格式,这都会导致小程序的不正常显示。

富文本的文字颜色是黑色,这导致的小程序页里题目的不显示。

解决方法

既然后台有可能出现富文本,我们直接把小程序题目的渲染方式换成富文本渲染,这样就算是纯文本也可以显示的。而第二个问题,由于小程序页面背景颜色是黑色,所以题目的字体颜色不能是黑色,我们做一个查找替换,把style样式里的字体样式替换掉就可以了。

优化

样式可能是各种各样的,通过查找style样式里的字体样式考虑的匹配太多了,比如说color属性值可以是rgb形式,也可是rgba形式,也可能是#号颜色值形式,还有可能是英文形式颜色,所以不可取。我们换一种思路,直接把style属性替换掉,即查找到style,换成一个无效的属性名。案例中我们替换成了c,c是一个无效的属性,不会触发节点的查找和计算。

replace函数

我们用到replace函数,replace()方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

参数

regexp/substr,必需。规定子字符串或要替换的模式的 RegExp 对象。replacement,必需。一个字符串值。规定了替换文本或生成替换文本的函数。

请注意,regexp/substr 是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp对象,返回值是一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。

实现

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

that.setData({ _list: res.data }) let data = that.data._list data.forEach((element, index) => { var stemContent = '_list[' + index + '].stemContent' that.setData({ [stemContent]: element.stemContent.replace(/style/g, 'c') }) element.choiceTopicVos.forEach((item, i) => { var listCheck = '_list[' + index + '].choiceTopicVos[' + i + '].optionDes'; that.setData({ [listCheck]: item.optionDes.replace(/style/g, 'c') }) }) })

用到的replace函数,进行了字符串的查找替换,查找到style属性,把它替换到了无效的属性c,没有了样式属性,从而达到了去除内联样式的效果,经过调试,完美解决问题。

总结

这是一个小问题,我为什么要拿出来说呢?抛去开发的测试流程不说,我认为它能引发一些思考。写代码的过程必须是一个思考的过程,怎么样更好地去实现效果,怎么样更简单有效地解决问题,怎么样优化,要去考虑一个大的方面。善于发现问题,解决问题,并不是说用了什么高级语言就鄙弃了思考,机器语言是相通的,开发中各种各样地应用才是魅力所在。编程是一门是艺术,最重要的是你怎样去巧妙地运用,就像解一道数学题,精绝巧妙的解法会让人眼前一亮,增色太多。同样都做出来了,但是你做的就显得十分优雅!

方法都是思考出来的,能高效解决问题的方法就是好方法,大家如果还有更好的解决方法欢迎评论区留言

本文链接地址:https://www.jiuchutong.com/zhishi/300722.html 转载请保留说明!

上一篇:手把手带你调参Yolo v5(一)(调参数是什么意思)

下一篇:Nginx跨域解决方案(nginx跨域配置详解)

  • 空调定时怎么取消(空调定时怎么取消海尔)

    空调定时怎么取消(空调定时怎么取消海尔)

  • 微信公众号星标什么用(微信公众号星标有什么用)

    微信公众号星标什么用(微信公众号星标有什么用)

  • 微信换了新手机登老显示被盗(微信换了新手机群聊没了)

    微信换了新手机登老显示被盗(微信换了新手机群聊没了)

  • vivo只能进fastboot不能开机(vivo只能进fastboot不能进双清)

    vivo只能进fastboot不能开机(vivo只能进fastboot不能进双清)

  • 相机500d是什么意思(相机550d是什么意思)

    相机500d是什么意思(相机550d是什么意思)

  • 韩版三星note10支持国内5G吗(韩版三星note10支持esim吗)

    韩版三星note10支持国内5G吗(韩版三星note10支持esim吗)

  • 微型计算机中微处理器芯片上集成的是什么(微型计算机中微处理器的主要功能是进行什么)

    微型计算机中微处理器芯片上集成的是什么(微型计算机中微处理器的主要功能是进行什么)

  • iPhone8什么时候停产的(苹果8什么时候)

    iPhone8什么时候停产的(苹果8什么时候)

  • 微pe装win10重启进不去系统(微pe重做系统)

    微pe装win10重启进不去系统(微pe重做系统)

  • 电脑文件发不出去怎么回事(电脑文件发不出去怎么回事微信)

    电脑文件发不出去怎么回事(电脑文件发不出去怎么回事微信)

  • 多媒体个人计算机是指(多媒体个人计算机系统包括)

    多媒体个人计算机是指(多媒体个人计算机系统包括)

  • 手机网页播放视频慢(手机网页播放视频没有声音)

    手机网页播放视频慢(手机网页播放视频没有声音)

  • word中end键的作用(end键的功能)

    word中end键的作用(end键的功能)

  • 微信注销以后好友会知道吗(微信注销以后好友发信息是什么提示)

    微信注销以后好友会知道吗(微信注销以后好友发信息是什么提示)

  • 小米9最大支持多少瓦(小米最大支持多少w快充)

    小米9最大支持多少瓦(小米最大支持多少w快充)

  • 小米cc9pro怎么设置抬起亮屏(小米cc9pro怎么设置微信密码)

    小米cc9pro怎么设置抬起亮屏(小米cc9pro怎么设置微信密码)

  • oppo超薄手机是哪一款(oppo的超薄手机)

    oppo超薄手机是哪一款(oppo的超薄手机)

  • 华为7plus单独换外屏(华为7p换电池)

    华为7plus单独换外屏(华为7p换电池)

  • 荣耀20带无线充电吗(荣耀20无线充电吗)

    荣耀20带无线充电吗(荣耀20无线充电吗)

  • 微信商家版和个人区别(微信商家版和个人区别手续费)

    微信商家版和个人区别(微信商家版和个人区别手续费)

  • 电脑经常重新启动原因(电脑经常重新启动是什么原因)

    电脑经常重新启动原因(电脑经常重新启动是什么原因)

  • crypserv.exe是什么进程?crypserv.exe是病毒吗?(cryptfunction.exe)

    crypserv.exe是什么进程?crypserv.exe是病毒吗?(cryptfunction.exe)

  • v-model的双向数据绑定实现原理(附:案例和项目实例)(v-model的双向绑定原理)

    v-model的双向数据绑定实现原理(附:案例和项目实例)(v-model的双向绑定原理)

  • sdiff命令  以并排方式合并文件之间的差异

    sdiff命令 以并排方式合并文件之间的差异

  • 事业单位长期股权投资持有期间被投资单位
  • 合资公司注册成立流程
  • 企业购买的财产险可以在企业所得税前扣除
  • 银行承兑汇票贴现率多少
  • 个税登记app
  • 收到总工会转工资怎么办
  • 企业招待客户的费用
  • 预收账款确认收入摘要怎么写
  • 单位车转到个人名下要什么材料
  • 不能抵扣的进项发票怎么做分录
  • 基本户开户费多少钱
  • 企业挂靠税收市收取的标准是什么
  • 出口企业应交税费是负数怎么解释
  • 公司认缴增资需要什么流程呢
  • 研发的样机属于固定资产吗
  • 劳务报酬交的税汇算清缴能退
  • 汽车运输增值税专用发票多少税点
  • 计提个税会计科目怎么做
  • 出口货物退免税凭证资料应当保存几年
  • 花卉租赁属于哪个税目
  • 虚拟股份分红
  • 盘活存量国有资产与轻资产运营
  • php 7z
  • 老板的工资属于
  • PHP:Memcached::flush()的用法_Memcached类
  • 骑自行车的好处功效与作用
  • 国内保理业务是担保类中间业务吗
  • 结转本月收入类账户到本年利润
  • 废品损失的核算方式主要有
  • php-fig
  • 日出的时候是圣诞节
  • 外贸企业申报出口退税的期限
  • 个人将房产过户到一人有限公司交什么税
  • 46 个非常有用的成语
  • 什么是收付实现制?什么是权责发生制?
  • 在Windowsserver2019环境下,配置IP地址使用
  • 会计购入材料入什么科目
  • 公司处理固定资产车辆怎么开发票
  • 编程主要学什么东西
  • javascript手机上
  • crontab命令用法
  • php读取文件内容
  • php wechat
  • php无限分类实现不实用递归
  • 账载折旧金额填哪个数
  • 补缴以前年度公积金账务处理
  • 研发费用资本化计入什么科目
  • 关联方利息支出税前扣除规定
  • 财企[2002]313号
  • 个人所得税租房专项扣除标准
  • 投资管理公司成立的请示范文
  • 履约保证金打到个人账户合法吗
  • 专票必须公对公打款吗
  • 固定资产是怎么管理的
  • 工程物资属于什么项目
  • 增值税税率调整后,合同价应该调整吗
  • 购买原材料产生的运费计入什么科目
  • 一般纳税人采购分录
  • 收取加盟费的账户是什么
  • 管理费用和财务费用属于什么科目
  • 发票抬头是个人税号怎么填
  • 公司年初计划都有哪些
  • sqlserver1053怎么解决
  • linux怎么安装c语言编程软件
  • ubuntu怎么安装程序
  • mmap实现原理
  • python rgb转cmyk
  • python语言怎么用
  • unity3d手机怎么打开
  • js获取鼠标坐标到浏览器底部
  • 技术总结结束语
  • jquery滚动条滚动到指定位置
  • js读取文件大小
  • js获取鼠标点击位置
  • 江苏国税增值税退税怎么操作
  • 电子税务局怎么添加银行账户信息
  • 工商注册和税务登记费用
  • 绵阳市十大纳税企业排名
  • 房产增值税和土地增值税的区别案例
  • 房产折旧怎么算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设