浅谈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是弱类型语言,使用变量并不要求一定要初始化,运行的时候,代码会自动转换并赋值。但是这样做会引起一些意想不到的问题,因此,对所有使用到的变量进行初始化,是非常有必要的。
今天就先到这里了,希望小伙伴们能够喜欢。
相关推荐
-
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验证是否为数字,最简单的方法: 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+)
-
AngularJS初始化静态模板详解
AngularJS可以通过ng-app来自动初始化模块,也可以通过angular.bootstrap(document, [module])手动启动应用,不管用哪种方法,应用启动后,动态往dom树里面添加的dom元素,无法执行angular指令,即无法通过ng-model.ng-click给动态添加的dom元素绑定数据和事件,怎么办? 动态添加dom元素的场景非常常见,如点击某页面上修改用户资料的按钮,发送ajax请求去查询用户资料,然后通过模板引擎将事先写在页面里的静态模板编译成HTML字符串
-
JS验证URL函数 正则
这个url的正则表达式判断的JavaScript!比较全面的.它验证的情况包括IP,域名(domain),ftp,二级域名,域名中的文件,域名加上端口!用户名等等信息,貌似作者也是在网上找的,我从一个项目代码中扣出来的,是我见过的最强最全面的url验证方式!太猛了,贴在这里与大家分享,URL的验证实在是很频繁. function IsURL (str_url) { var strRegex = '^((https|http|ftp|rtsp|mms)?://)' + '?(([0-9a-z_!~
-
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;
-
jquery跟js初始化加载的多种方法及区别介绍
jquery和js初始化加载页面的区别: jquery:等待页面加载完数据,以及页面部分元素(不包括图片.视频), js:是页面全部加载完成才执行初始化加载. 1.jQuery 页面加载初始化的方法有3种 ,页面在加载的时候都会执行脚本, 第一种(比较常用): 复制代码 代码如下: $.function(){ alert("第一种方法"); }); 第二种: 复制代码 代码如下: $(document).ready(function(){ alert("第二种方法"
-
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 定义初始化数组函数
方法一.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验证表单大全
不错的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
-
js的onload事件及初始化按钮事件示例代码
大家常见的肯定都是<body onload=""> 这种用法.其实,不仅可以在body 上用它还支持多个HTML标签.用法如下: onload事件当一个页面或是一张图片加载完成时被触发. 所支持的HTML标签: <body>, <frame>, <frameset>, <iframe>, <img>, <link>, <script> 实例: 第一种方法 复制代码 代码如下: <BOD
-
jquery validate.js表单验证的基本用法入门
这里转载一篇前辈写的文章,在我自己的理解上修改了一下,仅作记录. 先贴一个国内某大公司的代码: 复制代码 代码如下: <script type="text/javascript"> function lang(key) { mylang = { 'ls_input_myb': '请输入您的账户', 'ls_myb_email': '漫游币账户为邮箱地址', 'ls_login_password': '请输入您的登录密码', 'ls_password_length': '密码
随机推荐
- AngularJS学习笔记之依赖注入详解
- 在Docker上安装配置Oracle教程
- Python中使用MELIAE分析程序内存占用实例
- ASP.NET实现用图片进度条显示投票结果
- asp.net实现在非MVC中使用Razor模板引擎的方法
- JavaScript 的方法重载效果
- 浅谈Java代理(jdk静态代理、动态代理和cglib动态代理)
- php版微信小店API二次开发及使用示例
- android实现定位与目的地的导航示例代码
- Nginx中泛域名配置的实例教程
- eclipse中自动生成构造函数的两种方法
- Android中利用NetworkInfo判断网络状态时出现空指针(NullPointerException)问题的解决方法
- SOHO一族的网络办公
- PHP面向对象五大原则之接口隔离原则(ISP)详解
- Java如何跳过https的ssl证书验证详解
- vue2 中二级路由高亮问题及配置方法
- package.json配置文件构成详解
- django 实现编写控制登录和访问权限控制的中间件方法
- spring boot添加新模块的方法教程
- 详解Nginx 对访问量的控制