时间:2021-05-18
我在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是弱类型语言,使用变量并不要求一定要初始化,运行的时候,代码会自动转换并赋值。但是这样做会引起一些意想不到的问题,因此,对所有使用到的变量进行初始化,是非常有必要的。
今天就先到这里了,希望小伙伴们能够喜欢。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
规则1(无继承情况下):对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器证明代码
类的初始化 在初始化阶段,Java虚拟机执行类的初始化语句,为类的静态变量赋予初始值。 在程序中,静态变量的初始化有两种途径: 1.在静态变量的声明处进行
前言定义没有初始化式的变量时,系统有时候会帮我们初始化变量。系统如何初始化取决于变量的类型以及变量定义的位置。 内置类型变量是否自动初始化取决于变量定义的位置。
1.只能在构造函数初始化列表初始化的成员变量的类型?a.const成员变量b.引用类型的成员变量c.static不能在初始化列表中进行初始化d.类成员变
C语言可执行代码结构名称内容代码段可执行代码、字符串常量数据段已初始化全局变量、已初始化全局静态变量、局部静态变量、常量数据BSS段未初始化全局变量,未初始化全