5.javascript基础知识补充

日期和Math
//---------------题目-------------------------
1.获取2017-06-10格式的日期

function formatDate(dt){if(!dt){ dt = new Date(); }var year = dt.getFullYear(); var month = dt.getMonth() +1 ; var date = dt.getDate(); if(month < 10){ //强制类型转换 month = '0' + month; }if(date < 10){ //强制类型转换 date = '0' + date; } //强制类型转换 return year + '-' + month + '-' + date; }var dt = new Date(); var formatDate = formatDate(dt); console.log(formatDate);

2.获取随机数,要求是长度一致(一样长)的字符串格式
var random = Math.random(); random = random+'0000000000'; //后面加上10个零 random = random.slice(0,10); //从第一位开始到第10位结束 console.log(random);

3.写一个能遍历对象和数组的通用forEach函数
function forEach(obj,fn){ var key; if(obj instanceof Array){ //准备判断是不是数组 obj.forEach(function(item,index){ fn(index,item); }); }else{ //不是数组就是对象 for(key in obj){ if(obj.hasOwnProperty(key)){ fn(key,obj[key]); }} }}var arr = [1,2,3]; //注意,这里参数的顺序换了,为了和对象的遍历格式一致 forEach(arr,function(index,item){ console.log(index,item); }); // 0 1 ; 1 2 ; 2 3 var obj = {x:100,y:200}; forEach(obj,function(key,value){ console.log(key,value); //x 100 ; y 200 });

//---------------知识点------------------------
1.日期
Date.now(); //获取当前时间毫秒数 var dt = new Date(); dt.getTime(); //获取毫秒数 dt.getFullYear(); //年 dt.getMonth(); //月(0-11) dt.getDate(); //日(0-11) dt.getHours(); //小时(0-23) dt.getMinutes(); //分钟(0-59) dt.getSeconds(); //秒(0-59)

2.Math
获取随机数Math.random() 返回的是一个大于0小于1的一个小数,随时改变不会重复,清除缓存用

3.数组API
forEach 遍历所有元素
every 判断所有元素是否都符合条件
some 判断是否有至少一个元素符合条件
sort 排序
map 对元素重新组装,生成新数组
filter 过滤符合条件的元素
eg:1.forEach var arr = [1,2,3]; arr.forEach(function(item,index){ //遍历数组的所有元素 //item是元素的值index是元素的索引(位置) console.log(index,item); // 0 1 ; 1 2 ; 2 3 }); 2.every var arr = [1,2,3]; var result = arr.every(function(item,index){ //用来判断所有的数组元素,都满足一个条件 if(item <4 ){ return true; } }); console.log(result); //true3.some var arr = [1,2,3]; var result = arr.some(function(item,index){ //用来判断所有的数组元素,只要有一个满足条件即可 if(item <2){ return true; } }); console.log(result); //true4.sort var arr = [1,4,2,3,5]; var arr2 = arr.sort(function(a,b){ //从小到大排序 return a - b; //从大到小排序 //returnb - a; }); console.log(arr2); 5.map var arr = [1,2,3,4]; var arr2 = arr.map(function(item,index){ //将元素重新组装,并返回 return '' + item +'' }); console.log(arr2); 6.filter var arr = [1,2,3]; var arr2 = arr.filter(function(item,index){ //通过某一个条件过滤数组 if(item >= 2){ return true; } }); console.log(arr2); //2,3

【5.javascript基础知识补充】4.对象API
var obj = { x: 100, y: 200, z: 300}; var key; //key就是obj的一个属性名,这里key去的是 x y z for(key in obj){ //证明这个属性名字x y z 是obj原生的属性,而不是从原型中拿过来的属性 if(obj.hasOwnProperty(key)){ console.log(key,obj[key]); // x 100; y 200; z 300 } }

    推荐阅读