浅谈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鼠标左右键 键盘值小结
Jun 11 Javascript
火狐下table中创建form导致两个table之间出现空白
Sep 02 Javascript
JS脚本defer的作用示例介绍
Jan 02 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
May 01 Javascript
AngularJS中的模块详解
Jan 29 Javascript
JavaScript中Number.MIN_VALUE属性的使用示例
Jun 04 Javascript
jQuery实现彩带延伸效果的网页加载条loading动画
Oct 29 Javascript
Bootstrap每天必学之简单入门
Nov 19 Javascript
JSON生成Form表单的方法示例
Nov 21 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
Feb 28 Javascript
VueJS 取得 URL 参数值的方法
Jul 19 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
Sep 01 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高级OOP技术演示
2009/08/27 PHP
php中addslashes函数与sql防注入
2014/11/17 PHP
php使用curl实现简单模拟提交表单功能
2017/05/15 PHP
Javascript-Mozilla和IE中的一个函数直接量的问题分析
2007/08/12 Javascript
JavaScript 学习小结(适合新手参考)
2009/07/30 Javascript
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
JQuery each()函数如何优化循环DOM结构的性能
2012/12/10 Javascript
jquery显示和隐藏div特效实例
2013/02/27 Javascript
详谈nodejs异步编程
2014/12/04 NodeJs
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
2016/09/23 Javascript
利用vue写todolist单页应用
2016/12/15 Javascript
BootStrap框架中的data-[ ]自定义属性理解(推荐)
2017/02/14 Javascript
javascript实现滑动解锁功能
2017/03/22 Javascript
详解JS获取HTML DOM元素的8种方法
2017/06/17 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
2017/08/25 Javascript
Vue加载json文件的方法简单示例
2019/01/28 Javascript
详解VScode编辑器vue环境搭建所遇问题解决方案
2019/04/26 Javascript
jquery实现吸顶导航效果
2020/01/08 jQuery
解决angular 使用原生拖拽页面卡顿及表单控件输入延迟问题
2020/04/21 Javascript
python3 http提交json参数并获取返回值的方法
2018/12/19 Python
Python正则表达式急速入门(小结)
2019/12/16 Python
Python异常原理及异常捕捉实现过程解析
2020/03/25 Python
Python TestSuite生成测试报告过程解析
2020/07/23 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
2020/11/02 Python
美国奢侈品在线团购网站:Gilt City
2017/11/16 全球购物
一组SQL面试题
2016/02/15 面试题
开学典礼感言
2014/02/16 职场文书
云南省召开党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
2014年人事专员工作总结
2014/11/19 职场文书
幼儿园教师节感谢信
2015/01/23 职场文书
交流会主持词
2015/07/02 职场文书
辞职信怎么写?
2019/05/21 职场文书
Ajax是什么?Ajax高级用法之Axios技术
2021/04/21 Javascript
Java输出Hello World完美过程解析
2021/06/13 Java/Android