浅谈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 得到当前页面高度和宽度的两个函数
Feb 21 Javascript
基于jquery实现放大镜效果
Aug 17 Javascript
基于HTML模板和JSON数据的JavaScript交互(移动端)
Apr 06 Javascript
AngularJS Ajax详解及示例代码
Aug 17 Javascript
Bootstrap实现基于carousel.js框架的轮播图效果
May 02 Javascript
值得分享和收藏的xmlplus组件学习教程
May 05 Javascript
分析JS单线程异步io回调的特性
Dec 01 Javascript
微信小程序 JS动态修改样式的实现方法
Dec 16 Javascript
JavaScript动态检测密码强度原理及实现方法详解
Jun 11 Javascript
如何在postman测试用例中实现断言过程解析
Jul 09 Javascript
vue实现滚动鼠标滚轮切换页面
Dec 13 Vue.js
使用Vue.js和MJML创建响应式电子邮件
Mar 23 Vue.js
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获取url的函数代码
2011/08/02 PHP
解析php中的fopen()函数用打开文件模式说明
2013/06/20 PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
2014/11/19 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
Web层改进II-用xmlhttp 无声息提交复杂表单
2007/01/22 Javascript
Ext grid 添加右击菜单
2009/11/26 Javascript
jQuery级联操作绑定事件实例
2014/09/02 Javascript
JavaScript实现重置表单(reset)的方法
2015/04/02 Javascript
浅析JavaScript声明变量
2015/12/21 Javascript
AngularJs ng-route路由详解及实例代码
2016/09/14 Javascript
使用jquery.qrcode.js生成二维码插件
2016/10/17 Javascript
移动端脚本框架Hammer.js
2016/12/15 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
2017/08/07 Javascript
浅谈angular4 ng-content 中隐藏的内容
2017/08/18 Javascript
对存在JavaScript隐式类型转换的四种情况的总结(必看篇)
2017/08/31 Javascript
Swiper自定义分页器使用详解
2017/12/28 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
2018/12/09 Javascript
解决layer.prompt无效的问题
2019/09/24 Javascript
[48:26]VGJ.S vs infamous Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
用C++封装MySQL的API的教程
2015/05/06 Python
Python实现简易Web爬虫详解
2018/01/03 Python
pandas表连接 索引上的合并方法
2018/06/08 Python
python 除法保留两位小数点的方法
2018/07/16 Python
使用Py2Exe for Python3创建自己的exe程序示例
2018/10/31 Python
浅析python 字典嵌套
2020/09/29 Python
html5中的一些标签学习(心得)
2016/10/18 HTML / CSS
美国Rue La La闪购网站:奢侈品、中高档品牌限时折扣
2016/10/19 全球购物
100%法国制造的游戏和玩具:Les Jouets Français
2021/03/02 全球购物
北京天润融通.net面试题笔试题
2012/02/20 面试题
信息专业个人的自我评价
2013/12/27 职场文书
双拥工作宣传标语
2014/06/26 职场文书
财务工作犯错检讨书
2014/10/07 职场文书
2019升学宴主持词范本5篇
2019/10/09 职场文书
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
2021/11/11 Python
《战锤40K:暗潮》跳票至9月 公布新宣传片
2022/04/03 其他游戏
详解Redis的三种常用的缓存读写策略步骤
2022/05/06 Redis