浅谈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 相关文章推荐
一起来写段JS drag拖动代码
Dec 09 Javascript
Extjs TimeField 显示正常时间格式的代码
Jun 28 Javascript
jquery为页面增加快捷键示例
Jan 31 Javascript
node.js中的console.warn方法使用说明
Dec 09 Javascript
SpringMVC restful 注解之@RequestBody进行json与object转换
Dec 10 Javascript
详解JavaScript中localStorage使用要点
Jan 13 Javascript
jquery pagination分页插件使用详解(后台struts2)
Jan 22 Javascript
Node连接mysql数据库方法介绍
Feb 07 Javascript
swiper插件自定义切换箭头按钮
Dec 28 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
Jul 25 Javascript
详解Typescript 内置的模块导入兼容方式
May 31 Javascript
Element Carousel 走马灯的具体实现
Jul 26 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 中的面向对象编程:通向大型 PHP 工程的办法
2006/12/03 PHP
PHP+Mysql+jQuery实现动态展示信息
2011/10/08 PHP
thinkPHP删除前弹出确认框的简单实现方法
2016/05/16 PHP
php封装的图片(缩略图)处理类完整实例
2016/10/19 PHP
php实现的三个常用加密解密功能函数示例
2017/11/06 PHP
php 判断IP为有效IP地址的方法
2018/01/28 PHP
Add a Formatted Table to a Word Document
2007/06/15 Javascript
javascript取消文本选定的实现代码
2010/11/14 Javascript
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
深入document.write()与HTML4.01的非成对标签的详解
2013/05/08 Javascript
jQuery中extend函数详解
2015/02/13 Javascript
jQuery多级手风琴菜单实例讲解
2015/10/22 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
2017/07/17 jQuery
这应该是最详细的响应式系统讲解了
2019/07/22 Javascript
微信小程序实现侧边栏分类
2019/10/21 Javascript
python 运算符 供重载参考
2009/06/11 Python
在Linux系统上部署Apache+Python+Django+MySQL环境
2015/12/24 Python
Python函数式编程
2017/07/20 Python
Python列表推导式与生成器表达式用法示例
2018/02/08 Python
将Django项目部署到CentOs服务器中
2018/10/18 Python
Python寻找路径和查找文件路径的示例
2019/07/10 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
2019/07/24 Python
Python 实现向word(docx)中输出
2020/02/13 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
2020/03/17 Python
html5如何及时更新缓存文件(js、css或图片)
2013/06/24 HTML / CSS
俄罗斯花园种植材料批发和零售网上商店:Беккер
2019/07/22 全球购物
Gerry Weber德国官网:优质女性时装,德国最大的时装公司之一
2019/11/02 全球购物
测试时代收集的软件测试面试题
2013/09/25 面试题
解释下列WebService名词:WSDL、SOAP、UDDI
2012/06/22 面试题
《只有一个地球》教学反思
2014/02/14 职场文书
办理护照工作证明
2014/10/10 职场文书
2014年电话客服工作总结
2014/12/09 职场文书
工作时间证明
2015/06/15 职场文书
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python
将MySQL的表数据全量导入clichhouse库中
2022/03/21 MySQL