今天看一篇文章,学到了很多,好记性不如烂笔头~
字符串转换为数字
var str = '111';
console.log(+str); // 111
console.log(str-0); // 111
console.log(typeof +str); // number
console.log(typeof (str-0)); // number
// 日期也可以
var data = +new Date(); // 1555584126215
数值向下取整
var a = ~~2.50; // 2
var a= 2.50>>0; // 2
var a= 2.50|0; // 2
Math.floor(2.50); // 2
字符串取整
var a = "2.50"|0; // 2
var a= "2.50"^0; // 2
parseInt(2.50); // 2
使用 && 替代单一的条件判断
// 可以这样
if(!ticket) {
getLogin();
}
// 也可以这样写
!ticket && getLogin();
// 或
ticket || getLogin();
通过闭包调用setTimeout
for(var i = 0; i < 10; i++) {
setTimeout(function(){
console.log(i); // 10 10 10 ...
},1000);
}
for(var i = 0; i < 10; i++) {
(function(i){
setTimeout(function(){
console.log(i); // 0 1 2 3 4 ...
},1000)
})(i);
}
时间日期格式转换函数
// 实现方法:在 Date 原型上添加方法
Date.prototype.format = function(format) {
var o = {
'M+': this.getMonth() + 1, //month
'd+': this.getDate(), //day
'h+': this.getHours(), //hour
'm+': this.getMinutes(), //minute
's+': this.getSeconds(), //second
'q+': Math.floor((this.getMonth() + 3) / 3), //quarter
'S': this.getMilliseconds() //millisecond
}
if (/(y+)/.test(format)) {
format = format.replace(
RegExp.$1,
(this.getFullYear() + '').substr(4 - RegExp.$1.length)
);
}
for (var k in o) {
if (new RegExp('(' + k + ')').test(format)) {
format = format.replace(
RegExp.$1,
RegExp.$1.length == 1 ?
o[k]: ('00' + o[k]).substr(('' + o[k]).length)
);
}
}
return format;
}
// 使用方法
var now = new Date();
var nowStr = now.format('yyyy-MM-dd hh:mm:ss');
var testDate = new Date();
var testStr = testDate.format('YYYY年MM月dd日hh小时mm分ss秒');
alert(testStr);
alert(new Date().format('yyyy年MM月dd日'));
alert(new Date().format('MM/dd/yyyy'));
alert(new Date().format('yyyyMMdd'));
alert(new Date().format('yyyy-MM-dd hh:mm:ss'));
格式化JSON
你之前可能使用过 JSON.stringify,但你是否知道它还可以用来给 JSON 添加缩进?
stringify() 方法可以接受两个额外的参数,一个是函数(形参为 replacer),用于过滤要显示的 JSON,另一个是空格个数(形参为 space)。
space 可以是一个整数,表示空格的个数,也可以是一个字符串(比如’ ’表示制表符),这样得到的 JSON 更容易阅读
console.log(JSON.stringify({ name: '惠丽', id: '123' }, null, ' '));
// Result:
// '{
// "name": '惠丽',
// "id":'123'
// }'
网友评论