浅谈js中变量初始化


Posted in Javascript onFebruary 03, 2015

我在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 相关文章推荐
基于jquery的点击链接插入链接内容的代码
Jul 31 Javascript
JavaScript加强之自定义event事件
Sep 21 Javascript
JQuery导航菜单选择特效
Apr 11 Javascript
AngularJS基础 ng-cloak 指令简单示例
Aug 01 Javascript
详解jQuery停止动画——stop()方法的使用
Dec 14 Javascript
JS设置随机出现2个数字的实例代码
Jul 19 Javascript
原生JS实现网页手机音乐播放器 歌词同步播放的示例
Feb 02 Javascript
React中使用UEditor百度富文本的方法
Aug 22 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
Apr 24 Javascript
微信小程序 网络通信实现详解
Jul 23 Javascript
使用Typescript和ES模块发布Node模块的方法
May 25 Javascript
Javascript文本框脚本实现方法解析
Oct 30 Javascript
jquery实现submit提交表单
Feb 03 #Javascript
jQuery实现跨域
Feb 03 #Javascript
JavaScript错误处理
Feb 03 #Javascript
js实现右下角提示框的方法
Feb 03 #Javascript
Node.js中child_process实现多进程
Feb 03 #Javascript
jquery实现增加删除行的方法
Feb 03 #Javascript
自定义函数实现IE7与IE8不兼容js中trim函数的问题
Feb 03 #Javascript
You might like
删除无限级目录与文件代码共享
2006/07/12 PHP
有关phpmailer的详细介绍及使用方法
2013/01/28 PHP
php返回相对时间(如:20分钟前,3天前)的方法
2015/04/14 PHP
php实现的mysqldb读写分离操作类示例
2017/02/07 PHP
在 IE 中调用 javascript 打开 Excel 表
2006/12/21 Javascript
JS 遮照层实现代码
2010/03/31 Javascript
使用js检测浏览器是否支持html5中的video标签的方法
2014/03/12 Javascript
Javascript连接多个数组不用concat来解决
2014/03/24 Javascript
javascript获取checkbox复选框获取选中的选项
2014/08/12 Javascript
让html页面不缓存js的实现方法
2014/10/31 Javascript
详解AngularJS的通信机制
2015/06/18 Javascript
JavaScript使用encodeURI()和decodeURI()获取字符串值的方法
2015/08/04 Javascript
浅谈javascript的Touch事件
2015/09/27 Javascript
整理AngularJS框架使用过程当中的一些性能优化要点
2016/03/05 Javascript
node.js中 stream使用教程
2016/08/28 Javascript
mvc 、bootstrap 结合分布式图简单实现分页
2016/10/10 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
vue的传参方式汇总和router使用技巧
2018/05/22 Javascript
用vscode开发vue应用的方法步骤
2019/05/06 Javascript
Vue scoped及deep使用方法解析
2020/08/01 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
2021/01/13 Vue.js
Python open()文件处理使用介绍
2014/11/30 Python
Python检测一个对象是否为字符串类的方法
2015/05/21 Python
Python中几个比较常见的名词解释
2015/07/04 Python
Python处理JSON数据并生成条形图
2016/08/05 Python
Atom的python插件和常用插件说明
2018/07/08 Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
2019/07/31 Python
python 将列表里的字典元素合并为一个字典实例
2020/09/01 Python
浅析Python 字符编码与文件处理
2020/09/24 Python
史上最详细的Python打包成exe文件教程
2021/01/17 Python
澳大利亚时尚前卫设计师珠宝在线:Amber Sceats
2017/10/04 全球购物
山海经纬软件测试笔试题和面试题
2013/04/02 面试题
2015年元旦活动总结
2014/05/09 职场文书
班级体育活动总结
2014/07/05 职场文书
毕业晚宴祝酒词
2015/08/11 职场文书
Python语言内置数据类型
2022/02/24 Python