整理了一些javascript当中一些实用的技巧,说不定可以节省很多的开发时间,赶紧收藏吧!

五分制打分系统

/*五分制打分系统*/
function getRating(rating) {
    if(rating > 5 || rating < 0) throw new Error("数字不在范围内");
    return "★★★★★☆☆☆☆☆".substring(5 - rating, 10 - rating );
}
//调用方法及执行的结果
getRating(3);//结果:★★★☆☆

生成n个相同字符拼接成的字符串

/*生成index个相同的str字符串*/
function create_str(index,str) {
    return new Array(index + 1).join(str);
}
//调用方法及执行结果
create_str(2,"abc")//结果:abcabc

多行字符串

/*第一种    通过反斜杠处理换行*/
var str = "console.log(123)
    console.log(123)
    console.log(123)
    console.log(123)
    console.log(123)";
/*第二种	通过函数的方式*/
var str = (function () {
    /**
        console.log(123)
        console.log(123)
        console.log(123)
        console.log(123)
    **/
}).toString().split("**")[1];
/*第三种*/
var str = "console.log(123)" +
    "console.log(123)" +
    "console.log(123)" +
    "console.log(123)";

快速生成一个,值依次递增的数组

Array.apply(null, new Array(15)).map(function(item, index) {
	return index + 1;
});
//ES6语法
Array.from(Array(10), (v, i) => i);

劫持函数

window.alert = function(s) {
    if (confirm("是否要弹框框,内容是" + s + "?")) {
        alert(s);
    }
};

快速地将其他数据类型转换成number类型

console.log(typeof +"1");//number
console.log(typeof +new Date())//number

取整同时转成数值型

/*直接去除小数点后面的,不能四舍五入*/
("10.567890"|0)//10   number

获取随机码

Math.random().toString(16).substring(2); //14位随机码
Math.random().toString(36).substring(2); //11位随机码

获取数组当中的最大最小值

Math.min.apply(Math,[1,2,3,4,5,6])//获取最小值
Math.max.apply(Math,[1,2,3,4,5,6])//获取最小值

判断数组是否存在某一项

var arr = [1, 2, 3];
console.log(!!~arr.indexOf(2)); // 不存在的情况为:-1 => 0 => false

反转字符串

var s = 'hello';
s.split('').reverse().join('');// olleh

转载请注明出处!