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);
});

 

posted @ 2017-05-17 14:47  上山打松鼠  阅读(129)  评论(0编辑  收藏  举报