2019年06月 归档

基于Array的JavaScript表达式执行函数实现

最近项目涉及到表达式,简单封装了一些功能,如表达式解析、执行等,解析不用说,网上很多表达式字符串解析为词法树的库,我们也不必再造轮子(我用jsep进行解析),这里说下执行表达式的方式。

默认字符串解析抽象词法树按理说是可以直接解析执行的,只不过通常此类词法树要表达的内容过于多,数据的存储也过于庞大,于是我们结合自己业务对关键数据做了抽象,比如

查看更多...

让input maxlength区分中英文

经常有需求,在限制文本框输入长度的时候,区分中英文,如:中文(全角符号类似)占两个字节,英文则占一个,最近审查代码,发现项目上存在类似需求,组内同学实现了网上经常提到的方案,输入后替换,由于监听的是input事件,导致任何越界输入都会出现闪烁的情况,不同于原生效果。

回忆到以前曾经用keydown结合其他事件实现了一版,晚上没事,就尝试重新实现了一下,由于目前项目不考虑非webkit内核浏览器,只在chrome下简单测试了下,有兼容性问题欢迎评论告知

查看更多...