工作中常用到的js小技巧

1、如何优雅的取随机字符窜

Math.random().toString(16).substring(2) //13位

Math.random().toString(36).substring(2) //11位

2、如何优雅的取整

var a = ~~2.33; //2

var b = 2.33|0; //2

var c = 2.33>>0; //2

3、如何用正则优雅的实现金钱格式化:1234567890 --> 1,234,567,890

正则写法:reg = /\B(?=(\d{3})+(?!\d))/g

4、如何最佳让两个整数交换数值

var a = 1;

var b = 2;

a^=b;

b^=a;

a^=b;

//a = 2, b = 1

5、最短的代码实现数组去重(ES6版本才有的数据结构Set)

newSet([1,"1",2,1,1,3]);

6、取数组中的最大值/最小值

var s = [1,2,3,4,5,6,7,8];

var max = Math.max.apply(Math,s);

var max = Math.min.apply(Math,s);

7、arguments对象

在函数代码中,使用特殊对象 arguments,开发者无需明确指出参数名,就能访问它们。例如,在函数 sayHi() 中,第一个参数是 message。用 arguments[0] 也可以访问这个值,即第一个参数的值(第一个参数位于位置 0,第二个参数位于位置 1,依此类推)。

因此,无需明确命名参数,就可以重写函数:

function name(){

return arguments[0];//获取参数的个数用arguments.length

}

console.log(name("刘德华")); //输出"刘德华"

8、Function构造函数接受的参数中,第一个是要传入的参数名,第二个是函数内的代码

这种方式可以根据传入字符串内容来创建一个函数

var add = new Function("a","a = a+10;return a;");

console.log(add(123)); //输出:133

你可能感兴趣的:(工作中常用到的js小技巧)