浅谈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 相关文章推荐
FormValid0.5版本发布,带ajax自定义验证例子
Aug 17 Javascript
判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
Feb 18 Javascript
JS URL传中文参数引发的乱码问题
Sep 02 Javascript
基于jquery的textarea发布框限制文字字数输入(添加中文识别)
Feb 16 Javascript
js 输出内容到新窗口具体实现代码
May 31 Javascript
jQuery获得内容和属性方法及示例
Dec 02 Javascript
对之前写的jquery分页做下升级
Jun 19 Javascript
最实用的jQuery分页插件
Oct 09 Javascript
ES6正则表达式的一些新功能总结
May 09 Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
Jul 26 Javascript
浏览器事件循环与vue nextTicket的实现
Apr 16 Javascript
解决Can't find variable: SockJS vue项目的问题
Sep 22 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
php array_unique之后json_encode需要注意
2011/01/02 PHP
php学习笔记 数组遍历实现代码
2011/06/09 PHP
php简单实现快速排序的方法
2015/04/04 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
2017/02/23 PHP
详解PHP中mb_strpos的使用
2018/02/04 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
2020/04/26 PHP
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
JS冒泡事件的快速解决方法
2013/12/16 Javascript
JS通过Cookie判断页面是否为首次打开
2016/02/05 Javascript
基于JavaScript实现轮播图代码
2016/07/14 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
react-native ListView下拉刷新上拉加载实现代码
2017/08/03 Javascript
移动端网页开发调试神器Eruda的介绍与使用技巧
2017/10/30 Javascript
解决vue-cli + webpack 新建项目出错的问题
2018/03/20 Javascript
vue最简单的前后端交互示例详解
2018/10/11 Javascript
Vue使用虚拟dom进行渲染view的方法
2019/12/26 Javascript
Vue项目页面跳转时浏览器窗口上方显示进度条功能
2020/03/26 Javascript
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
2020/08/06 Javascript
使用Python中PDB模块中的命令来调试Python代码的教程
2015/03/30 Python
使用Python正则表达式操作文本数据的方法
2019/05/14 Python
Python Pandas数据结构简单介绍
2019/07/03 Python
关于pycharm中pip版本10.0无法使用的解决办法
2019/10/10 Python
TensorFlow学习之分布式的TensorFlow运行环境
2020/02/05 Python
html5 web本地存储将取代我们的cookie
2012/12/26 HTML / CSS
Free People中国官网:波西米亚风格女装服饰
2016/08/30 全球购物
英国在线汽车和面包车零件商店:Car Parts 4 Less
2018/08/15 全球购物
澳大利亚领先的折扣药房:Chemist Direct(有中文站)
2018/11/24 全球购物
J2EE包括哪些技术
2016/11/25 面试题
机电专业体育教师求职信
2013/09/21 职场文书
小学运动会广播稿200字(十二篇)
2014/01/14 职场文书
博士毕业生自我鉴定范文
2014/04/13 职场文书
大学生年度个人总结
2015/02/15 职场文书
《珍珠鸟》教学反思
2016/02/16 职场文书
2019年妇科护士的自我鉴定(3篇)
2019/09/26 职场文书
Python机器学习之基础概述
2021/05/19 Python
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
2022/05/25 SQL Server