浅谈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 相关文章推荐
JavaScript 面向对象编程(1) 基础
May 18 Javascript
JS保存和删除cookie操作 判断cookie是否存在
Nov 13 Javascript
js的alert样式如何更改如背景颜色
Jan 22 Javascript
JavaScript弹出窗口方法汇总
Aug 12 Javascript
javascript实现切换td中的值
Dec 05 Javascript
js实现的二分查找算法实例
Jan 21 Javascript
jQuery中的基本选择器用法学习教程
Apr 14 Javascript
浅谈js键盘事件全面控制
Dec 01 Javascript
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
Dec 18 Javascript
微信小程序实战之顶部导航栏(选项卡)(1)
Jun 19 Javascript
JS实现微信摇一摇原理解析
Jul 22 Javascript
使用Node.js实现一个多人游戏服务器引擎
Mar 13 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无限分类使用concat如何实现
2015/11/05 PHP
php自定义扩展名获取函数示例
2016/12/12 PHP
实现laravel 插入操作日志到数据库的方法
2019/10/11 PHP
纯JS实现的批量图片预览加载功能
2011/08/14 Javascript
jQuery Ajax提交表单查询获得数据实例代码
2012/09/19 Javascript
jquery搜索框效果实现方法
2015/01/16 Javascript
jquery实现经典的淡入淡出选项卡效果代码
2015/09/22 Javascript
vue2.0+webpack环境的构造过程
2016/11/08 Javascript
JS中关于正则的巧妙操作
2017/08/31 Javascript
js实现Tab选项卡切换效果
2020/07/17 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
2019/05/10 Javascript
微信小程序实现圆形进度条动画
2020/11/18 Javascript
vuex入门最详细整理
2020/03/04 Javascript
vue Cli 环境删除与重装教程 - 版本文档
2020/09/11 Javascript
Python Tkinter GUI编程入门介绍
2015/03/10 Python
Python StringIO模块实现在内存缓冲区中读写数据
2015/04/08 Python
修改Python的pyxmpp2中的主循环使其提高性能
2015/04/24 Python
Linux下将Python的Django项目部署到Apache服务器
2015/12/24 Python
python3实现抓取网页资源的 N 种方法
2017/05/02 Python
Python多线程爬虫实战_爬取糗事百科段子的实例
2017/12/15 Python
python读取与写入csv格式文件的示例代码
2017/12/16 Python
解决python 输出是省略号的问题
2018/04/19 Python
Python实现的基于优先等级分配糖果问题算法示例
2018/04/25 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
2019/10/11 Python
如何基于Python获取图片的物理尺寸
2019/11/25 Python
Python 实现取多维数组第n维的前几位
2019/11/26 Python
python3获取文件中url内容并下载代码实例
2019/12/27 Python
Python3 shelve对象持久存储原理详解
2020/03/23 Python
Python使用20行代码实现微信聊天机器人
2020/06/05 Python
基于Python爬虫采集天气网实时信息
2020/06/05 Python
Python接口自动化测试框架运行原理及流程
2020/11/30 Python
埃弗顿足球俱乐部官方网上商店:Everton Direct
2018/01/13 全球购物
离婚协议书怎么写的
2014/12/14 职场文书
销售会议开幕词
2015/01/28 职场文书
车间统计员岗位职责
2015/04/14 职场文书
SQL Server使用T-SQL语句批处理
2022/05/20 SQL Server