javascript实用方法总结

  本章没有深奥的讲解js一些底层原理,比如this指针、作用域、原型啦,涉及的都是一些有利于平时开发时简化代码,提高执行效率,或者说可以当做一种经验方法来使用,篇幅都不长,小步快跑的让你阅读完整篇文章,体验编程的快乐。

 获取两个区间之内随机数

复制代码 代码如下:


function getRandomNum(Min, Max){ // 获取两个区间之内随机数
    // @逆火狂飙  提出有可能第一个参数大于第二个参数,所以增加一下判断更可靠
    if (Min > Max)
    Max = [Min, Min = Max][0]; // 快速交换两个变量值
   
    var Range = Max - Min + 1;
    var Rand = Math.random();
    return Min + Math.floor(Rand * Range);
};

随机返回一个 正/负参数

复制代码 代码如下:


function getRandomXY(num){ // 随机返回一个 正/负参数
    num = new Number(num);
    if (Math.random() <= 0.5)
        num = -num;
    return num;
}

 setInterval()或setTimeOut()计时器函数传参

复制代码 代码如下:


var s = '我是参数';
function fn(args) {
    console.log(args);
}
var a = setInterval(fn(s),100);    // xxxxxx错误xxxxx
var b = setInterval(function(){    // 正确,用匿名函数调用被计时函数
    fn(s);
}, 100);

setInterval()或setTimeOut()计时器递归调用

复制代码 代码如下:


var s = true;
function fn2(a, b){        //  步骤三
    if (s) {
        clearInterval(a);
        clearInterval(b);
    }
};
function fn(a){     //  步骤二
    var b = setInterval(function(){
        fn2(a, b) // 传入两个计时器
    }, 200)
};
var a = setInterval(function(){      //  步骤一
    fn(a); // b代表计时器本身,可座位参数传递
}, 100);

字符串转换为数字

复制代码 代码如下:


// 无需 new Number(String)   也无需 Number(String) 只需字符串减去零即可
var str = '100';  // str: String
var num = str - 0;// num: Number

空值判断

复制代码 代码如下:


var s = '';  // 空字符串
if(!s)         // 空字符串默认转换为布尔false,可以直接写在判断语句里面
if(s != null) // 但是空字符串 != null
if(s != undefined) // 空字符串也 != undefined

IE浏览器parseInt()方法

复制代码 代码如下:


// 下面的转换在IE下为0,其他浏览器则为1,这跟IE浏览器解释数字的进制有关
var iNum = parseInt(01);
// 所以,兼容的写法为
var num = parseInt(new Number(01));

Firebug便捷调试js代码

复制代码 代码如下:


//Firebug内置一个console对象,提供内置方法,用来显示信息
/**
 * 1:console.log(),可以用来取代alert()或document.write(),支持占位符输出,字符(%s)、整数(%d或%i)、浮点数(%f)和对象(%o)。如:console.log("%d年%d月%d日",2011,3,26)
 * 2:如果信息太多,可以分组显示,用到的方法是console.group()和console.groupEnd()
 * 3:console.dir()可以显示一个对象所有的属性和方法
 * 4:console.dirxml()用来显示网页的某个节点(node)所包含的html/xml代码
 * 5:console.assert()断言,用来判断一个表达式或变量是否为真
 * 6:console.trace()用来追踪函数的调用轨迹
 * 7:console.time()和console.timeEnd(),用来显示代码的运行时间
 * 8:性能分析(Profiler)就是分析程序各个部分的运行时间,找出瓶颈所在,使用的方法是console.profile()....fn....console.profileEnd()
 */

 快速取当前时间毫秒数

复制代码 代码如下:


// t == 当前系统毫秒值,原因:+号运算符会,会调用Date的valueOf()方法。
var t = +new Date(); 

快速取小数整数位

复制代码 代码如下:


// x == 2,以下x值都为2,负数也可转换
var x = 2.00023 | 0;
// x = '2.00023' | 0;

两个变量值互换(不用中间量)

复制代码 代码如下:


var a = 1;
var b = 2;
a = [b, b=a][0]
alert(a+'_'+b)    // 结果 2_1,a和b的值已经互换。

 逻辑或'||'运算符

复制代码 代码如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgfxxj.html