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

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

2、如何优雅的取整

 var a = ~~2.33
var b = 2.33 | 0
var c = 2.33 >> 0
// a = 2
// b = 2
// c = 2

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

正则表达式

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

非正则实现

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

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

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

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

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

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

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

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

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

 Array(6).fill(8)

8、短路表达式

条件判断

 var a = b && 1
//相当于
if ( b ) {
a = 1
} else {
a = b
} var c = d || 1
//相当于
if ( d ) {
c = d
} else {
c = 1
}

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
05-11 21:44