浅谈js中变量初始化
我在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是弱类型语言,使用变量并不要求一定要初始化,运行的时候,代码会自动转换并赋值。但是这样做会引起一些意想不到的问题,因此,对所有使用到的变量进行初始化,是非常有必要的。
今天就先到这里了,希望小伙伴们能够喜欢。
相关推荐
-
jquery跟js初始化加载的多种方法及区别介绍
jquery和js初始化加载页面的区别: jquery:等待页面加载完数据,以及页面部分元素(不包括图片.视频), js:是页面全部加载完成才执行初始化加载. 1.jQuery 页面加载初始化的方法有3种 ,页面在加载的时候都会执行脚本, 第一种(比较常用): 复制代码 代码如下: $.function(){ alert("第一种方法"); }); 第二种: 复制代码 代码如下: $(document).ready(function(){ alert("第二种方法"
-
JS验证URL函数 正则
这个url的正则表达式判断的JavaScript!比较全面的.它验证的情况包括IP,域名(domain),ftp,二级域名,域名中的文件,域名加上端口!用户名等等信息,貌似作者也是在网上找的,我从一个项目代码中扣出来的,是我见过的最强最全面的url验证方式!太猛了,贴在这里与大家分享,URL的验证实在是很频繁. function IsURL (str_url) { var strRegex = '^((https|http|ftp|rtsp|mms)?://)' + '?(([0-9a-z_!~
-
js验证是否为数字的总结
js验证是否为数字,最简单的方法: isNaN函数的使用: function checknum() { if (isNaN(frm.num.value)) { alert("请输入数字"); frm.num.focus(); return false; } } 最完整最精确的方法:(正则表达式) 1) "^\\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\\d+)|(0+)
-
javascript利用初始化数据装配模版的实现代码
var list = [{id:1, name:"czone", age:21}, {id:2, name:'czonechan', age:21}]; var template ='<div id="p$id"><span class="name">$name</span><span class="age">$age</span></div>'; 实现一
-
javascript 手机号码正则表达式验证函数 原创
复制代码 代码如下: function checkMobile(){ var sMobile = document.mobileform.mobile.value if(!(/^1[3|4|5|8][0-9]\d{4,8}$/.test(sMobile))){ alert("不是完整的11位手机号或者正确的手机号前七位"); document.mobileform.mobile.focus(); return false;
-
AngularJS初始化静态模板详解
AngularJS可以通过ng-app来自动初始化模块,也可以通过angular.bootstrap(document, [module])手动启动应用,不管用哪种方法,应用启动后,动态往dom树里面添加的dom元素,无法执行angular指令,即无法通过ng-model.ng-click给动态添加的dom元素绑定数据和事件,怎么办? 动态添加dom元素的场景非常常见,如点击某页面上修改用户资料的按钮,发送ajax请求去查询用户资料,然后通过模板引擎将事先写在页面里的静态模板编译成HTML字符串
-
jquery validate.js表单验证的基本用法入门
这里转载一篇前辈写的文章,在我自己的理解上修改了一下,仅作记录. 先贴一个国内某大公司的代码: 复制代码 代码如下: <script type="text/javascript"> function lang(key) { mylang = { 'ls_input_myb': '请输入您的账户', 'ls_myb_email': '漫游币账户为邮箱地址', 'ls_login_password': '请输入您的登录密码', 'ls_password_length': '密码
-
js初始化验证实例详解
本文实例讲述了js初始化验证的方法.分享给大家供大家参考,具体如下: <script type="text/javascript"> var Book = function(isbn, title, author) { if(!this.checkIsbn(isbn)){ throw new Error('Book: Invalid ISBN.'); } this.isbn = isbn; this.title = title || 'No title specified'
-
js验证表单大全
不错的JS验证~~~~~~~~~~~~~~~~~~~~~~~~~ 用途:校验ip地址的格式 输入:strIP:ip地址 返回:如果通过验证返回true,否则返回false: */ function isIP(strIP) { if (isNull(strIP)) return false; var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正则表达式 if(re.test(strIP)) { if( RegExp.$1 <256 && R
-
javascript 定义初始化数组函数
方法一.js数组的定义与初始化 定义一维数组 方法1: var _TheArray = new Array();//定义 _TheArray[0]="1"; _TheArray[1]="2"; _TheArray[2]="3"; //初始化 方法2: var _TheArray = new Array("1","2","3");//直接定义并初始化 定义二维数组 方法1 var _The
-
js的onload事件及初始化按钮事件示例代码
大家常见的肯定都是<body onload=""> 这种用法.其实,不仅可以在body 上用它还支持多个HTML标签.用法如下: onload事件当一个页面或是一张图片加载完成时被触发. 所支持的HTML标签: <body>, <frame>, <frameset>, <iframe>, <img>, <link>, <script> 实例: 第一种方法 复制代码 代码如下: <BOD
随机推荐
- vbs 列出该目录下所有文件和文件夹的类型,大小,和所有者
- 在Ruby on Rails上使用Redis Store的方法
- 非主流提供的个性另类图片
- Java实现纪元秒和本地日期时间互换的方法【经典实例】
- Oracle数据库的备份与恢复
- JavaScript中通过prototype属性共享属性和方法的技巧实例
- PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
- javascript 获取链接文件地址中第一个斜线内的正则表达式
- c++图像处理:24位真彩图颜色变换实例
- C#多线程ThreadPool线程池详解
- php实现加减法验证码代码
- 一个PHP的远程图片抓取函数分享
- 解析Python中while true的使用
- 用javascript实现记录来宾姓名的代码
- node.js [superAgent] 请求使用示例
- linux系统sudo命令详解
- 解析wprintf 中使用%I64d格式化输出LONGLONG的详细介绍
- 中文域名狂热未减 市场价值无限攀升
- Java IO流相关知识代码解析
- 基于JavaScript中标识符的命名规则介绍