码迷,mamicode.com
首页 > 编程语言 > 详细

Javascript一些实用技巧

时间:2016-07-06 17:59:03      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

1.利用NumberObj的toString(radix)方法获取随机数字字母字符串,radix是表示数字的基数,就是进制,如下所示

var getRndAlphaNumStr = (len) => {
    var rndStr = ‘‘;
    for (; rndStr.length < len; rndStr += Math.random().toString(36).substr(2));
    return rndStr.substr(0, len);
};
getRndAlphaNumStr(10)
"ugyjusoh2a"

2.禁止他人利用iframe形式加载你的网页,如下所示

function banIframeLoading(){
    (window.location !== window.top.location)&&(window.top.location=window.location);
}

3.浮点数取整,利用|0和~~位运算来做,性能相对parseInt要好些,如下所示

function getInteger(num){
    console.time(‘~~计时器‘);
    for(var i=0;i<num;i++){
        ~~Math.random();
    }
    console.timeEnd(‘~~计时器‘);

    console.time(‘|0计时器‘);
    for(var j=0;j<num;j++){
        Math.random()|0;
    }
    console.timeEnd(‘|0计时器‘);

    console.time(‘parseInt计时器‘);
    for(var k=0;k<num;k++){
        parseInt(Math.random());
    }
    console.timeEnd(‘parseInt计时器‘);
}
getInteger(10000000)
~~计时器: 2608.639ms
|0计时器: 2562.203ms
parseInt计时器: 5111.675ms

4.不借助第三变量实现两个值的交换,如下所示

function swap(a,b){
    a = [b,b=a][0];
    return [a,b];
}
console.log(swap(10,30));
[30, 10]

5.因为全局变量undefined在函数作用域中可以被重新赋值,导致某些情况下利用undefined作比较时发生错误,因此需要获取原始undefined值,如下所示

(function(){
    var undefined = 1;
    console.log(undefined);
})()
1
------------------- 使用 void 0 来获取原始undefined----------
(function(){
    console.log(!!void 0);
})()
false

5.利用Math.max方法求数组的最大值,如下所示

function max(arr){
    return Math.max.apply(null,arr);
}

6.数组随机洗牌

function arrSuffle(arr){
    return arr.sort(function(){
        return Math.random()-0.5;
    });
}
console.log([2,3,199,20,45]);

7.利用正则表达式获取指定的cookie

function getCookie(cKey){
    return document.cookie.match(new RegExp(‘(?:^|‘+‘\\s+|;+)‘+cKey+‘=([^;]*)‘,‘i‘))[1];
}

8.快速获取对象的属性

function getObjKeys(obj){
    var arr = [];
    for(arr[arr.length] in obj);
    return arr;
}

9.在前置括号的情况下,不会自动插入分号,如下所示

var a = 1
(a=1)
VM2329:3 Uncaught TypeError: 1 is not a function(…)

 

 

 

 

 

 

Javascript一些实用技巧

标签:

原文地址:http://www.cnblogs.com/zmxmumu/p/5647315.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!