今天看到的一些js的用法

以下是今天学习到的一些js语法,特整理出来。

1、 1 (10)["toString"]() === "10" 2 // true 

2、如何优雅的取整

1 var a = ~~2.33
2 var b =  2.33 | 0
3 var c = 2.33 >> 0
4 // a = 2
5 // b = 2
6 // c = 2

3、如何优雅的实现金钱格式化

正则表达式

1 var test1  = '1234567890'
2 var format  = test1.replace(/\B(?=(\d{3})+(?!\d))/g,  ',')
3 console.log(format)
4  
5 // 1,234,567,890

非正则实现

1 function formatCash( str ) {
2        return str.split('').reverse().reduce((prev, next, index) =>{
3             return((index % 3) ? next : ( next + ',')) + prev
4       })
5 }
6 console.log(formatCash('1234567890'))

4、逗号运算符 (C语言运算符)

1 var a = 0; 
2 var b = ( a++, 99);
3 //a = 1
4 //b = 99

5、不用Number、parseInt和parseFloat和方法把"1"字符串转换成数字

不准用强制类型转换,那么就想到了强大了隐式转换

1 var a = "1";
2 var b = +a;
3 console.log(typeof(b), b) // number  1

6、最短的代码实现数组去重  (es6)

1 [...new Set([1, '1', 2,1,1,3,4,'1','2'])]
2 //[1, "1", 2, 3, 4, "2"]

7、用最短的代码实现以个长度为m(6)且值都n(8)的数组;(es6)

1 Array(6).fill(8)

8、短路表达式

条件判断

 1 var a = b && 1
 2     //相当于
 3 if ( b ) {
 4   a = 1      
 5 } else {
 6   a = b  
 7 }
 8 
 9 
10 var c = d || 1
11     //相当于
12 if ( d ) {
13   c = d  
14 } else {
15   c = 1  
16 }

9、取出一个数组中的最大值和最小值

var num = [5, 15, 25, -20];
var max = Math.max.apply(Math, num);
var min = Math.min.apply(Math, num);
// max     25
// min    -20

猜你喜欢

转载自www.cnblogs.com/mxyr/p/9254792.html
今日推荐