javascript - 如果就一行代码 但是很多地方复用 这种情况怎么处理呢 封装成一个全局方法吗 还是直接写?~
问题描述
location.assign(’http://www.bing.com’);
假如就是一句跳页的代码 登陆或某某逻辑成功后都要执行的 需要封装成全局方法吗?就一句真的有必要吗?
或者说充分利用编辑器的全局替换等功能 还能提高点性能 虽然微乎其微~
问题解答
回答1:如果没有逻辑上的判断,就一个跳转地址,就放到常量吧,如果有业务的逻辑判断,就封装。
回答2:如果是单纯的跳转逻辑,那么不用封装成单独的方法,可以讲连接放在一个的常量文件中。因为你这里说了,就一句话逻辑,所以这里不会有逻辑变化,而可能变化的就是连接地址,为了统一管理,那么就放在单独的常量文件中去。
如果这个跳链过程有自己的逻辑判断,比如什么条件跳那个地址这样。那么就可以封装成方法,供其他地方调用。这样这块逻辑变化时只用修改一个地方。
所以是否封装,和封装什么,是根据可能变化的需求而定的
回答3:上个项目我是都直接写了,觉得并没有必要封装。而且能不能提高性能讲道理我是不确定的,我自己没比较过。
回答4:封装代码是为了减少代码的重复,对于一行代码,封装或者不封装都差不多,因为你封装了,引用它也要再写一段代码,代码量也没太大变化。
回答5:前提:有这么一段代码是很多地方都用到的,而且不存在很多每个地方个性化的改变
如果是我,我会放到一个地方,然后统一从一个地方调用(可以是全局,也可以是util之类),目的是为了:
减少以后可能会有的扩展的难度。万一以后发现需要加更多的东西,那么改起来方便
减少修改时的工作量。如果要改href,那么就不需要一个一个找去替换,减少出错的可能
便于debug。你可以准确的知道是从哪里跳转的,而不是很多地方都可能跳转。如果莫名其妙跳转,打断点就直接打到这一个地方,然后向上找就能找到问题所在。而不是需要打很多断点到不同的地方。
这种简单的逻辑,明显代码的方便简洁的作用远远大于代码的性能,所以我不会考虑性能的问题
相关文章:
1. python - nginx为什么不能反代图片?2. python3的各种库的官方文档中文版在哪儿可以找到3. mysql 获取时间函数unix_timestamp 问题?4. 求大神帮我看看是哪里写错了 感谢细心解答5. javascript - 小demo:请教怎么做出类似于水滴不断扩张的效果?6. thinkjs - 使用mysql搭建cms应该如何设计表?或怎样开始?7. php自学从哪里开始?8. macos - mac用VMware Fusion安装了centos7,我怎么把centos映射到本地,就像windows映射一个网络位置9. html5 - css3scale和rotate同时使用转换成matrix写法该如何转换?10. css - width设置为100%之后列表无法居中
