浅谈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 相关文章推荐
取得传值的函数
Oct 27 Javascript
jQuery 源码分析笔记(6) jQuery.data
Jun 08 Javascript
ASP.NET jQuery 实例1(在TextBox里面创建一个默认提示)
Jan 13 Javascript
JavaScript中“基本类型”之争小结
Jan 03 Javascript
javascript if条件判断方法小结
May 17 Javascript
JavaScript设计模式之装饰者模式介绍
Dec 28 Javascript
简述JavaScript对传统文档对象模型的支持
Jun 16 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
Aug 20 Javascript
webpack4+react多页面架构的实现
Oct 25 Javascript
webpack打包html里面img后src为“[object Module]”问题
Dec 22 Javascript
vue+element table表格实现动态列筛选的示例代码
Jan 14 Vue.js
JS异步堆栈追踪之为什么await胜过Promise
Apr 28 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 nl2br函数 将换行字符转成 <br>
2009/08/21 PHP
PHP pathinfo()获得文件的路径、名称等信息说明
2011/09/13 PHP
基础的WordPress插件制作教程
2015/11/24 PHP
php数据库操作model类(使用__call方法)
2016/11/16 PHP
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
javascript中关于break,continue的特殊用法与介绍
2012/05/24 Javascript
增强用户体验友好性之jquery easyui window 窗口关闭时的提示
2012/06/22 Javascript
JS中数组Array的用法示例介绍
2014/02/20 Javascript
JavaScript判断是否为数字的4种方法及效率比较
2015/04/01 Javascript
JS中this上下文对象使用方式
2016/10/09 Javascript
angularJS的radio实现单项二选一的使用方法
2018/02/28 Javascript
JS实现监控微信小程序的原理
2018/06/15 Javascript
angular4+百分比进度显示插件用法示例
2019/05/05 Javascript
Vue 列表上下过渡效果的实例代码
2019/06/25 Javascript
解决Idea、WebStorm下使用Vue cli脚手架项目无法使用Webpack别名的问题
2019/10/11 Javascript
微信小程序 scroll-view 水平滚动实现过程解析
2019/10/12 Javascript
vue ssr服务端渲染(小白解惑)
2019/11/10 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
2020/02/01 Javascript
python中的sort方法使用详解
2014/07/25 Python
python实现批量改文件名称的方法
2015/05/25 Python
在Linux下使用Python的matplotlib绘制数据图的教程
2015/06/11 Python
python的pdb调试命令的命令整理及实例
2017/07/12 Python
解析Python中的eval()、exec()及其相关函数
2017/12/20 Python
使用PyCharm创建Django项目及基本配置详解
2018/10/24 Python
python配置grpc环境
2019/01/01 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
2020/07/02 Python
在阿尔卑斯山或希腊度过快乐假期:Alpine Elements
2019/12/28 全球购物
西班牙在线药店:DosFarma
2020/03/28 全球购物
年度考核自我评价
2014/01/25 职场文书
学习演讲稿范文
2014/05/10 职场文书
给公司的建议书范文
2014/05/13 职场文书
对外汉语专业大学生职业生涯规划范文
2014/09/13 职场文书
农村党支部书记司法四风问题对照检查材料
2014/09/26 职场文书
乡镇干部个人整改措施思想汇报
2014/10/10 职场文书
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android
JavaScript中的LHS和RHS分析详情
2022/04/06 Javascript