浅谈js中变量初始化
我在js里面写了一个去除首尾空格及特定字符的函数。代码如下:
function trim(str, charlist) {
return str.replace(new RegExp('^[\\s'+charlist+']+|[\\s'+charlist+']+$', 'g'), '');
}
代码看上去没有什么问题,运行起来也没有错误。
直到今天,我在搜索栏里搜索“note3”的时候,才发现,地址栏里搜索的内容变成了“ote3”,而其他字母或者是数字开头则是正常的,搜索什么,地址栏里的内容就是什么。
调试过代码之后,将代码改为:
function trim(str, charlist) {
var charlist = charlist || "";
return str.replace(new RegExp('^[\\s'+charlist+']+|[\\s'+charlist+']+$', 'g'), '');
}
在函数中增加了对charlist的初始化。在次搜索“note3”,结果正确。
虽然js是弱类型语言,使用变量并不要求一定要初始化,运行的时候,代码会自动转换并赋值。但是这样做会引起一些意想不到的问题,因此,对所有使用到的变量进行初始化,是非常有必要的。
今天就先到这里了,希望小伙伴们能够喜欢。
相关文章
JavaScript正则表达式替换字符串中图片地址(img src)的方法
这篇文章主要介绍了JavaScript正则表达式替换字符串中图片地址(img src)的方法,结合实例形式分析了JS正则替换的常用技巧与注意事项,需要的朋友可以参考下2017-01-01
Invalid Host header问题该如何解决的几种方式
Invalid Host header是一个常见的错误信息,通常发生在Web应用程序中,下面这篇文章主要给大家介绍了关于Invalid Host header问题该如何解决的几种方式,需要的朋友可以参考下2024-09-09
javascript设计模式 – 命令模式原理与用法实例分析
这篇文章主要介绍了javascript设计模式 – 命令模式,结合实例形式分析了javascript命令模式相关概念、原理、用法及操作注意事项,需要的朋友可以参考下2020-04-04
JS中for,for...in,for...of和forEach的区别和用法实例
JS遍历数组(循环数组)的方式有多种,可以使用传统的for循环,也可以使用升级版的for in循环,还可以使用Array类型的forEach() 方法,这篇文章主要给大家介绍了关于JS中for、for...in、for...of和forEach的区别和用法的相关资料,需要的朋友可以参考下2021-11-11


最新评论