浅谈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打印网页指定区域的例子
May 03 Javascript
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
Dec 20 Javascript
jQuery scrollFix滚动定位插件
Apr 01 Javascript
JS实现屏蔽shift,Ctrl,alt等功能键的方法
Jun 01 Javascript
解析javascript图片懒加载与预加载的分析总结
Oct 27 Javascript
JS判断输入的字符串是否是数字的方法(正则表达式)
Nov 29 Javascript
Jquery删除css属性的简单方法
Dec 04 Javascript
JavaScript实现经典排序算法之插入排序
Dec 28 Javascript
利用node.js制作命令行工具方法教程(一)
Jun 22 Javascript
浅谈Node模块系统及其模式
Nov 17 Javascript
小程序点赞收藏功能的实现代码示例
Sep 07 Javascript
angular 数据绑定之[]和{{}}的区别
Sep 25 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 Pear 安装及使用
2009/03/19 PHP
PHP开发中的错误收集,不定期更新。
2011/02/03 PHP
PHP警告Cannot use a scalar value as an array的解决方法
2012/01/11 PHP
php图片的裁剪与缩放生成符合需求的缩略图
2013/01/11 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
2016/06/20 PHP
syntaxhighlighter 使用方法
2007/07/02 Javascript
使用新的消息弹出框blackbirdjs
2008/10/16 Javascript
JavaScript XML实现两级级联下拉列表
2008/11/10 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
利用Angularjs和bootstrap实现购物车功能
2016/08/31 Javascript
使用JavaScript判断用户输入的是否为正整数(两种方法)
2017/02/05 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
vue2.0 父组件给子组件传递数据的方法
2018/01/15 Javascript
vue.js,ajax渲染页面的实例
2018/02/11 Javascript
基于 Immutable.js 实现撤销重做功能的实例代码
2018/03/01 Javascript
详解可以用在VS Code中的正则表达式小技巧
2019/05/14 Javascript
elementUI 动态生成几行几列的方法示例
2019/07/11 Javascript
layui实现tab的添加拒绝重复的方法
2019/09/04 Javascript
Node.js控制台彩色输出的方法与原理实例详解
2019/12/01 Javascript
vue 使用lodash实现对象数组深拷贝操作
2020/09/10 Javascript
[49:15]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第二场 1月19日
2021/03/11 DOTA
详谈Python2.6和Python3.0中对除法操作的异同
2017/04/28 Python
使用Python制作表情包实现换脸功能
2019/07/19 Python
40个你可能不知道的Python技巧附代码
2020/01/29 Python
HTML5 video循环播放多个视频的方法步骤
2020/08/06 HTML / CSS
巴西电子产品购物网站:Saldão da Informática
2018/01/09 全球购物
Bose美国官网:购买Bose耳机和音箱
2019/03/10 全球购物
屈臣氏菲律宾官网:Watsons菲律宾
2020/06/30 全球购物
工厂保洁员岗位职责
2013/12/04 职场文书
美德好少年事迹材料
2014/01/19 职场文书
上课迟到检讨书
2014/02/19 职场文书
成品库仓管员岗位职责
2014/04/06 职场文书
2015年营销工作总结范文
2015/04/23 职场文书
法制主题班会教案
2015/08/13 职场文书
2016年小学生清明节广播稿
2015/12/17 职场文书
mysql数据插入覆盖和时间戳的问题及解决
2022/03/25 MySQL