位置: 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跨域配置详解)

  • win11和win10有什么不一样(win11和win10有什么区别)

    win11和win10有什么不一样(win11和win10有什么区别)

  • oppo手机拦截骚扰电话怎么设置(oppo手机拦截骚扰电话怎么取消)

    oppo手机拦截骚扰电话怎么设置(oppo手机拦截骚扰电话怎么取消)

  • 怎样把小世界切换成qq看点(小世界怎么移除)

    怎样把小世界切换成qq看点(小世界怎么移除)

  • word封面下划线怎么设置一样长(word封面下划线上写字)

    word封面下划线怎么设置一样长(word封面下划线上写字)

  • 电脑复制粘贴快捷键ctrl加什么(电脑复制粘贴快捷键怎样操作)

    电脑复制粘贴快捷键ctrl加什么(电脑复制粘贴快捷键怎样操作)

  • qq特别关心提示音怎么设置(qq特别关心提示音怎么改)

    qq特别关心提示音怎么设置(qq特别关心提示音怎么改)

  • qq怎么设置忙碌(qq怎么设置忙碌自己回复消息)

    qq怎么设置忙碌(qq怎么设置忙碌自己回复消息)

  • qq一天能加多少群(qq一天能加多少好友会被冻结)

    qq一天能加多少群(qq一天能加多少好友会被冻结)

  • mate30卡槽在哪(华为mate30卡槽在哪求图)

    mate30卡槽在哪(华为mate30卡槽在哪求图)

  • 丝瓜视频怎么下载不了(丝瓜视频,怎么下载呀?)

    丝瓜视频怎么下载不了(丝瓜视频,怎么下载呀?)

  • 手机扫码慢是什么原因(手机扫码速度快慢由什么决定)

    手机扫码慢是什么原因(手机扫码速度快慢由什么决定)

  • 如何批量设置朋友圈权限(如何批量设置朋友标签)

    如何批量设置朋友圈权限(如何批量设置朋友标签)

  • 小米9永恒模式是啥啊(小米永恒模式开启后会怎么样)

    小米9永恒模式是啥啊(小米永恒模式开启后会怎么样)

  • a2099和a2100区别(a2197和a2200区别)

    a2099和a2100区别(a2197和a2200区别)

  • 手机火车票怎么改签(手机火车票怎么退票退款成功)

    手机火车票怎么改签(手机火车票怎么退票退款成功)

  • iphonexs多重多少克(苹果xs多少重量)

    iphonexs多重多少克(苹果xs多少重量)

  • 电脑掩码怎么查(怎么查电脑子网掩码)

    电脑掩码怎么查(怎么查电脑子网掩码)

  • 探探怎么删除学生认证(探探怎么删除资料)

    探探怎么删除学生认证(探探怎么删除资料)

  • 为什么qq扩列资料失败(为什么qq扩列资料保存不了2022)

    为什么qq扩列资料失败(为什么qq扩列资料保存不了2022)

  • 抖音里保存的视频在哪里(抖音里保存的视频怎么去水印)

    抖音里保存的视频在哪里(抖音里保存的视频怎么去水印)

  • ipad自拍是反的怎么办(ipad自拍反向能改吗)

    ipad自拍是反的怎么办(ipad自拍反向能改吗)

  • oppoa9视频怎么美颜(oppo手机的视频美颜功能在哪里a9)

    oppoa9视频怎么美颜(oppo手机的视频美颜功能在哪里a9)

  • 教你利用Python查看ZIP或RAR文件密码(如何用python查数据)

    教你利用Python查看ZIP或RAR文件密码(如何用python查数据)

  • 企业网管误区系统安全防护措施有哪些?(企业网管出路)

    企业网管误区系统安全防护措施有哪些?(企业网管出路)

  • 外资企业能投资国企么
  • 不能抵扣进项税额的发票类型
  • 小规模纳税人的起征点是多少
  • 个税系统设置在哪里
  • 进项票错了但是销项票开出去了怎么办
  • 财产损失怎么办
  • 自产产品销售增值税
  • 个体户要申报哪些报表
  • 固定资产对外投资的税务处理
  • 公司设备没开票维修时配件能开票吗?
  • 报税时利润表没写怎么办
  • 来料加工的账务处理
  • 带息的应付票据计算的利息计入财务费用
  • 预计负债估计退出怎么算
  • win10消费者版本和商业版本有什么区别
  • 原材料和加工费能分着开票么
  • 购入黄金产品怎么入账
  • 电脑取消共享文件夹
  • PHP:session_register()的用法_Session函数
  • 债券投资账务处理例题
  • 当月报废的固定资产
  • 出口商品要交增值税吗
  • php中session使用
  • 私营独资企业交个税怎么交
  • 十大网页游戏
  • yolov5m
  • php-xml
  • yolov4tiny网络结构
  • 免费开源的图片app
  • thinkphp自动加载类
  • 通行发票可以抵增值税吗
  • 工会经费怎么上缴
  • 存货毁损计入什么科目
  • 企业的日常活动都有哪些
  • 增值税不超过10万免征
  • 怎样计算负债率
  • 公司认缴的钱可以动吗
  • SQLite3 API 编程手册
  • 营业利润是税前利润吗
  • 长期股权投资的核算方法
  • 预收货款开票怎么做账
  • 什么情况下增值税进项税额转出
  • 季度利润表中的利润总额
  • 预付账款的会计编码是多少?
  • 待抵扣进项税额分录
  • 实发工资有小数点是如何解决的
  • 电商公司不用交税吗
  • 记账凭证审核的内容
  • 长期待摊费用的最新账务处理
  • 公益性捐赠全额扣除,企业所得税
  • 公司软件使用制度
  • 免征的附加税怎么做账
  • 未确认融资费用怎么算
  • 独立法人资格是独立核算
  • mysql常用功能
  • 繁体系统安装简体软件
  • Windows 7 64位系统手动添加Editplus到鼠标右键的方法
  • centos查找目录命令
  • windows重置网卡cmd
  • linux滚动更新是什么
  • linux检查文件内容
  • shell脚本转换为exe
  • js全局方法
  • 无线adb调试开关下载
  • 你miu的
  • shell自定义函数以及使用
  • unity 3d online document
  • jquery操作select元素和option的实例代码
  • c# unity 教程
  • bud3d跑酷
  • javascript中数组的方法
  • ui课程入门
  • 用javascript
  • js倒计时秒杀
  • python中json的用法
  • 国家税务局内蒙古税务
  • 什么是12366
  • 广东省电子税务局官网登录入口
  • 南京税务服务热线
  • 税务筹划怎么样
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设