以某个string为值快速创建数组
var obj={info:'content'};var infofo=obj.info;console.log(obj.info); //contentconsole.log(infofo.split(';')); //['content'],用一个不存在的字符分割即可快速生成数组。
sort通过属性排序的用法
data.sort(desc('value'));function desc(property){return function(a,b){var value1 = a[property];var value2 = b[property];return value2 - value1;};}
new Date的getTime和setTime
new Date()返回的值直接做除法会自动转换类型new Date().getTime()var today=new Date().getTime()/1000;console.log(today);//1584338835.367var d=new Date();d.setTime(today*1000);console.log(d.getFullYear());//2020
对象的方法写法
var obj={'a':1,toString(){return 'abc'}}console.log(obj.toString());//'abc',方法不满足键值对写法也可以
查找字符串中是否存在某些值
/^0-9+$/.test(something);something.match(/\d+/);
小数点后四舍五入保留n位小数
function round(num,decimal) {return Math.round(num*Math.pow(10,decimal))/Math.pow(10,decimal);}var a = round(12.3456789,2)//结果a为numberES5.5+写法var num = 12.456789;var b = num.toFixed(2);//结果b为string
进制转换/科学计数法转换
parseFloat(3.7e17);//370000000000000000parseInt(3.7e17);//370000000000000000,解除科学计数法。*进制转换*十进制转为其他var a = 456;a.toString(2);//"111001000"456.toString(2);//SyntaxError-> (456).toString(2);//"111001000"456..toString(2);//"111001000"*进制转换*其他转为十进制parseInt(111001000,2);//456
Number()用法
Number(),//0 //(注意下边四个必须是数字类型,不能是字符串,字符串则为NaN) Number(undefined), //NaN Number(null), //0 Number(true), //1 Number(false),//0 Number('undefined'), //NaN Number('null'), //NaN Number('true'), //NaN Number('false'),//NaN //字符串 //1、空字符串、空格字符串 //2、内容纯数字->正常数字 //3、内容非数字->NaN(除了最下边的特殊情况) Number(''),//0 Number(' '),//0 Number('123'),//123 Number('45a'),//NaN //对象 //数组记法:arr.length<=1可以正常转,arr.length>1全部NaN //1、下边情况可以转数字 Number([]),//0 Number([' ']),//0 Number(['']),//0 Number([5]),//5 Number(['5']),//5 //2、String实例对象(下边的newString使用时会把参数转化成字符串,然后返回一个String的实例对象。如果参数不是字符串却有字母,会当变量使用,如new String(12a)会报错) Number(new String(123)),//123 Number(new String('45a')),//NaN Number(new String([Infinity])),//Infinity //3、其他对象全部NaN Number([1,2]),//NaN Number([,5]),//NaN Number({}),//NaN //1、无穷大和无穷小(Infinity,-Infinity) //2、科学计数法 //3、进制转换(只能用前缀,后缀会报错) //注意:八进制(前缀是0)在字符串里不是八进制数字 Number(Infinity),//Infinity Number(-Infinity),//-Infinity Number('Infinity'),//Infinity Number('-Infinity'),//-Infinity Number('3e2'),//300 3*10^2得来的 Number(3e2),//300 Number('0x10'),//16,0x是十六进制前缀,转换成十进制是16 Number(0x10),//16 Number('011'),//11,正常字符串转换 Number(011),//9,八进制 -> 十进制
apply、call、bind例子

obj.myFun.call(db,'成都','上海'); // 德玛 年龄 99 来自 成都去往上海obj.myFun.apply(db,['成都','上海']); // 德玛 年龄 99 来自 成都去往上海 obj.myFun.bind(db,'成都','上海')(); // 德玛 年龄 99 来自 成都去往上海obj.myFun.bind(db,['成都','上海'])(); // 德玛 年龄 99 来自 成都, 上海去往 undefined
Array.from
Array.from (obj, mapFn)
//将数组中布尔值为false的成员指为0Array.from([1, ,2,3,3], x => x || 0) //[1,0,2,3,3]//将一个类似数组的对象转为一个数组,并在原来的基础上乘以2倍let arrayLike = { '0': '2', '1': '4', '2': '5', length: 3 }Array.from(arrayLike, x => x*2) //[4,8,10]//将一个set对象转为数组,并在原来的基础上乘以2倍Array.from(new Set([1,2,3,4]), x => x*2) //[2,4,6,8]
Array.from ({length:n}, Fn)
Array.from({length:3}, () => 'jack') //["jack", "jack", "jack"]Array.from({length:3}, item => (item = {'name':'shao','age':18})) //[{'name':'shao','age':18}, {'name':'shao','age':18}, {'name':'shao','age':18}]Array.from({length: 2}, (v, i) => item = {index:i});//生成一个index从0到4的数组对象[{index: 0},{index: 1}]
Array.from(string)
Array.from('abc') //['a','b','c']