美文网首页
js的小技巧

js的小技巧

作者: benbensheng | 来源:发表于2019-04-04 10:24 被阅读0次

1.使用对象为函数参数,这时候可以传入多个参数

function ben(arg){
    var name=arg.name;
    var age=arg.age;
    var sex=arg.sex;
    console.log(arguments);
}
var person={
   "name":"ben",
   "age":10,
   "sex":"men"
}
ben(person);

2.使用函数的arguments来确定函数参数的个数

function ben(name,age){
    if(arguments.length!=2){
        console.log("参数为2个")
    }
    console.log(arguments);
}
ben("ben",12,4);
ben("ben",12);

应用:传入参数个数不同,函数的结果不同

//传入参数name age打印出name age
//传入参数name age sex打印出name age sex
function ben(name,age,sex){
    if(arguments.length==2){
        var age=age;
        var sex="";
    }else if(arguments.length==3){
        var age=age;
        var sex=sex;
    }else{
        console.log("参数错误");
        return;
    }
    console.log(name+age+sex);
}
ben("ben",12,"men");
ben("ben",12);

3. callback的调用陷入循环

function ben(callback){
    var a=[1,2,3,4,5,6];
    for(var i=0;i<a.length;i++){
        callback(a[i]);
    }
}
ben(function(a){
    console.log(a);
    console.log("循环");
})
/*
 1
循环
2
循环
3
循环
4
循环
5
循环
6
循环
 */
 //决解办法,将数据push进数组,统一返回
 function ben(callback){
    var result =[];
    var a=[1,2,3,4,5,6];
    for(var i=0;i<a.length;i++){
        result.push(a[i]);
    }
    callback(result);
}
ben(function(result){
    console.log(result);
    console.log("循环");
})

4.new Date()的时间格式化

写入Date的原型
Date.prototype.format = function(fmt) { 
          var o = { 
            "M+" : this.getMonth()+1,                 //月份 
            "d+" : this.getDate(),                    //日 
            "h+" : this.getHours(),                   //小时 
            "m+" : this.getMinutes(),                 //分 
            "s+" : this.getSeconds(),                 //秒 
            "q+" : Math.floor((this.getMonth()+3)/3), //季度 
            "S"  : this.getMilliseconds()             //毫秒 
          }; 
          if(/(y+)/.test(fmt)) {
            fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
            }
          for(var k in o) {
            if(new RegExp("("+ k +")").test(fmt)){
             fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
              }
            }
          return fmt; 
        }
调用:
var datetime = new Date();  //实例化
var formatDate=datetime.format("yyyy-MM-dd hh:mm:ss:S")
或者直接
var formatDate = (new Date() ).format("yyyy-MM-dd hh:mm:ss:S")

5. 使用for..in..遍历对象

var arr={
"a":a,
"b":b,
"c":c
};
for (var i in arr){
        console.log(i,":",arr[i]);
}

相关文章

  • js的小技巧

    1.使用对象为函数参数,这时候可以传入多个参数 2.使用函数的arguments来确定函数参数的个数 应用:传入参...

  • js 小技巧

    #23 - 转换数值的快速方法 将字符串转换为数字是非常常见的。最简单和最快的方式来实现,将使用+(加)算法。 你...

  • JS小技巧

    Alert() 切断加载;innerHTML :获取双闭合标签里面的内容。(识别标签)innerHTML :获取双...

  • JS: 小技巧

    1,强制转换成 boolean 值: !!(变量) 有时候变量虽然会被判断为真假,但是两次取反之后,会转换为真正的...

  • js小技巧

    1. 获取数组中的最大值 2. 获取数组中的最小值 3. 测量一个JavaScript代码块性能的技巧 4. 字符...

  • js小技巧

    1.!!来转换成boolean 有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,如果存在就返回t...

  • js小技巧

    1、随机字母数字字符串 2、随机颜色 3、清空一个数组 4、洗牌 5、字符串安全连接 6、双波浪线“~~”操作符 ...

  • JS小技巧

    ** 1、 生成随机颜色 ** **2、 原生js获取相关参数 ** **3、横竖屏刷新页面 ** 4、判断是否为...

  • js 小技巧

    1、取整同时转成数值型: console.log('10.567890' | 0);// 结果: 10con...

  • js小技巧

    在es5中换行写字符串的写法: es6就用反引号就可以了``

网友评论

      本文标题:js的小技巧

      本文链接:https://www.haomeiwen.com/subject/iinxiqtx.html