js点点滴滴(一)
1.break和continue搭配标签使用
以前只知道break能够跳出循环,continue是结束本次循环,其实,break和continue还有一种不同的使用方法:搭配标签使用,即break 标签名;/continue 标签名;
先来写一个结束本次循环的demo
var arr = new Array(1,2,3,45,50,60,70); for (var i = 0; i< arr.length;i++) { if(arr[i] > 50){ console.log('数组中第一个大于50的数字是' + arr[i]); break; } } /*这个代码的作用就是打印出数组中第一个大于50的数字*/
同样,我们可以用break 标签名;的方法来实现
var arr = new Array(1,2,3,45,50,60,70); myloop: for (var i = 0; i< arr.length;i++) { if(arr[i] > 50){ console.log('数组中第一个大于50的数字是' + arr[i]); break myloop; } } /*效果和上段代码一样*/
break和continue都适用此种适用方法.
2.空语句的使用
实际使用中,空语句几乎是没有意义的,但是,有些情况下却很有作用,比如创建一个空循环体的循环
var arr = [1,2,3,4,5,6,7,8,9]; for(var i = 0;i<arr.length;arr[i++] = 0); console.log(arr); //[0,0,0,0,0,0,0,0,0] /*如此便将数组arr中的所有元素都变为了0*/
3.数组的方法
unshift(参数) 在数组头部添加元素
push(参数) 在数组尾部添加元素
shift() 去除数组头部的元素
pop() 去除数组尾部的元素
splice(n1,n2,n3....) 从数组的第n1个位置(包括n1)开始的n2个元素删除,并从n1位置开始,添加第三个参数后的所有参数为数组的新元素,此方法中,第三个参数以后可选,第二个参数如果不写,会直接从n1位置删除到最后,但是在IE中,如果第二个参数不写,则不能正确执行,不会删除任何元素.
slice(n1,n2) 从数组的n1位置至n2位置(不包括n2),截取出来,如果第二个参数省略,则从n1位置截取到最后,两个参数也可以为负数,当为负数时,代表从后向前数第n个
reverse() 可以将数组所有元素反转
join() 可以将数组的所有元素用指定的字符串拼接成一个新的字符串,如果有参数,则用参数将数组的所有元素
4.快速获取参数的方法
function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; }
5.手机号码验证,并实时做划分(里面有些对象直接用的是我写的项目里的,仅参考)
function set_text_value_position(spos) { //强制光标在最后面 var tobj = $('#phone').get(0); if(spos < 0){ spos = tobj.value.length; } if(tobj.setSelectionRange) { //兼容火狐,谷歌 setTimeout(function() { tobj.setSelectionRange(spos, spos); tobj.focus(); }, 0); } else if(tobj.createTextRange) { //兼容IE var rng = tobj.createTextRange(); rng.move('character', spos); rng.select(); } } $('.phone').on('input propertychange',function () { if ($(this).val().length >= 14) { $(this).val($(this).val().slice(0,13)); return false; } var _val = $(this).val(), _val = _val.replace(/\D/g,''), _valArr = _val.split(''), $val = ''; for(var i = 0; i <= _valArr.length - 1; i++) { $val += ((i == 3 || i == 7) ? '-' : '') + _valArr[i]; } $(this).val($val); set_text_value_position(-1); });