当前标签:JavaScript, 共22篇文章
JS this指向问题
  this问题,是很多前端同学初学JS的拦路虎,甚至一些两三年工作经验的同学对this的理解还是模棱两可或是有一些误解,一个常见的误区就是:this指向函数本身。本文尝试总结了一下this的使用,并在最后总结了this指向的确定规则。其实它很简单,你早该熟悉它了!
前端利用canvas给图片添加水印
  前两天给个人网站添加了一个小功能,就是在文章编辑上传图片的时候自动给图片加上水印。给网页图片添加水印是个常见的功能,也是互联网内容作者保护自己版权的方法之一。本文简单记录一下借助了canvas在前端实现图片添加水印的实现方法,canvas元素其实就是一个画布,我们可以很方便地绘制一些文字、线条、图形等,它也可以将一个img标签里渲染的图片画在画布上。
前端利用canvas给图片添加水印
tree-tool: 树结构操作工具库
之前写过一篇文章:《JS树结构操作:查找、遍历、筛选、树结构和列表结构相互转换》,文章详细讲述了树结构的各种操作原理等。因为问我树相关操作的朋友比较多,我将树结构操作的相关函数写得更加通用,并且作为一个小工具库放到了npm:tree-tool,需要的同学可以在项目中使用。本文是对tree-tool工具库用法的说明。
字符串压缩:使用正则表达式匹配相同连续字符
今天遇到个问题,需求是字符串压缩:给定输入为英文字母组成的字符串,对字符串进行压缩,'abbbcc'压缩为‘ab3c2’,即统计连续相同字符个数,将字符连续出现2次及以上的子串压缩为“字母+出现次数”的形式。
字符串替换:replace的使用
replace是JS字符串处理函数中最常用的函数之一,由于有正则表达式的支持,replace功能非常强大。同时,使用replace函数对于学习正则表达式非常重要,可以说,熟练掌握了replace函数,JS的正则就很简单了。
json对象命名风格转换——小驼峰命名和下划线命名相互转换
        目前前后端数据交互通常会使用json,如果前后端变量命名风格不一致,就会导致某一端要迁就另一端,这样在自己的代码中就会同时出现两种命名风格。为了避免这种尴尬,我们可以在接口获取数据和发送数据的地方做统一处理,将收到的数据统一转为前端的风格,而将发出的数据转为后端的风格。         这不,项目里后端用了下划线形式的命名风格,而前端用的是小驼峰格式,所以写了两个函数进行转换,主要用到了递归算法和字符串正则替换。
JS全组合实现
经常混迹思否,社区里偶有同学问组合的实现,可能是结合各种各样的实际问题,不过可以简化为组合问题,本文介绍一下JS求全组合的实现方法。